From 9fa7bf0c6660988c77754a07a63cd142caeb0e77 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 21 Aug 2025 11:17:05 -0400 Subject: [PATCH 01/20] upgrade spec version --- fern/generators.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fern/generators.yml b/fern/generators.yml index e7a112b..98dd1c9 100644 --- a/fern/generators.yml +++ b/fern/generators.yml @@ -1,7 +1,7 @@ # yaml-language-server: $schema=https://schema.buildwithfern.dev/generators-yml.json api: specs: - - openapi: ../descriptions/2.11/api.intercom.io.yaml + - openapi: ../descriptions/2.14/api.intercom.io.yaml overrides: ./openapi-overrides.yml settings: title-as-schema-name: false From 15f7dc2557ff828f3ecd14b4172e14627e19707b Mon Sep 17 00:00:00 2001 From: jsklan Date: Fri, 29 Aug 2025 13:39:04 -0400 Subject: [PATCH 02/20] update overrides paths id params --- fern/.definition/__package__.yml | 6132 +++++++++++++++++ fern/.definition/admins.yml | 386 ++ fern/.definition/aiAgent.yml | 56 + fern/.definition/aiContent.yml | 773 +++ fern/.definition/aiContentSource.yml | 18 + fern/.definition/api.yml | 39 + fern/.definition/articles.yml | 2515 +++++++ fern/.definition/awayStatusReasons.yml | 37 + fern/.definition/calls.yml | 291 + fern/.definition/companies.yml | 1038 +++ fern/.definition/contacts.yml | 1608 +++++ fern/.definition/conversations.yml | 4030 +++++++++++ fern/.definition/customChannelEvents.yml | 226 + fern/.definition/customObjectInstances.yml | 278 + fern/.definition/dataAttributes.yml | 800 +++ fern/.definition/dataEvents.yml | 36 + fern/.definition/dataExport.yml | 216 + fern/.definition/events.yml | 300 + fern/.definition/export.yml | 186 + fern/.definition/helpCenter.yml | 770 +++ fern/.definition/helpCenters.yml | 56 + fern/.definition/helpCenters/collections.yml | 484 ++ fern/.definition/internalArticles.yml | 345 + fern/.definition/jobs.yml | 87 + fern/.definition/messages.yml | 293 + fern/.definition/news.yml | 378 + fern/.definition/news/feeds.yml | 73 + fern/.definition/news/items.yml | 178 + fern/.definition/notes.yml | 359 + fern/.definition/phoneCallRedirects.yml | 77 + fern/.definition/segments.yml | 136 + fern/.definition/subscriptionTypes.yml | 153 + fern/.definition/tags.yml | 697 ++ fern/.definition/teams.yml | 107 + fern/.definition/ticketStates.yml | 204 + fern/.definition/ticketTypeAttributes.yml | 120 + fern/.definition/ticketTypes.yml | 354 + fern/.definition/ticketTypes/attributes.yml | 141 + fern/.definition/tickets.yml | 2120 ++++++ fern/.definition/unstable/__package__.yml | 5843 ++++++++++++++++ fern/.definition/unstable/admins.yml | 360 + fern/.definition/unstable/aiAgent.yml | 56 + fern/.definition/unstable/aiContent.yml | 773 +++ fern/.definition/unstable/aiContentSource.yml | 29 + fern/.definition/unstable/articles.yml | 810 +++ .../unstable/awayStatusReasons.yml | 37 + fern/.definition/unstable/brands.yml | 123 + fern/.definition/unstable/calls.yml | 291 + fern/.definition/unstable/companies.yml | 901 +++ fern/.definition/unstable/contacts.yml | 1417 ++++ fern/.definition/unstable/conversations.yml | 3932 +++++++++++ .../unstable/customChannelEvents.yml | 214 + .../unstable/customObjectInstances.yml | 278 + fern/.definition/unstable/dataAttributes.yml | 527 ++ fern/.definition/unstable/dataEvents.yml | 331 + fern/.definition/unstable/dataExport.yml | 216 + fern/.definition/unstable/emails.yml | 132 + fern/.definition/unstable/export.yml | 102 + fern/.definition/unstable/helpCenter.yml | 1236 ++++ .../.definition/unstable/internalArticles.yml | 357 + fern/.definition/unstable/jobs.yml | 87 + fern/.definition/unstable/macros.yml | 1183 ++++ fern/.definition/unstable/messages.yml | 356 + fern/.definition/unstable/news.yml | 547 ++ fern/.definition/unstable/notes.yml | 316 + fern/.definition/unstable/segments.yml | 123 + .../unstable/subscriptionTypes.yml | 262 + fern/.definition/unstable/switch.yml | 37 + fern/.definition/unstable/tags.yml | 623 ++ fern/.definition/unstable/teams.yml | 94 + fern/.definition/unstable/ticketStates.yml | 204 + .../unstable/ticketTypeAttributes.yml | 238 + fern/.definition/unstable/ticketTypes.yml | 174 + fern/.definition/unstable/tickets.yml | 1965 ++++++ fern/.definition/unstable/visitors.yml | 365 + fern/.definition/visitors.yml | 435 ++ fern/openapi-overrides.yml | 72 +- 77 files changed, 51107 insertions(+), 36 deletions(-) create mode 100644 fern/.definition/__package__.yml create mode 100644 fern/.definition/admins.yml create mode 100644 fern/.definition/aiAgent.yml create mode 100644 fern/.definition/aiContent.yml create mode 100644 fern/.definition/aiContentSource.yml create mode 100644 fern/.definition/api.yml create mode 100644 fern/.definition/articles.yml create mode 100644 fern/.definition/awayStatusReasons.yml create mode 100644 fern/.definition/calls.yml create mode 100644 fern/.definition/companies.yml create mode 100644 fern/.definition/contacts.yml create mode 100644 fern/.definition/conversations.yml create mode 100644 fern/.definition/customChannelEvents.yml create mode 100644 fern/.definition/customObjectInstances.yml create mode 100644 fern/.definition/dataAttributes.yml create mode 100644 fern/.definition/dataEvents.yml create mode 100644 fern/.definition/dataExport.yml create mode 100644 fern/.definition/events.yml create mode 100644 fern/.definition/export.yml create mode 100644 fern/.definition/helpCenter.yml create mode 100644 fern/.definition/helpCenters.yml create mode 100644 fern/.definition/helpCenters/collections.yml create mode 100644 fern/.definition/internalArticles.yml create mode 100644 fern/.definition/jobs.yml create mode 100644 fern/.definition/messages.yml create mode 100644 fern/.definition/news.yml create mode 100644 fern/.definition/news/feeds.yml create mode 100644 fern/.definition/news/items.yml create mode 100644 fern/.definition/notes.yml create mode 100644 fern/.definition/phoneCallRedirects.yml create mode 100644 fern/.definition/segments.yml create mode 100644 fern/.definition/subscriptionTypes.yml create mode 100644 fern/.definition/tags.yml create mode 100644 fern/.definition/teams.yml create mode 100644 fern/.definition/ticketStates.yml create mode 100644 fern/.definition/ticketTypeAttributes.yml create mode 100644 fern/.definition/ticketTypes.yml create mode 100644 fern/.definition/ticketTypes/attributes.yml create mode 100644 fern/.definition/tickets.yml create mode 100644 fern/.definition/unstable/__package__.yml create mode 100644 fern/.definition/unstable/admins.yml create mode 100644 fern/.definition/unstable/aiAgent.yml create mode 100644 fern/.definition/unstable/aiContent.yml create mode 100644 fern/.definition/unstable/aiContentSource.yml create mode 100644 fern/.definition/unstable/articles.yml create mode 100644 fern/.definition/unstable/awayStatusReasons.yml create mode 100644 fern/.definition/unstable/brands.yml create mode 100644 fern/.definition/unstable/calls.yml create mode 100644 fern/.definition/unstable/companies.yml create mode 100644 fern/.definition/unstable/contacts.yml create mode 100644 fern/.definition/unstable/conversations.yml create mode 100644 fern/.definition/unstable/customChannelEvents.yml create mode 100644 fern/.definition/unstable/customObjectInstances.yml create mode 100644 fern/.definition/unstable/dataAttributes.yml create mode 100644 fern/.definition/unstable/dataEvents.yml create mode 100644 fern/.definition/unstable/dataExport.yml create mode 100644 fern/.definition/unstable/emails.yml create mode 100644 fern/.definition/unstable/export.yml create mode 100644 fern/.definition/unstable/helpCenter.yml create mode 100644 fern/.definition/unstable/internalArticles.yml create mode 100644 fern/.definition/unstable/jobs.yml create mode 100644 fern/.definition/unstable/macros.yml create mode 100644 fern/.definition/unstable/messages.yml create mode 100644 fern/.definition/unstable/news.yml create mode 100644 fern/.definition/unstable/notes.yml create mode 100644 fern/.definition/unstable/segments.yml create mode 100644 fern/.definition/unstable/subscriptionTypes.yml create mode 100644 fern/.definition/unstable/switch.yml create mode 100644 fern/.definition/unstable/tags.yml create mode 100644 fern/.definition/unstable/teams.yml create mode 100644 fern/.definition/unstable/ticketStates.yml create mode 100644 fern/.definition/unstable/ticketTypeAttributes.yml create mode 100644 fern/.definition/unstable/ticketTypes.yml create mode 100644 fern/.definition/unstable/tickets.yml create mode 100644 fern/.definition/unstable/visitors.yml create mode 100644 fern/.definition/visitors.yml diff --git a/fern/.definition/__package__.yml b/fern/.definition/__package__.yml new file mode 100644 index 0000000..bcffce6 --- /dev/null +++ b/fern/.definition/__package__.yml @@ -0,0 +1,6132 @@ +imports: + admins: admins.yml + aiContentSource: aiContentSource.yml + articles: articles.yml + calls: calls.yml + companies: companies.yml + contacts: contacts.yml + conversations: conversations.yml + customObjectInstances: customObjectInstances.yml + dataAttributes: dataAttributes.yml + dataEvents: dataEvents.yml + helpCenter: helpCenter.yml + internalArticles: internalArticles.yml + news: news.yml + notes: notes.yml + segments: segments.yml + subscriptionTypes: subscriptionTypes.yml + tags: tags.yml + teams: teams.yml + tickets: tickets.yml + unstableRoot: unstable/__package__.yml +types: + ActivityLog: + docs: Activities performed by Admins. + properties: + activity_description: + docs: A sentence or two describing the activity. + type: optional + activity_type: + type: optional + created_at: + docs: The time the activity was created. + type: optional + id: + docs: The id representing the activity. + type: optional + metadata: + type: optional + performed_by: + docs: Details about the Admin involved in the activity. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ActivityLogActivityType: + enum: + - admin_conversation_assignment_limit_change + - admin_ticket_assignment_limit_change + - admin_away_mode_change + - admin_deletion + - admin_deprovisioned + - admin_impersonation_end + - admin_impersonation_start + - admin_invite_change + - admin_invite_creation + - admin_invite_deletion + - admin_login_failure + - admin_login_success + - admin_logout + - admin_password_reset_request + - admin_password_reset_success + - admin_permission_change + - admin_provisioned + - admin_two_factor_auth_change + - admin_unauthorized_sign_in_method + - app_admin_join + - app_authentication_method_change + - app_data_deletion + - app_data_export + - app_google_sso_domain_change + - app_identity_verification_change + - app_name_change + - app_outbound_address_change + - app_package_installation + - app_package_token_regeneration + - app_package_uninstallation + - app_team_creation + - app_team_deletion + - app_team_membership_modification + - app_timezone_change + - app_webhook_creation + - app_webhook_deletion + - articles_in_messenger_enabled_change + - bulk_delete + - bulk_export + - campaign_deletion + - campaign_state_change + - conversation_part_deletion + - conversation_topic_change + - conversation_topic_creation + - conversation_topic_deletion + - help_center_settings_change + - inbound_conversations_change + - inbox_access_change + - message_deletion + - message_state_change + - messenger_look_and_feel_change + - messenger_search_required_change + - messenger_spaces_change + - office_hours_change + - role_change + - role_creation + - role_deletion + - ruleset_activation_title_preview + - ruleset_creation + - ruleset_deletion + - search_browse_enabled_change + - search_browse_required_change + - seat_change + - seat_revoke + - security_settings_change + - temporary_expectation_change + - upfront_email_collection_change + - welcome_message_change + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ActivityLogList: + docs: A paginated list of activity logs. + properties: + activity_logs: + docs: An array of activity logs + type: optional>> + pages: + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `activity_log.list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ActivityLogMetadata: + docs: Additional data provided about Admin activity. + properties: + auto_changed: + docs: Indicates if the status was changed automatically or manually. + type: optional + away_mode: + docs: >- + The away mode status which is set to true when away and false when + returned. + type: optional + away_status_reason: + docs: The reason the Admin is away. + type: optional + conversation_assignment_limit: + docs: The conversation assignment limit value for an admin. + type: optional + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + reassign_conversations: + docs: >- + Indicates if conversations should be reassigned while an Admin is + away. + type: optional + sign_in_method: + docs: The way the admin signed in. + type: optional + source: + docs: The action that initiated the status change. + type: optional + ticket_assignment_limit: + docs: The ticket assignment limit value for an admin. + type: optional + update_by: + docs: The ID of the Admin who initiated the activity. + type: optional + update_by_name: + docs: The name of the Admin who initiated the activity. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ActivityLogPerformedBy: + docs: Details about the Admin involved in the activity. + inline: true + properties: + email: + docs: The email of the admin. + type: optional + id: + docs: The id representing the admin. + type: optional + ip: + docs: The IP address of the admin. + type: optional + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AddressableList: + docs: A list used to access other resources from a parent model. + properties: + id: + docs: The id of the addressable object + type: optional + type: + docs: The addressable object type + type: optional + validation: + format: uri + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminList: + docs: A list of admins associated with a given workspace. + properties: + admins: + docs: A list of admins associated with a given workspace. + type: optional>> + type: + docs: >- + String representing the object's type. Always has the value + `admin.list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminPriorityLevel: + docs: Admin priority levels for the team + properties: + primary_admin_ids: + docs: The primary admin ids for the team + type: optional> + secondary_admin_ids: + docs: The secondary admin ids for the team + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminReplyConversationRequest: + docs: Payload of the request to reply on behalf of an admin + properties: + admin_id: + docs: The id of the admin who is authoring the comment. + type: string + attachment_files: + docs: >- + A list of files that will be added as attachments. You can include up + to 10 files + type: optional> + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: >- + The text body of the reply. Notes accept some HTML formatting. Must be + present for comment and note message types. + type: optional + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: AdminReplyConversationRequestMessageType + reply_options: + docs: >- + The quick reply options to display to the end user. Must be present + for quick_reply message types. + type: optional> + type: literal<"admin"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminReplyConversationRequestMessageType: + enum: + - comment + - note + - quick_reply + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminReplyTicketRequest: + docs: Payload of the request to reply on behalf of an admin + properties: + admin_id: + docs: The id of the admin who is authoring the comment. + type: string + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: >- + The text body of the reply. Notes accept some HTML formatting. Must be + present for comment and note message types. + type: optional + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: AdminReplyTicketRequestMessageType + reply_options: + docs: >- + The quick reply options to display. Must be present for quick_reply + message types. + type: optional> + type: literal<"admin"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminReplyTicketRequestMessageType: + enum: + - comment + - note + - quick_reply + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminReplyTicketRequestReplyOptionsItem: + inline: true + properties: + text: + docs: The text to display in this quick reply option. + type: string + uuid: + docs: >- + A unique identifier for this quick reply option. This value will be + available within the metadata of the comment ticket part that is + created when a user clicks on this reply option. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminWithApp: + docs: Admins are the teammate accounts that have access to a workspace + properties: + app: + docs: App that the admin belongs to. + type: optional + avatar: + docs: This object represents the avatar associated with the admin. + type: optional + away_mode_enabled: + docs: Identifies if this admin is currently set in away mode. + type: optional + away_mode_reassign: + docs: >- + Identifies if this admin is set to automatically reassign new + conversations to the apps default inbox. + type: optional + email: + docs: The email of the admin. + type: optional + email_verified: + docs: Identifies if this admin's email is verified. + type: optional + has_inbox_seat: + docs: >- + Identifies if this admin has a paid inbox seat to restrict/allow + features that require them. + type: optional + id: + docs: The id representing the admin. + type: optional + job_title: + docs: The job title of the admin. + type: optional + name: + docs: The name of the admin. + type: optional + team_ids: + docs: This is a list of ids of the teams that this admin is part of. + type: optional> + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AdminWithAppAvatar: + docs: This object represents the avatar associated with the admin. + inline: true + properties: + image_url: + docs: This object represents the avatar associated with the admin. + type: optional + validation: + format: uri + type: + default: avatar + docs: >- + This is a string that identifies the type of the object. It will + always have the value `avatar`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + App: + docs: App is a workspace on Intercom + properties: + created_at: + docs: When the app was created. + type: optional + id_code: + docs: The id of the app. + type: optional + identity_verification: + docs: Whether or not the app uses identity verification. + type: optional + name: + docs: The name of the app. + type: optional + region: + docs: The Intercom region the app is located in. + type: optional + timezone: + docs: The timezone of the region where the app is located. + type: optional + type: + default: app + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleContent: + docs: The Content of an Article. + properties: + author_id: + docs: The ID of the author of the article. + type: optional + body: + docs: The body of the article. + type: optional + created_at: + docs: The time when the article was created (seconds). + type: optional + description: + docs: The description of the article. + type: optional + state: + docs: Whether the article is `published` or is a `draft` . + type: optional + title: + docs: The title of the article. + type: optional + type: + docs: The type of object - `article_content` . + type: optional + updated_at: + docs: The time when the article was last updated (seconds). + type: optional + url: + docs: The URL of the article. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleContentState: + docs: Whether the article is `published` or is a `draft` . + enum: + - published + - draft + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleList: + docs: This will return a list of articles for the App. + properties: + data: + docs: An array of Article objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of articles. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleStatistics: + docs: The statistics of an article. + properties: + conversions: + docs: The number of conversations started from the article. + type: optional + happy_reaction_percentage: + docs: >- + The percentage of happy reactions the article has received against + other types of reaction. + type: float + neutral_reaction_percentage: + docs: >- + The percentage of neutral reactions the article has received against + other types of reaction. + type: float + reactions: + docs: The number of total reactions the article has received. + type: integer + sad_reaction_percentage: + docs: >- + The percentage of sad reactions the article has received against other + types of reaction. + type: float + type: + docs: The type of object - `article_statistics`. + type: literal<"article_statistics"> + views: + docs: The number of total views the article has received. + type: integer + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleTranslatedContent: + docs: >- + The Translated Content of an Article. The keys are the locale codes and + the values are the translated content of the article. + properties: + ar: + docs: The content of the article in Arabic + type: optional + bg: + docs: The content of the article in Bulgarian + type: optional + bs: + docs: The content of the article in Bosnian + type: optional + ca: + docs: The content of the article in Catalan + type: optional + cs: + docs: The content of the article in Czech + type: optional + da: + docs: The content of the article in Danish + type: optional + de: + docs: The content of the article in German + type: optional + el: + docs: The content of the article in Greek + type: optional + en: + docs: The content of the article in English + type: optional + es: + docs: The content of the article in Spanish + type: optional + et: + docs: The content of the article in Estonian + type: optional + fi: + docs: The content of the article in Finnish + type: optional + fr: + docs: The content of the article in French + type: optional + he: + docs: The content of the article in Hebrew + type: optional + hr: + docs: The content of the article in Croatian + type: optional + hu: + docs: The content of the article in Hungarian + type: optional + id: + docs: The content of the article in Indonesian + type: optional + it: + docs: The content of the article in Italian + type: optional + ja: + docs: The content of the article in Japanese + type: optional + ko: + docs: The content of the article in Korean + type: optional + lt: + docs: The content of the article in Lithuanian + type: optional + lv: + docs: The content of the article in Latvian + type: optional + mn: + docs: The content of the article in Mongolian + type: optional + nb: + docs: The content of the article in Norwegian + type: optional + nl: + docs: The content of the article in Dutch + type: optional + pl: + docs: The content of the article in Polish + type: optional + pt: + docs: The content of the article in Portuguese (Portugal) + type: optional + pt-BR: + docs: The content of the article in Portuguese (Brazil) + type: optional + ro: + docs: The content of the article in Romanian + type: optional + ru: + docs: The content of the article in Russian + type: optional + sl: + docs: The content of the article in Slovenian + type: optional + sr: + docs: The content of the article in Serbian + type: optional + sv: + docs: The content of the article in Swedish + type: optional + tr: + docs: The content of the article in Turkish + type: optional + type: + docs: The type of object - article_translated_content. + type: optional + vi: + docs: The content of the article in Vietnamese + type: optional + zh-CN: + docs: The content of the article in Chinese (China) + type: optional + zh-TW: + docs: The content of the article in Chinese (Taiwan) + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AssignConversationRequest: + docs: Payload of the request to assign a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + assignee_id: + docs: >- + The `id` of the `admin` or `team` which will be assigned the + conversation. A conversation can be assigned both an admin and a + team.\nSet `0` if you want this assign to no admin or team (ie. + Unassigned). + type: string + body: + docs: >- + Optionally you can send a response in the conversation when it is + assigned. + type: optional + type: AssignConversationRequestType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AssignConversationRequestType: + enum: + - admin + - team + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AwayStatusReason: + properties: + created_at: + docs: The Unix timestamp when the status reason was created + type: optional + deleted: + docs: Whether the status reason has been soft deleted + type: optional + emoji: + docs: The emoji associated with the status reason + type: optional + id: + docs: The unique identifier for the away status reason + type: optional + label: + docs: The display text for the away status reason + type: optional + order: + docs: The display order of the status reason + type: optional + type: optional + updated_at: + docs: The Unix timestamp when the status reason was last updated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CallList: + docs: A paginated list of calls. + properties: + data: + docs: A list of calls. + type: optional> + pages: + type: optional + total_count: + docs: Total number of items available. + type: optional + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CloseConversationRequest: + docs: Payload of the request to close a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + body: + docs: >- + Optionally you can leave a message in the conversation to provide + additional context to the user and other teammates. + type: optional + type: literal<"admin"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CollectionList: + docs: This will return a list of Collections for the App. + properties: + data: + docs: An array of collection objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of collections. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyAttachedContacts: + docs: A list of Contact Objects + properties: + data: + docs: An array containing Contact Objects + type: optional> + pages: + type: optional + total_count: + docs: The total number of contacts + type: optional + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyAttachedSegments: + docs: A list of Segment Objects + properties: + data: + docs: An array containing Segment Objects + type: optional> + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyData: + docs: >- + An object containing data about the companies that a contact is associated + with. + properties: + id: + docs: The unique identifier for the company which is given by Intercom. + type: optional + type: + docs: The type of the object. Always company. + type: optional> + url: + docs: The relative URL of the company. + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyList: + docs: This will return a list of companies for the App. + properties: + data: + docs: An array containing Company Objects. + type: optional> + pages: + type: optional + total_count: + docs: The total number of companies. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyScroll: + docs: >- + Companies allow you to represent organizations using your product. Each + company will have its own description and be associated with contacts. You + can fetch, create, update and list companies. + properties: + data: + type: optional> + pages: + type: optional + scroll_param: + docs: >- + The scroll parameter to use in the next request to fetch the next page + of results. + type: optional + total_count: + docs: The total number of companies + type: optional + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactArchived: + docs: archived contact object + extends: + - ContactReference + properties: + archived: + docs: Whether the contact is archived or not. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactAttachedCompanies: + docs: A list of Company Objects + properties: + companies: + docs: An array containing Company Objects + type: optional> + pages: + type: optional + total_count: + docs: The total number of companies associated to this contact + type: optional + type: + docs: The type of object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactBlocked: + docs: blocked contact object + extends: + - ContactReference + properties: + blocked: + docs: Always true. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactCompanies: + docs: >- + An object with metadata about companies attached to a contact . Up to 10 + will be displayed here. Use the url to get more. + properties: + data: + docs: An array of company data objects attached to the contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Integer representing the total number of companies attached to this + contact + type: optional + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactDeleted: + docs: deleted contact object + extends: + - ContactReference + properties: + deleted: + docs: Whether the contact is deleted or not. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactList: + docs: Contacts are your users in Intercom. + properties: + data: + docs: The list of contact objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always list + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactLocation: + docs: An object containing location meta data about a Intercom contact. + properties: + city: + docs: The city that the contact is located in + type: optional + country: + docs: The country that the contact is located in + type: optional + region: + docs: The overal region that the contact is located in + type: optional + type: + docs: Always location + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactNotes: + docs: >- + An object containing notes meta data about the notes that a contact has. + Up to 10 will be displayed here. Use the url to get more. + properties: + data: + docs: This object represents the notes attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Int representing the total number of companyies attached to this + contact + type: optional + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReference: + docs: reference to contact object + properties: + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + id: + docs: The unique identifier for the contact which is given by Intercom. + type: optional + type: + docs: always contact + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyBaseRequest: + properties: + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: The text body of the comment. + type: string + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: literal<"comment"> + reply_options: + docs: >- + The quick reply selection the contact wishes to respond with. These + map to buttons displayed in the Messenger UI if sent by a bot, or the + reply options sent by an Admin via the API. + type: optional> + type: literal<"user"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyBaseRequestReplyOptionsItem: + inline: true + properties: + text: + docs: The text of the chosen reply option. + type: string + uuid: + docs: The unique identifier for the quick reply option selected. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyConversationRequest: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: ContactReplyIntercomUserIdRequest + - type: ContactReplyEmailRequest + - type: ContactReplyUserIdRequest + ContactReplyEmailRequest: + docs: Payload of the request to reply on behalf of a contact using their `email` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: A list of files that will be added as attachments. + type: optional> + email: + docs: The email you have defined for the user. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyIntercomUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `intercom_user_id` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: A list of files that will be added as attachments. + type: optional> + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyTicketEmailRequest: + docs: Payload of the request to reply on behalf of a contact using their `email` + extends: + - ContactReplyBaseRequest + properties: + email: + docs: The email you have defined for the user. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyTicketIntercomUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `intercom_user_id` + extends: + - ContactReplyBaseRequest + properties: + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyTicketRequest: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: ContactReplyTicketIntercomUserIdRequest + - type: ContactReplyTicketUserIdRequest + - type: ContactReplyTicketEmailRequest + ContactReplyTicketUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `user_id` + extends: + - ContactReplyBaseRequest + properties: + user_id: + docs: The external_id you have defined for the contact. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactReplyUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `user_id` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: >- + A list of files that will be added as attachments. You can include up + to 10 files. + type: optional> + user_id: + docs: The external_id you have defined for the contact. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactSegments: + docs: A list of segments objects attached to a specific contact. + properties: + data: + docs: Segment objects associated with the contact. + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactSocialProfiles: + docs: An object containing social profiles that a contact has. + properties: + data: + docs: A list of social profiles objects associated with the contact. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactSubscriptionTypes: + docs: >- + An object containing Subscription Types meta data about the + SubscriptionTypes that a contact has. + properties: + data: + docs: This object represents the subscriptions attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Int representing the total number of subscription types attached to + this contact + type: optional + url: + docs: Url to get more subscription type resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactTags: + docs: >- + An object containing tags meta data about the tags that a contact has. Up + to 10 will be displayed here. Use the url to get more. + properties: + data: + docs: This object represents the tags attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: Int representing the total number of tags attached to this contact + type: optional + url: + docs: url to get more tag resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactUnarchived: + docs: unarchived contact object + extends: + - ContactReference + properties: + archived: + docs: Whether the contact is archived or not. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContentSourcesList: + properties: + content_sources: + docs: The content sources used by AI Agent in the conversation. + type: optional> + total_count: + docs: >- + The total number of content sources used by AI Agent in the + conversation. + type: optional + type: + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttachmentFiles: + docs: Properties of the attachment files in a conversation part + properties: + content_type: + docs: The content type of the file + type: optional + data: + docs: The base64 encoded file data. + type: optional + name: + docs: The name of the file. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByAdmin: + docs: >- + Contains details about Custom Data Attributes (CDAs) that were modified by + an admin (operator) for conversation part type + conversation_attribute_updated_by_admin. + properties: + attribute: + type: optional + value: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByAdminAttribute: + inline: true + properties: + name: + docs: Name of the CDA updated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByAdminValue: + inline: true + properties: + name: + docs: Value of the CDA updated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflow: + docs: >- + Contains details about the workflow that was triggered and any Custom Data + Attributes (CDAs) that were modified during the workflow execution for + conversation part type + conversation_attribute_updated_by_workflow. + properties: + attribute: + type: optional + value: + type: optional + workflow: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowAttribute: + inline: true + properties: + name: + docs: Name of the CDA updated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowValue: + inline: true + properties: + name: + docs: Value of the CDA updated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowWorkflow: + inline: true + properties: + name: + docs: Name of the workflow + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationContacts: + docs: >- + The list of contacts (users or leads) involved in this conversation. This + will only contain one customer unless more were added via the group + conversation feature. + properties: + contacts: + docs: >- + The list of contacts (users or leads) involved in this conversation. + This will only contain one customer unless more were added via the + group conversation feature. + type: optional> + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationDeleted: + docs: deleted conversation object + properties: + deleted: + docs: Whether the conversation is deleted or not. + type: optional + id: + docs: The unique identifier for the conversation. + type: optional + object: + docs: always conversation + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationFirstContactReply: + docs: >- + An object containing information on the first users message. For a contact + initiated message this will represent the users original message. + properties: + created_at: + docs: '' + type: optional + type: + docs: '' + type: optional + url: + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationList: + docs: >- + 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. + properties: + conversations: + docs: The list of conversation objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always conversation.list + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPart: + docs: A Conversation Part represents a message in the conversation. + properties: + app_package_code: + docs: >- + The app package code if this part was created via API. null if the + part was not created via API. + type: optional + assigned_to: + docs: >- + The id of the admin that was assigned the conversation by this + conversation_part (null if there has been no change in assignment.) + type: optional + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: >- + The message body, which may contain HTML. For Twitter, this will show + a generic message regarding why the body is obscured. + type: optional + created_at: + docs: The time the conversation part was created. + type: optional + email_message_metadata: + type: optional + event_details: + type: optional + external_id: + docs: The external id of the conversation part + type: optional + id: + docs: The id representing the conversation part. + type: optional + metadata: + type: optional + notified_at: + docs: The time the user was notified with the conversation part. + type: optional + part_type: + docs: The type of conversation part. + type: optional + redacted: + docs: Whether or not the conversation part has been redacted. + type: optional + state: + docs: >- + Indicates the current state of conversation when the conversation part + was created. + type: optional + tags: + docs: A list of tags objects associated with the conversation part. + type: optional> + type: + docs: Always conversation_part + type: optional + updated_at: + docs: The last time the conversation part was updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPartAuthor: + docs: >- + 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: + email: + docs: The email of the author + type: optional + validation: + format: email + from_ai_agent: + docs: If this conversation part was sent by the AI Agent + type: optional + id: + docs: The id of the author + type: optional + is_ai_answer: + docs: If this conversation part body was generated by the AI Agent + type: optional + name: + docs: The name of the author + type: optional + type: + docs: The type of the author + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPartMetadata: + docs: Metadata for a conversation part + properties: + quick_reply_options: + docs: >- + The quick reply options sent by the Admin or bot, presented in this + conversation part. + type: optional> + quick_reply_uuid: + docs: >- + The unique identifier for the quick reply option that was clicked by + the end user. + type: optional + validation: + format: uuid + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPartMetadataQuickReplyOptionsItem: + extends: + - QuickReplyOption + inline: true + properties: + translations: + docs: The translations for the quick reply option. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationParts: + docs: >- + 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: + conversation_parts: + docs: >- + 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. + type: optional> + total_count: + docs: '' + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPartState: + docs: >- + Indicates the current state of conversation when the conversation part was + created. + enum: + - open + - closed + - snoozed + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationRating: + docs: >- + 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: + contact: + type: optional + created_at: + docs: The time the rating was requested in the conversation being rated. + type: optional + rating: + docs: The rating, between 1 and 5, for the conversation. + type: optional + remark: + docs: An optional field to add a remark to correspond to the number rating + type: optional + teammate: + type: optional + updated_at: + docs: The time the rating was last updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationResponseTime: + docs: Details of first response time of assigned team in seconds. + properties: + response_time: + docs: First response time of assigned team in seconds. + type: optional + team_id: + docs: Id of the assigned team. + type: optional + team_name: + docs: >- + Name of the assigned Team, null if team does not exist, Unassigned if + no team is assigned. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationSource: + docs: >- + The type of the conversation part that started this conversation. Can be + Contact, Admin, Campaign, Automated or Operator initiated. + properties: + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: >- + The message body, which may contain HTML. For Twitter, this will show + a generic message regarding why the body is obscured. + type: optional + delivered_as: + docs: >- + 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). + type: optional + id: + docs: The id representing the message. + type: optional + redacted: + docs: >- + Whether or not the source message has been redacted. Only applicable + for contact initiated messages. + type: optional + subject: + docs: >- + Optional. The message subject. For Twitter, this will show a generic + message regarding why the subject is obscured. + type: optional + type: + docs: >- + This includes conversation, email, facebook, instagram, phone_call, + phone_switch, push, sms, twitter and whatsapp. + type: optional + url: + docs: >- + The URL where the conversation was started. For Twitter, Email, and + Bots, this will be blank. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationSourceType: + docs: >- + This includes conversation, email, facebook, instagram, phone_call, + phone_switch, push, sms, twitter and whatsapp. + enum: + - conversation + - email + - facebook + - instagram + - phone_call + - phone_switch + - push + - sms + - twitter + - whatsapp + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationStatistics: + docs: >- + A Statistics object containing all information required for reporting, + with timestamps and calculated metrics. + properties: + assigned_team_first_response_time_by_team: + docs: An array of conversation response time objects + type: optional> + assigned_team_first_response_time_in_office_hours: + docs: An array of conversation response time objects within office hours + type: optional> + count_assignments: + docs: Number of assignments after first_contact_reply_at. + type: optional + count_conversation_parts: + docs: Total number of conversation parts. + type: optional + count_reopens: + docs: Number of reopens after first_contact_reply_at. + type: optional + first_admin_reply_at: + docs: Time of first admin reply after first_contact_reply_at. + type: optional + first_assignment_at: + docs: Time of first assignment after first_contact_reply_at. + type: optional + first_close_at: + docs: Time of first close after first_contact_reply_at. + type: optional + first_contact_reply_at: + docs: Time of first text conversation part from a contact. + type: optional + handling_time: + docs: Time from conversation assignment to conversation close in seconds. + type: optional + last_admin_reply_at: + docs: Time of the last conversation part from an admin. + type: optional + last_assignment_admin_reply_at: + docs: Time of first admin reply since most recent assignment. + type: optional + last_assignment_at: + docs: Time of last assignment after first_contact_reply_at. + type: optional + last_close_at: + docs: Time of the last conversation close. + type: optional + last_closed_by_id: + docs: >- + The last admin who closed the conversation. Returns a reference to an + Admin object. + type: optional + last_contact_reply_at: + docs: Time of the last conversation part from a contact. + type: optional + median_time_to_reply: + docs: >- + Median based on all admin replies after a contact reply. Subtracts out + of business hours. In seconds. + type: optional + time_to_admin_reply: + docs: >- + Duration until first admin reply. Subtracts out of business hours. In + seconds. + type: optional + time_to_assignment: + docs: Duration until last assignment before first admin reply. In seconds. + type: optional + time_to_first_close: + docs: >- + Duration until conversation was closed first time. Subtracts out of + business hours. In seconds. + type: optional + time_to_last_close: + docs: >- + Duration until conversation was closed last time. Subtracts out of + business hours. In seconds. + type: optional + type: + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationTeammates: + docs: >- + The list of teammates who participated in the conversation (wrote at least + one conversation part). + properties: + admins: + docs: >- + The list of teammates who participated in the conversation (wrote at + least one conversation part). + type: list + type: + docs: The type of the object - `admin.list`. + type: literal<"admin.list"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateArticleRequest: + docs: You can create an Article + properties: + author_id: + docs: >- + 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. + type: integer + body: + docs: >- + The content of the article. For multilingual articles, this will be + the body of the default language's content. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + docs: >- + 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. + type: optional + title: + docs: >- + The title of the article.For multilingual articles, this will be the + title of the default language's content. + type: string + translated_content: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateArticleRequestParentType: + docs: The type of parent, which can either be a `collection` or `section`. + enum: + - collection + - section + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateArticleRequestState: + docs: >- + 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 + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateContactRequest: + discriminated: false + docs: Payload to create a contact + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: CreateContactRequestWithEmail + - type: CreateContactRequestWithExternalId + - type: CreateContactRequestWithRole + CreateContactRequestTwo: unknown + CreateContactRequestWithEmail: + inline: true + properties: + avatar: + docs: An image URL containing the avatar of a contact + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact + type: optional> + email: + docs: The contacts email + type: string + last_seen_at: + docs: >- + The time when the contact was last seen (either where the Intercom + Messenger was installed or when specified manually) + type: optional + name: + docs: The contacts name + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of the + contact + type: optional + phone: + docs: The contacts phone + type: optional + signed_up_at: + docs: The time specified for when a contact signed up + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateContactRequestWithExternalId: + inline: true + properties: + avatar: + docs: An image URL containing the avatar of a contact + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact + type: optional> + external_id: + docs: A unique identifier for the contact which is given to Intercom + type: string + last_seen_at: + docs: >- + The time when the contact was last seen (either where the Intercom + Messenger was installed or when specified manually) + type: optional + name: + docs: The contacts name + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of the + contact + type: optional + phone: + docs: The contacts phone + type: optional + signed_up_at: + docs: The time specified for when a contact signed up + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateContactRequestWithRole: + inline: true + properties: + avatar: + docs: An image URL containing the avatar of a contact + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact + type: optional> + last_seen_at: + docs: >- + The time when the contact was last seen (either where the Intercom + Messenger was installed or when specified manually) + type: optional + name: + docs: The contacts name + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of the + contact + type: optional + phone: + docs: The contacts phone + type: optional + role: + docs: The role of the contact. + type: string + signed_up_at: + docs: The time specified for when a contact signed up + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataAttributeRequest: + discriminated: false + docs: '' + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: CreateDataAttributeRequestOptions + - type: CreateDataAttributeRequestOne + CreateDataAttributeRequestOne: + inline: true + properties: + data_type: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataAttributeRequestOneDataType: + enum: + - string + - integer + - float + - boolean + - datetime + - date + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataAttributeRequestOptions: + inline: true + properties: + data_type: + type: optional> + options: + docs: >- + Array of objects representing the options of the list, with `value` as + the key and the option as the value. At least two options are + required. + type: list + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataAttributeRequestOptionsOptionsItem: + inline: true + properties: + value: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataEventRequest: + discriminated: false + docs: '' + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: CreateDataEventRequestWithId + - type: CreateDataEventRequestWithUserId + - type: CreateDataEventRequestWithEmail + CreateDataEventRequestTwo: unknown + CreateDataEventRequestWithEmail: + inline: true + properties: + created_at: + docs: The time the event occurred as a UTC Unix timestamp + type: integer + email: + docs: >- + An email address for your user. An email should only be used where + your application uses email to uniquely identify users. + type: string + event_name: + docs: >- + 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`. + type: string + metadata: + docs: Optional metadata about the event. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataEventRequestWithId: + inline: true + properties: + created_at: + docs: The time the event occurred as a UTC Unix timestamp + type: integer + event_name: + docs: >- + 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`. + type: string + id: + docs: >- + The unique identifier for the contact (lead or user) which is given by + Intercom. + type: string + metadata: + docs: Optional metadata about the event. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateDataEventRequestWithUserId: + inline: true + properties: + created_at: + docs: The time the event occurred as a UTC Unix timestamp + type: integer + event_name: + docs: >- + 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`. + type: string + metadata: + docs: Optional metadata about the event. + type: optional> + user_id: + docs: Your identifier for the user. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateInternalArticleRequest: + docs: You can create an Internal Article + properties: + author_id: + docs: The id of the author of the article. + type: integer + body: + docs: The content of the article. + type: optional + owner_id: + docs: The id of the owner of the article. + type: integer + title: + docs: The title of the article. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateMessageRequest: + base-properties: {} + discriminant: message_type + docs: You can create a message + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + email: + type: CreateMessageRequestWithEmail + inapp: + type: CreateMessageRequestWithInapp + CreateMessageRequestFrom: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + inline: true + properties: + id: + docs: The identifier for the admin which is given by Intercom. + type: integer + type: + docs: Always `admin`. + type: literal<"admin"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateMessageRequestThree: unknown + CreateMessageRequestTo: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + inline: true + properties: + id: + docs: The identifier for the contact which is given by Intercom. + type: string + type: + docs: The role associated to the contact - `user` or `lead`. + type: CreateMessageRequestType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateMessageRequestType: + docs: The role associated to the contact - `user` or `lead`. + enum: + - user + - lead + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateMessageRequestWithEmail: + inline: true + properties: + body: + docs: The content of the message. HTML and plaintext are supported. + type: string + create_conversation_without_contact_reply: + default: false + docs: >- + Whether a conversation should be opened in the inbox for the message + without the contact replying. Defaults to false if not provided. + type: optional + created_at: + docs: >- + The time the message was created. If not provided, the current time + will be used. + type: optional + from: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + type: CreateMessageRequestFrom + subject: + docs: The title of the email. + type: string + template: + docs: >- + The style of the outgoing message. Possible values `plain` or + `personal`. + type: string + to: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + type: CreateMessageRequestTo + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateMessageRequestWithInapp: + inline: true + properties: + body: + docs: The content of the message. HTML and plaintext are supported. + type: string + create_conversation_without_contact_reply: + default: false + docs: >- + Whether a conversation should be opened in the inbox for the message + without the contact replying. Defaults to false if not provided. + type: optional + created_at: + docs: >- + The time the message was created. If not provided, the current time + will be used. + type: optional + from: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + type: CreateMessageRequestFrom + subject: + docs: The title of the email. + type: optional + template: + docs: >- + The style of the outgoing message. Possible values `plain` or + `personal`. + type: optional + to: + docs: >- + The sender of the message. If not provided, the default sender will be + used. + type: CreateMessageRequestTo + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateOrUpdateCompanyRequest: + docs: You can create or update a Company + properties: + company_id: + docs: The company id you have defined for the company. Can't be updated + type: optional + custom_attributes: + docs: >- + A hash of key/value pairs containing any other data about the company + you want Intercom to store. + type: optional> + industry: + docs: The industry that this company operates in. + type: optional + monthly_spend: + docs: >- + 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.. + type: optional + name: + docs: The name of the Company + type: optional + plan: + docs: The name of the plan you have associated with the company. + type: optional + remote_created_at: + docs: The time the company was created by you. + type: optional + size: + docs: The number of employees in this company. + type: optional + website: + docs: >- + The URL for this company's website. Please note that the value + specified here is not validated. Accepts any string. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateOrUpdateTagRequest: + docs: You can create or update an existing tag. + properties: + id: + docs: The id of tag to updates. + type: optional + name: + docs: >- + 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. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreatePhoneSwitchRequest: + docs: You can create an phone switch + properties: + custom_attributes: + type: optional + phone: + docs: >- + Phone number in E.164 format, that will receive the SMS to continue + the conversation in the Messenger. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketReplyWithCommentRequest: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: ContactReplyTicketRequest + - type: AdminReplyTicketRequest + CreateTicketRequest: + docs: You can create a Ticket + properties: + assignment: + type: optional + company_id: + docs: >- + The ID of the company that the ticket is associated with. The unique + identifier for the company which is given by Intercom + type: optional + contacts: + docs: >- + The list of contacts (users or leads) affected by this ticket. + Currently only one is allowed + type: list + conversation_to_link_id: + docs: >- + The ID of the conversation you want to link to the ticket. Here are + the valid ways of linking two tickets: + - conversation | back-office ticket + - customer tickets | non-shared back-office ticket + - conversation | tracker ticket + - customer ticket | tracker ticket + type: optional + created_at: + docs: >- + The time the ticket was created. If not provided, the current time + will be used. + type: optional + ticket_attributes: + type: optional + ticket_type_id: + docs: The ID of the type of ticket you want to create + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketRequestAssignment: + inline: true + properties: + admin_assignee_id: + docs: >- + The ID of the admin to which the ticket is assigned. If not provided, + the ticket will be unassigned. + type: optional + team_assignee_id: + docs: >- + The ID of the team to which the ticket is assigned. If not provided, + the ticket will be unassigned. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketRequestContactsItem: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: CreateTicketRequestContactsItemId + - type: CreateTicketRequestContactsItemExternalId + - type: CreateTicketRequestContactsItemEmail + CreateTicketRequestContactsItemEmail: + inline: true + properties: + email: + docs: >- + 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. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketRequestContactsItemExternalId: + inline: true + properties: + external_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketRequestContactsItemId: + inline: true + properties: + id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketTypeRequest: + docs: | + 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/) + properties: + category: + docs: Category of the Ticket Type. + type: optional + description: + docs: The description of the ticket type. + type: optional + icon: + default: 🎟️ + docs: The icon of the ticket type. + type: optional + is_internal: + default: false + docs: >- + 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. + type: optional + name: + docs: The name of the ticket type. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateTicketTypeRequestCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CursorPages: + docs: > + 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. + properties: + next: + type: optional + page: + docs: The current page + type: optional + per_page: + docs: Number of results per page + type: optional + total_pages: + docs: Total number of pages + type: optional + type: + docs: the type of object `pages`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomActionFinished: + docs: >- + Contains details about final status of the completed action for + conversation part type custom_action_finished. + properties: + action: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomActionFinishedAction: + inline: true + properties: + name: + docs: Name of the action + type: optional + result: + docs: Status of the action + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomActionFinishedActionResult: + docs: Status of the action + enum: + - success + - failed + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomActionStarted: + docs: >- + Contains details about name of the action that was initiated for + conversation part type custom_action_started. + properties: + action: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomActionStartedAction: + inline: true + properties: + name: + docs: Name of the action + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomAttributes: + docs: Custom data set for this data. + type: map + CustomAttributesValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - string + - integer + - Datetime + - type: CustomObjectInstanceList + CustomChannelAttribute: + properties: + id: + docs: Identifier for the attribute being collected. + type: string + value: + docs: Value provided by the user for the attribute. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomChannelBaseEvent: + properties: + contact: + type: CustomChannelContact + event_id: + docs: Unique identifier for the event. + type: string + external_conversation_id: + docs: Identifier for the conversation in your application. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomChannelContact: + properties: + email: + docs: Email address of the contact. Required for user type. + type: optional + validation: + format: email + external_id: + docs: >- + External identifier for the contact. Intercom will take care of the + mapping of your external_id with our internal ones so you don't have + to worry about it. + type: string + name: + docs: Name of the contact. Required for user type. + type: optional + type: + docs: Type of contact, must be "user" or "lead". + type: CustomChannelContactType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomChannelContactType: + docs: Type of contact, must be "user" or "lead". + enum: + - user + - lead + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomChannelNotificationResponse: + properties: + contact_id: + docs: The Intercom contact ID mapped to the external contact ID + type: string + conversation_id: + docs: The Intercom conversation ID mapped to the external conversation ID + type: string + external_contact_id: + docs: The external contact ID provided in the notification request + type: string + external_conversation_id: + docs: The external conversation ID provided in the notification request + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomerRequest: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: CustomerRequestIntercomUserId + - type: CustomerRequestUserId + - type: CustomerRequestEmail + CustomerRequestEmail: + inline: true + properties: + email: + docs: >- + The email you have defined for the contact who is being added as a + participant. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomerRequestIntercomUserId: + inline: true + properties: + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomerRequestUserId: + inline: true + properties: + user_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomObjectInstanceDeleted: + docs: deleted custom object instance object + properties: + deleted: + docs: Whether the Custom Object instance is deleted or not. + type: optional + id: + docs: The Intercom defined id representing the Custom Object instance. + type: optional + object: + docs: >- + The unique identifier of the Custom Object type that defines the + structure of the Custom Object instance. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CustomObjectInstanceList: + docs: >- + The list of associated custom object instances for a given reference + attribute on the parent object. + properties: + instances: + docs: >- + The list of associated custom object instances for a given reference + attribute on the parent object. + type: optional>> + type: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataAttributeList: + docs: >- + A list of all data attributes belonging to a workspace for contacts, + companies or conversations. + properties: + data: + docs: A list of data attributes + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataEventList: + docs: This will return a list of data events for the App. + properties: + events: + docs: A list of data events + type: optional> + pages: + docs: Pagination + type: optional + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataEventListPages: + docs: Pagination + inline: true + properties: + next: optional + since: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataEventSummary: + docs: This will return a summary of data events for the App. + properties: + email: + docs: The email address of the user + type: optional + events: + docs: A summary of data events + type: list> + intercom_user_id: + docs: The Intercom user ID of the user + type: optional + type: + docs: The type of the object + type: optional> + user_id: + docs: The user ID of the user + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataEventSummaryItem: + docs: This will return a summary of a data event for the App. + properties: + count: + docs: The number of times the event was sent + type: optional + description: + docs: The description of the event + type: optional + first: + docs: The first time the event was sent + type: optional + last: + docs: The last time the event was sent + type: optional + name: + docs: The name of the event + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataExportCsv: + docs: A CSV output file + properties: + company_id: + docs: >- + The company ID of the user in relation to the message that was sent. + Will return -1 if no company is present. + type: optional + content_id: + docs: >- + The specific content that was received. In an A/B test each version + has its own Content ID. + type: optional + content_title: + docs: The title of the content you see in your Intercom workspace. + type: optional + content_type: + docs: Email, Chat, Post etc. + type: optional + email: + docs: The users email who was sent the message. + type: optional + first_click: + docs: >- + The first time the series the user clicked on a link within this + message. + type: optional + first_completion: + docs: >- + The first time a user completed this message if the content was able + to be completed e.g. Tours, Surveys. + type: optional + first_dismisall: + docs: The first time the series the user dismissed this message. + type: optional + first_goal_success: + docs: >- + The first time the user met this messages associated goal if one + exists. + type: optional + first_hard_bounce: + docs: The first time this message hard bounced for this user + type: optional + first_open: + docs: The first time the user opened this message. + type: optional + first_reply: + docs: >- + The first time a user replied to this message if the content was able + to receive replies. + type: optional + first_series_completion: + docs: >- + The first time the series this message was a part of was completed by + the user. + type: optional + first_series_disengagement: + docs: >- + The first time the series this message was a part of was disengaged by + the user. + type: optional + first_series_exit: + docs: >- + The first time the series this message was a part of was exited by the + user. + type: optional + first_unsubscribe: + docs: The first time the user unsubscribed from this message. + type: optional + name: + docs: The full name of the user receiving the message + type: optional + node_id: + docs: >- + The id of the series node that this ruleset is associated with. Each + block in a series has a corresponding node_id. + type: optional + receipt_id: + docs: >- + ID for this receipt. Will be included with any related stats in other + files to identify this specific delivery of a message. + type: optional + received_at: + docs: Timestamp for when the receipt was recorded. + type: optional + ruleset_id: + docs: The id of the message. + type: optional + ruleset_version_id: + docs: >- + As you edit content we record new versions. This ID can help you + determine which version of a piece of content that was received. + type: optional + series_id: + docs: >- + The id of the series that this content is part of. Will return -1 if + not part of a series. + type: optional + series_title: + docs: The title of the series that this content is part of. + type: optional + user_external_id: + docs: The external_user_id of the user who was sent the message + type: optional + user_id: + docs: The user_id of the user who was sent the message. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Datetime: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - docs: A date and time following the ISO8601 notation. + type: datetime + - docs: A date and time as UNIX timestamp notation. + type: integer + DeletedArticleObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the article was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the article which you provided in the URL. + type: optional + object: + docs: The type of object which was deleted. - article + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DeletedCollectionObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the collection was deleted successfully or not. + type: optional + id: + docs: >- + The unique identifier for the collection which you provided in the + URL. + type: optional + object: + docs: The type of object which was deleted. - `collection` + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DeletedCompanyObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the company was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the company which is given by Intercom. + type: optional + object: + docs: The type of object which was deleted. - `company` + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DeletedInternalArticleObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the internal article was deleted successfully or not. + type: optional + id: + docs: >- + The unique identifier for the internal article which you provided in + the URL. + type: optional + object: + docs: The type of object which was deleted. - internal_article + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DeletedObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the news item was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the news item which you provided in the URL. + type: optional + object: + docs: The type of object which was deleted - news-item. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + EmailAddressHeader: + docs: >- + Contains data for an email address header for a conversation part that was + sent as an email. + properties: + email_address: + docs: The email address + type: optional + name: + docs: The name associated with the email address + type: optional + type: + docs: The type of email address header + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + EmailMessageMetadata: + docs: Contains metadata if the message was sent as an email + properties: + email_address_headers: + docs: A list of an email address headers. + type: optional> + subject: + docs: The subject of the email + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Error: + docs: >- + The API will return an Error List for a failed request, which will contain + one or more Error objects. + properties: + errors: + docs: An array of one or more error objects + type: list + request_id: + docs: '' + type: optional + validation: + format: uuid + type: + docs: The type is error.list + type: literal<"error.list"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ErrorErrorsItem: + inline: true + properties: + code: + docs: >- + A string indicating the kind of error, used to further qualify the + HTTP response code + type: string + field: + docs: >- + Optional. Used to identify a particular field or query parameter that + was in error. + type: optional + message: + docs: Optional. Human readable description of the error. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + EventDetails: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: ConversationAttributeUpdatedByWorkflow + - type: ConversationAttributeUpdatedByAdmin + - type: CustomActionStarted + - type: CustomActionFinished + - type: OperatorWorkflowEvent + FileAttribute: + docs: The value describing a file upload set for a custom attribute + properties: + content_type: + docs: The type of file + type: optional + filesize: + docs: The size of the file in bytes + type: optional + height: + docs: The height of the file in pixels, if applicable + type: optional + name: + docs: The name of the file + type: optional + type: + type: optional + url: + docs: >- + The url of the file. This is a temporary URL and will expire after 30 + minutes. + type: optional + width: + docs: The width of the file in pixels, if applicable + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + GroupContent: + docs: The Content of a Group. + properties: + description: + docs: The description of the collection. Only available for collections. + type: optional + name: + docs: The name of the collection or section. + type: optional + type: + docs: The type of object - `group_content` . + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + GroupTranslatedContent: + docs: >- + The Translated Content of an Group. The keys are the locale codes and the + values are the translated content of the Group. + properties: + ar: + docs: The content of the group in Arabic + type: optional + bg: + docs: The content of the group in Bulgarian + type: optional + bs: + docs: The content of the group in Bosnian + type: optional + ca: + docs: The content of the group in Catalan + type: optional + cs: + docs: The content of the group in Czech + type: optional + da: + docs: The content of the group in Danish + type: optional + de: + docs: The content of the group in German + type: optional + el: + docs: The content of the group in Greek + type: optional + en: + docs: The content of the group in English + type: optional + es: + docs: The content of the group in Spanish + type: optional + et: + docs: The content of the group in Estonian + type: optional + fi: + docs: The content of the group in Finnish + type: optional + fr: + docs: The content of the group in French + type: optional + he: + docs: The content of the group in Hebrew + type: optional + hr: + docs: The content of the group in Croatian + type: optional + hu: + docs: The content of the group in Hungarian + type: optional + id: + docs: The content of the group in Indonesian + type: optional + it: + docs: The content of the group in Italian + type: optional + ja: + docs: The content of the group in Japanese + type: optional + ko: + docs: The content of the group in Korean + type: optional + lt: + docs: The content of the group in Lithuanian + type: optional + lv: + docs: The content of the group in Latvian + type: optional + mn: + docs: The content of the group in Mongolian + type: optional + nb: + docs: The content of the group in Norwegian + type: optional + nl: + docs: The content of the group in Dutch + type: optional + pl: + docs: The content of the group in Polish + type: optional + pt: + docs: The content of the group in Portuguese (Portugal) + type: optional + pt-BR: + docs: The content of the group in Portuguese (Brazil) + type: optional + ro: + docs: The content of the group in Romanian + type: optional + ru: + docs: The content of the group in Russian + type: optional + sl: + docs: The content of the group in Slovenian + type: optional + sr: + docs: The content of the group in Serbian + type: optional + sv: + docs: The content of the group in Swedish + type: optional + tr: + docs: The content of the group in Turkish + type: optional + type: + docs: The type of object - group_translated_content. + type: optional + vi: + docs: The content of the group in Vietnamese + type: optional + zh-CN: + docs: The content of the group in Chinese (China) + type: optional + zh-TW: + docs: The content of the group in Chinese (Taiwan) + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + InternalArticleList: + docs: This will return a list of internal articles for the App. + properties: + data: + docs: An array of Internal Article objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of internal articles. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + LinkedObject: + docs: A linked conversation or ticket. + properties: + category: + docs: Category of the Linked Ticket Object. + type: optional + id: + docs: The ID of the linked object + type: optional + type: + docs: ticket or conversation + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + LinkedObjectList: + docs: >- + An object containing metadata about linked conversations and linked + tickets. Up to 1000 can be returned. + properties: + data: + docs: An array containing the linked conversations and linked tickets. + type: optional> + has_more: + docs: Whether or not there are more linked objects than returned. + type: optional + total_count: + docs: The total number of linked objects. + type: optional + type: + docs: Always list. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + LinkedObjectType: + docs: ticket or conversation + enum: + - ticket + - conversation + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Metadata: + type: unstableRoot.ConversationPartMetadata + MultipleFilterSearchRequest: + docs: Search using Intercoms Search APIs with more than one filter. + properties: + operator: + docs: An operator to allow boolean inspection between multiple fields. + type: optional + value: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + MultipleFilterSearchRequestOperator: + docs: An operator to allow boolean inspection between multiple fields. + enum: + - AND + - OR + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + MultipleFilterSearchRequestValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - docs: Add mutiple filters. + type: list + - docs: Add a single filter field. + type: list + NewsItemRequest: + docs: >- + 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: + body: + docs: The news item body, which may contain HTML. + type: optional + deliver_silently: + docs: >- + When set to `true`, the news item will appear in the messenger + newsfeed without showing a notification badge. + type: optional + labels: + docs: Label names displayed to users to categorize the news item. + type: optional> + newsfeed_assignments: + docs: A list of newsfeed_assignments to assign to the specified newsfeed. + type: optional> + reactions: + docs: >- + Ordered list of emoji reactions to the news item. When empty, + reactions are disabled. + type: optional>> + sender_id: + docs: >- + The id of the sender of the news item. Must be a teammate on the + workspace. + type: integer + state: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + type: optional + title: + docs: The title of the news item. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NewsItemRequestState: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + enum: + - draft + - live + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NoteList: + docs: A paginated list of notes associated with a contact. + properties: + data: + docs: An array of notes. + type: optional> + total_count: + docs: A count of the total number of notes. + type: optional + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NotFoundErrorBody: + properties: + errors: + docs: An array of one or more error objects + type: list + request_id: + docs: '' + type: optional + validation: + format: uuid + type: + docs: The type is error.list + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NotFoundErrorBodyErrorsItem: + inline: true + properties: + code: + docs: ticket_not_found + type: string + message: + docs: Ticket not found + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + OffsetPages: + properties: + next: + type: optional + page: + docs: The current offset + type: optional + per_page: + docs: Number of results per page + type: optional + total_pages: + docs: Total number of pages + type: optional + type: + docs: the type of object `offset_pages` + type: literal<"offset_pages"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + OpenConversationRequest: + docs: Payload of the request to open a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + OperatorWorkflowEvent: + docs: >- + Contains details about name of the workflow for conversation part type + operator_workflow_event. + properties: + event: + type: optional + workflow: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + OperatorWorkflowEventEvent: + inline: true + properties: + result: + docs: Result of the workflow event + type: optional + type: + docs: Type of the workflow event initiated + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + OperatorWorkflowEventWorkflow: + inline: true + properties: + name: + docs: The name of the workflow + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PagesLink: + docs: > + 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: + next: + docs: >- + A link to the next page of results. A response that does not contain a + next link does not have further data to fetch. + type: optional + validation: + format: uri + page: + type: optional + per_page: + type: optional + total_pages: + type: optional + type: + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PaginatedResponse: + docs: Paginated Response + properties: + data: + docs: An array of Objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: The type of object + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PaginatedResponseDataItem: + base-properties: {} + discriminant: type + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + news-item: + type: news.NewsItem + newsfeed: + type: news.Newsfeed + PaginatedResponseType: + docs: The type of object + enum: + - list + - name: ConversationList + value: conversation.list + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PartAttachment: + docs: The file attached to a part + properties: + content_type: + docs: The content type of the attachment + type: optional + filesize: + docs: The size of the attachment + type: optional + height: + docs: The height of the attachment + type: optional + name: + docs: The name of the attachment + type: optional + type: + docs: The type of attachment + type: optional + url: + docs: The URL of the attachment + type: optional + width: + docs: The width of the attachment + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PhoneSwitch: + docs: Phone Switch Response + properties: + phone: + docs: >- + Phone number in E.164 format, that has received the SMS to continue + the conversation in the Messenger. + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + QuickReplyOption: + properties: + text: + docs: The text to display in this quick reply option. + type: string + uuid: + docs: >- + A unique identifier for this quick reply option. This value will be + available within the metadata of the comment conversation part that is + created when a user clicks on this reply option. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Recipient: + docs: A recipient of a message + properties: + id: + docs: The identifier for the contact which is given by Intercom. + type: string + type: + docs: The role associated to the contact - `user` or `lead`. + type: RecipientType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + RecipientType: + docs: The role associated to the contact - `user` or `lead`. + enum: + - user + - lead + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + RedactConversationRequest: + base-properties: {} + discriminant: type + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + conversation_part: + docs: Payload of the request to redact a conversation part + type: RedactConversationRequestConversationPart + source: + docs: Payload of the request to redact a conversation source + type: RedactConversationRequestSource + RedactConversationRequestConversationPart: + docs: Payload of the request to redact a conversation part + inline: true + properties: + conversation_id: + docs: The id of the conversation. + type: string + conversation_part_id: + docs: The id of the conversation_part. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + RedactConversationRequestSource: + docs: Payload of the request to redact a conversation source + inline: true + properties: + conversation_id: + docs: The id of the conversation. + type: string + source_id: + docs: The id of the source. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Reference: + docs: reference to another object + properties: + id: + docs: '' + type: optional + type: + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ReplyConversationRequest: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: ContactReplyConversationRequest + - type: AdminReplyConversationRequest + SearchRequest: + docs: Search using Intercoms Search APIs. + properties: + pagination: + type: optional + query: SearchRequestQuery + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SearchRequestQuery: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: SingleFilterSearchRequest + - type: MultipleFilterSearchRequest + SegmentList: + docs: >- + This will return a list of Segment Objects. The result may also have a + pages object if the response is paginated. + properties: + pages: + docs: >- + A pagination object, which may be empty, indicating no further pages + to fetch. + type: optional> + segments: + docs: A list of Segment objects + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SingleFilterSearchRequest: + docs: Search using Intercoms Search APIs with a single filter. + properties: + field: + docs: The accepted field that you want to search on. + type: optional + operator: + docs: >- + The accepted operators you can use to define how you want to search + for the value. + type: optional + value: + docs: The value that you want to search on. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SingleFilterSearchRequestOperator: + docs: >- + The accepted operators you can use to define how you want to search for + the value. + enum: + - name: Equals + value: '=' + - name: NotEquals + value: '!=' + - name: In + value: IN + - name: NotIn + value: NIN + - name: LessThan + value: < + - name: GreaterThan + value: '>' + - name: Contains + value: '~' + - name: DoesNotContain + value: '!~' + - name: StartsWith + value: ^ + - name: EndsWith + value: $ + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SingleFilterSearchRequestValue: + discriminated: false + docs: The value that you want to search on. + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - string + - integer + - list + SingleFilterSearchRequestValueItem: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - string + - integer + SlaApplied: + docs: > + 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: + sla_name: + docs: The name of the SLA as given by the teammate when it was created. + type: optional + sla_status: + docs: |- + 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. + type: optional + type: + docs: object type + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SlaAppliedSlaStatus: + docs: |- + 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. + enum: + - hit + - missed + - cancelled + - active + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SnoozeConversationRequest: + docs: Payload of the request to snooze a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + snoozed_until: + docs: The time you want the conversation to reopen. + type: integer + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SocialProfile: + docs: >- + A Social Profile allows you to label your contacts, companies, and + conversations and list them using that Social Profile. + properties: + name: + docs: The name of the Social media profile + type: optional + type: + docs: value is "social_profile" + type: optional> + url: + docs: The name of the Social media profile + type: optional + validation: + format: uri + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + StartingAfterPaging: + properties: + per_page: + docs: The number of results to fetch per page. + type: optional + starting_after: + docs: The cursor to use in the next request to get the next page of results. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SubscriptionTypeList: + docs: A list of subscription type objects. + properties: + data: + docs: A list of subscription type objects associated with the workspace . + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagCompanyRequest: + docs: You can tag a single company or a list of companies. + properties: + companies: + docs: The id or company_id of the company can be passed as input parameters. + type: list + name: + docs: The name of the tag, which will be created if not found. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagCompanyRequestCompaniesItem: + inline: true + properties: + company_id: + docs: The company id you have defined for the company. + type: optional + id: + docs: The Intercom defined id representing the company. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagList: + docs: A list of tags objects in the workspace. + properties: + data: + docs: A list of tags objects associated with the workspace . + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagMultipleUsersRequest: + docs: You can tag a list of users. + properties: + name: + docs: The name of the tag, which will be created if not found. + type: string + users: list + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagMultipleUsersRequestUsersItem: + inline: true + properties: + id: + docs: The Intercom defined id representing the user. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Tags: + docs: A list of tags objects associated with a conversation + properties: + tags: + docs: A list of tags objects associated with the conversation. + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TeamList: + docs: This will return a list of team objects for the App. + properties: + teams: + docs: A list of team objects + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TeamPriorityLevel: + docs: Admin priority levels for teams + properties: + primary_team_ids: + docs: The primary team ids for the team + type: optional> + secondary_team_ids: + docs: The secondary team ids for the team + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketCustomAttributes: + docs: >- + 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_`. + type: map + TicketList: + docs: Tickets are how you track requests from your users. + properties: + pages: + type: optional + tickets: + docs: The list of ticket objects + type: optional>> + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always ticket.list + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartAuthor: + docs: >- + The author that wrote or triggered the part. Can be a bot, admin, team or + user. + properties: + email: + docs: The email of the author + type: optional + validation: + format: email + id: + docs: The id of the author + type: optional + name: + docs: The name of the author + type: optional + type: + docs: The type of the author + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartAuthorType: + docs: The type of the author + enum: + - admin + - bot + - team + - user + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketParts: + docs: >- + A list of Ticket Part objects for each note and event in the ticket. There + is a limit of 500 parts. + properties: + ticket_parts: + docs: >- + A list of Ticket Part objects for each ticket. There is a limit of 500 + parts. + type: optional> + total_count: + docs: '' + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketReply: + docs: A Ticket Part representing a note, comment, or quick_reply on a ticket + properties: + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: The message body, which may contain HTML. + type: optional + created_at: + docs: The time the note was created. + type: optional + id: + docs: The id representing the part. + type: optional + part_type: + docs: Type of the part + type: optional + redacted: + docs: Whether or not the ticket part has been redacted. + type: optional + type: + docs: Always ticket_part + type: optional> + updated_at: + docs: The last time the note was updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketReplyPartType: + docs: Type of the part + enum: + - note + - comment + - quick_reply + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketRequestCustomAttributes: + docs: >- + 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`). + type: map + TicketStateList: + docs: A list of ticket states associated with a given ticket type. + properties: + data: + docs: A list of ticket states associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeAttribute: + docs: >- + Ticket type attribute, used to define each data field to be captured in a + ticket. + properties: + archived: + docs: Whether the ticket type attribute is archived or not. + type: optional + created_at: + docs: The date and time the ticket type attribute was created. + type: optional + data_type: + docs: >- + The type of the data attribute (allowed values: "string list integer + decimal boolean datetime files") + type: optional + default: + docs: Whether the attribute is built in or not. + type: optional + description: + docs: The description of the ticket type attribute + type: optional + id: + docs: The id representing the ticket type attribute. + type: optional + input_options: + docs: Input options for the attribute + type: optional> + name: + docs: The name of the ticket type attribute + type: optional + order: + docs: The order of the attribute against other attributes + type: optional + required_to_create: + default: false + docs: Whether the attribute is required or not for teammates. + type: optional + required_to_create_for_contacts: + default: false + docs: Whether the attribute is required or not for contacts. + type: optional + ticket_type_id: + docs: The id of the ticket type that the attribute belongs to. + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type_attribute`. + type: optional + updated_at: + docs: The date and time the ticket type attribute was last updated. + type: optional + visible_on_create: + default: true + docs: Whether the attribute is visible or not to teammates. + type: optional + visible_to_contacts: + default: true + docs: Whether the attribute is visible or not to contacts. + type: optional + workspace_id: + docs: The id of the workspace that the ticket type attribute belongs to. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeAttributeDataType: + docs: >- + The type of the data attribute (allowed values: "string list integer + decimal boolean datetime files") + enum: + - string + - list + - integer + - decimal + - boolean + - datetime + - files + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeAttributeList: + docs: A list of attributes associated with a given ticket type. + properties: + ticket_type_attributes: + docs: A list of ticket type attributes associated with a given ticket type. + type: optional>> + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type_attributes.list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeList: + docs: A list of ticket types associated with a given workspace. + properties: + data: + docs: A list of ticket_types associated with a given workspace. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Translation: + docs: >- + A translation object contains the localised details of a subscription + type. + properties: + description: + docs: The localised description of the subscription type. + type: optional + locale: + docs: >- + The two character identifier for the language of the translation + object. + type: optional + name: + docs: The localised name of the subscription type. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UntagCompanyRequest: + docs: You can tag a single company or a list of companies. + properties: + companies: + docs: The id or company_id of the company can be passed as input parameters. + type: list + name: + docs: The name of the tag which will be untagged from the company + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UntagCompanyRequestCompaniesItem: + inline: true + properties: + company_id: + docs: The company id you have defined for the company. + type: optional + id: + docs: The Intercom defined id representing the company. + type: optional + untag: + docs: Always set to true + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateArticleRequest: + docs: You can Update an Article + properties: + author_id: + docs: >- + 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. + type: optional + body: + docs: >- + The content of the article. For multilingual articles, this will be + the body of the default language's content. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + docs: >- + 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. + type: optional + title: + docs: >- + The title of the article.For multilingual articles, this will be the + title of the default language's content. + type: optional + translated_content: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateArticleRequestBody: + properties: + parent_type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateArticleRequestBodyParentType: + enum: + - collection + - section + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateArticleRequestState: + docs: >- + 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 + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateDataAttributeRequest: + discriminated: false + docs: '' + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: UpdateDataAttributeRequestOptions + - unknown + UpdateDataAttributeRequestOptions: + inline: true + properties: + options: + docs: >- + Array of objects representing the options of the list, with `value` as + the key and the option as the value. At least two options are + required. + type: list + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateDataAttributeRequestOptionsOptionsItem: + inline: true + properties: + value: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateTicketTypeRequest: + docs: > + 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/) + properties: + archived: + docs: The archived status of the ticket type. + type: optional + category: + docs: Category of the Ticket Type. + type: optional + description: + docs: The description of the ticket type. + type: optional + icon: + default: 🎟️ + docs: The icon of the ticket type. + type: optional + is_internal: + default: false + docs: >- + 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. + type: optional + name: + docs: The name of the ticket type. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateTicketTypeRequestCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateVisitorRequest: + discriminated: false + docs: Update an existing visitor. + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - UpdateVisitorRequestWithId + - UpdateVisitorRequestWithUserId + UpdateVisitorRequestOne: unknown + UpdateVisitorRequestWithId: + inline: true + properties: + custom_attributes: + docs: The custom attributes which are set for the visitor. + type: optional> + id: + docs: A unique identified for the visitor which is given by Intercom. + type: string + name: + docs: The visitor's name. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateVisitorRequestWithUserId: + inline: true + properties: + custom_attributes: + docs: The custom attributes which are set for the visitor. + type: optional> + name: + docs: The visitor's name. + type: optional + user_id: + docs: A unique identified for the visitor which is given by you. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Visitor: + docs: >- + 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. + properties: + anonymous: + docs: Identifies if this visitor is anonymous. + type: optional + app_id: + docs: The id of the app the visitor is associated with. + type: optional + avatar: + type: optional + companies: + type: optional + created_at: + docs: The time the Visitor was added to Intercom. + type: optional + custom_attributes: + docs: The custom attributes you have set on the Visitor. + type: optional> + do_not_track: + docs: Identifies if this visitor has do not track enabled. + type: optional + email: + docs: The email of the visitor. + type: optional + validation: + format: email + has_hard_bounced: + docs: Identifies if this visitor has had a hard bounce. + type: optional + id: + docs: The Intercom defined id representing the Visitor. + type: optional + las_request_at: + docs: The time the Lead last recorded making a request. + type: optional + location_data: + type: optional + marked_email_as_spam: + docs: Identifies if this visitor has marked an email as spam. + type: optional + name: + docs: The name of the visitor. + type: optional + owner_id: + docs: The id of the admin that owns the Visitor. + type: optional + phone: + docs: The phone number of the visitor. + type: optional + pseudonym: + docs: The pseudonym of the visitor. + type: optional + referrer: + docs: The referer of the visitor. + type: optional + remote_created_at: + docs: The time the Visitor was added to Intercom. + type: optional + segments: + type: optional + session_count: + docs: The number of sessions the Visitor has had. + type: optional + signed_up_at: + docs: The time the Visitor signed up for your product. + type: optional + social_profiles: + type: optional + tags: + type: optional + type: + docs: Value is 'visitor' + type: optional> + unsubscribed_from_emails: + docs: Whether the Visitor is unsubscribed from emails. + type: optional + updated_at: + docs: The last time the Visitor was updated. + type: optional + user_id: + docs: Automatically generated identifier for the Visitor. + type: optional + utm_campaign: + docs: The utm_campaign of the visitor. + type: optional + utm_content: + docs: The utm_content of the visitor. + type: optional + utm_medium: + docs: The utm_medium of the visitor. + type: optional + utm_source: + docs: The utm_source of the visitor. + type: optional + utm_term: + docs: The utm_term of the visitor. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorAvatar: + inline: true + properties: + image_url: + docs: This object represents the avatar associated with the visitor. + type: optional + validation: + format: uri + type: + default: avatar + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorCompanies: + inline: true + properties: + companies: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorDeletedObject: + docs: Response returned when an object is deleted + properties: + id: + docs: The unique identifier for the visitor which is given by Intercom. + type: optional + type: + docs: The type of object which was deleted + type: optional> + user_id: + docs: Automatically generated identifier for the Visitor. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorLocationData: + inline: true + properties: + city_name: + docs: The city name of the visitor. + type: optional + continent_code: + docs: The continent code of the visitor. + type: optional + country_code: + docs: The country code of the visitor. + type: optional + country_name: + docs: The country name of the visitor. + type: optional + postal_code: + docs: The postal code of the visitor. + type: optional + region_name: + docs: The region name of the visitor. + type: optional + timezone: + docs: The timezone of the visitor. + type: optional + type: + default: location_data + docs: '' + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorSegments: + inline: true + properties: + segments: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorSocialProfiles: + inline: true + properties: + social_profiles: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorTags: + inline: true + properties: + tags: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorTagsTagsItem: + inline: true + properties: + id: + docs: The id of the tag. + type: optional + name: + docs: The name of the tag. + type: optional + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + WhatsappMessageStatusList: + properties: + events: list + pages: WhatsappMessageStatusListPages + ruleset_id: + docs: The provided ruleset ID + type: string + total_count: + docs: Total number of events + type: integer + type: literal<"list"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + WhatsappMessageStatusListEventsItem: + inline: true + properties: + conversation_id: + docs: ID of the conversation + type: string + created_at: + docs: Creation timestamp + type: integer + id: + docs: Event ID + type: string + status: + docs: Current status of the message + type: WhatsappMessageStatusListEventsItemStatus + template_name: + docs: Name of the WhatsApp template used + type: optional + type: + docs: Event type + type: literal<"broadcast_outbound"> + updated_at: + docs: Last update timestamp + type: integer + whatsapp_message_id: + docs: WhatsApp's message identifier + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + WhatsappMessageStatusListEventsItemStatus: + docs: Current status of the message + enum: + - sent + - delivered + - read + - failed + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + WhatsappMessageStatusListPages: + inline: true + properties: + next: + docs: Information for fetching next page (null if no more pages) + type: optional + per_page: + docs: Number of results per page + type: integer + total_pages: + docs: Total number of pages + type: integer + type: literal<"pages"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + WhatsappMessageStatusListPagesNext: + docs: Information for fetching next page (null if no more pages) + inline: true + properties: + starting_after: + docs: Cursor for the next page + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +errors: + BadRequestError: + docs: Bad Request + examples: + - name: Example of an invalid away_status_reason_id + value: + errors: + - code: parameter_invalid + message: Away status reason is deleted + type: error.list + - name: >- + Example of a missing away_status_reason_id when away reasons are + mandatory + value: + errors: + - code: away_status_reason_mandatory + message: Away status reason is mandatory + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: >- + author_id must be in the main body or default locale + translated_content object + request_id: e522ca8a-cd15-404e-84b3-7f7536003d4a + type: error.list + - name: No dataset_id + value: + errors: + - code: bad_request + message: '''dataset_id'' is a required parameter' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Invalid dataset_id + value: + errors: + - code: bad_request + message: imaginary is not a valid dataset_id + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: No attribute_ids + value: + errors: + - code: bad_request + message: '''attribute_ids'' is a required parameter' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Empty attribute_ids + value: + errors: + - code: bad_request + message: attribute_ids must contain at least one attribute_id + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Non array attribute_ids + value: + errors: + - code: bad_request + message: '''attribute_ids'' not an array must be of type Array' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Invalid attribute_ids + value: + errors: + - code: bad_request + message: 'attribute_ids invalid for conversation dataset: non_existent' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: Name is a required parameter. + request_id: 816186b3-3187-4b47-adf8-e201bea32208 + type: error.list + - name: Bad Request + value: + errors: + - code: bad_request + message: bad 'test' parameter + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: company not specified + request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a + type: error.list + - name: Bad request + value: + errors: + - code: parameter_invalid + message: Ticket type is not a customer ticket type + request_id: 450e0b22-ccc2-40dd-bf54-bc0faaa28f57 + type: error.list + - name: BadRequest + value: + errors: + - code: data_invalid + message: Contact not found or could not be created + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Same name already exists + value: + 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. + request_id: da2a7037-11f4-4fcc-8d19-27da3b3a4336 + type: error.list + - name: Invalid name + value: + errors: + - code: parameter_invalid + message: >- + Your name for this attribute must only contain alphanumeric + characters, currency symbols, and hyphens + request_id: 1c45cfd9-ffd1-4e3e-9f7a-2ac99abdf03d + type: error.list + - name: Attribute already exists + value: + 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. + request_id: 55999605-a170-4894-a3d0-090c4fee8d11 + type: error.list + - name: Invalid Data Type + value: + errors: + - code: parameter_invalid + message: Data Type isn't an option + request_id: e0a9ccc7-a540-4ef0-8ffc-28ab86658b04 + type: error.list + - name: Too few options for list + value: + errors: + - code: parameter_invalid + message: The Data Attribute model field must be either contact or company + request_id: 6544ccf8-435d-49e1-91ed-e49356f14255 + type: error.list + - name: Too few options in list + value: + errors: + - code: parameter_invalid + message: Options isn't an array + request_id: 37cff4c5-5e1a-4958-a2ba-149b09d1915c + type: error.list + - name: No body supplied for message + value: + errors: + - code: parameter_invalid + message: Body is required + request_id: 3f3e74cc-65af-4408-9bf5-9e71b55c8166 + type: error.list + - name: No body supplied for email message + value: + errors: + - code: parameter_invalid + message: Body is required + request_id: 2d6abc61-1441-4860-9ef0-777852f8b24f + type: error.list + - name: bad request - exception sending sms + value: + error_key: sms_failed + message: SMS was not sent due to an unknown error + - name: bad request - invalid number + value: + error_key: invalid_phone_number + message: Invalid phone number + - name: too_many_ids + value: + errors: + - code: conversation_id_limit_exceeded + message: A list of up to 20 conversation IDs is required + type: error.list + - name: Invalid parameters + value: + errors: + - code: parameter_invalid + message: invalid tag parameters + request_id: 33a05108-3bf7-411f-a270-72db40b5a31c + type: error.list + - name: Tag has dependent objects + value: + errors: + - code: tag_has_dependent_objects + message: 'Unable to delete Tag with dependent objects. Segments: Seg 1.' + request_id: 28960d1e-a056-46c0-bf18-a0d798eb889f + type: error.list + - name: User reply + value: + errors: + - code: parameter_mismatch + message: User replies are not allowed on Backoffice tickets + request_id: 603ce1da-f2bf-4641-a1ee-d1f13ebf9172 + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_invalid + message: Missing required ticket attributes + request_id: c7bf358f-135e-48d7-8286-a4988a8a1456 + type: error.list + - name: >- + Ticket state id is not valid or is not associated with the ticket + type. + value: + errors: + - code: ticket_state_id_invalid + message: >- + Ticket state id is not valid or is not associated with the + ticket type + request_id: 28b71de1-b451-433a-a08c-845f2b1736b6 + type: error.list + status-code: 400 + type: unknown + ForbiddenError: + docs: API plan restricted + examples: + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b9 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: dcf1b373-3e66-4026-a987-98c16f00a908 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 8b3deed3-fd8b-43d6-b6a8-428c9e17aabb + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 34072e07-6b70-4f59-96bf-3106a3563a24 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 7a80b950-b392-499f-85db-ea7c6c424d37 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 48ad16d0-525c-40bf-b733-89239feb70e3 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: a57737d0-63a7-42bd-aa65-8380ef828124 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 99f72599-ac98-4b1e-af96-808654b6383e + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 6fe4106b-967a-46ba-b1c9-9996aff6e8c3 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 72b6821e-54ff-4a25-adf9-abdfef5fe72b + type: error.list + status-code: 403 + type: Error + NotFoundError: + docs: Admin not found + examples: + - name: Admin not found + value: + errors: + - code: admin_not_found + message: Admin for admin_id not found + request_id: efcd0531-798b-4c22-bccd-68877ed7faa4 + type: error.list + - name: Admin not found + value: + errors: + - code: admin_not_found + message: Admin not found + request_id: c59f7ca5-1639-4284-a66d-50e34ed98ab3 + type: error.list + - name: Article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 + type: error.list + - name: Article Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 + type: error.list + - name: Article Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: 'Export job not found for identifier: job1' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Collection not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: a074a09e-97d1-44e2-b164-b703559c9f23 + type: error.list + - name: Collection Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 198e3add-d017-4e18-b478-fbe2cb8c538b + type: error.list + - name: collection Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: f0d0ea9b-ffaf-48f5-95d0-e99531c379e2 + type: error.list + - name: Collection not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bbd5de60-49c4-4850-afff-1226cdaa0beb + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 57d57564-b5e2-4064-abfe-4653e5ac24c0 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: daa64b43-3e3c-4fc4-aef9-91eb40c7885c + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 4f41d1d6-7a42-45e3-a24e-544deb62da47 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 5dde0b79-8c81-4d9e-a4d4-736a44cf2f00 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: de5d939e-77fb-46d7-a3b9-f34199d9f25a + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 981799ea-f19b-432d-828c-491a3b29ad29 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: dcfc3465-8a51-4d78-b24c-2f215d48f339 + type: error.list + - name: Contact Not Found + value: + errors: + - code: not_found + message: User Not Found + request_id: b5a1f332-1bf1-44bd-a068-2634244b6051 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 57055cde-3d0d-4c67-b5c9-b20b80340bf0 + type: error.list + - name: Admin not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 168f1bc3-d198-4797-8422-9f93fe8af5ad + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 6f372239-0259-428f-9943-91b8f7a92162 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 61c119c7-b2f0-4158-8457-fd53e83f936a + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: c9b793ad-ff39-436c-80c9-db6f24d0d444 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 0c2871af-abed-4bce-a5c5-77efbe721711 + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 2774db46-34d9-4925-a24d-8203d4a39f65 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 82b37940-b43f-46ee-a492-11543a317c97 + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: c18422ca-5454-42af-9e1d-dd92066e6e9d + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 302049fb-b8c1-4dc8-a327-a8f6e1923484 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: f22a7847-ee33-449f-80c0-707efd295a53 + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 8a3e4f88-ae65-433a-b4eb-46780ffc5402 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: b3d41080-5b35-42b8-8584-31e4660d355f + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 02871f7a-860e-433a-8545-6a73fbbe5e22 + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Conversation not found + request_id: c6e8c74f-a354-4dfd-a5be-6061d2d26341 + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Conversation not found + request_id: 84db22c5-0fef-465a-a909-2643d8a22c69 + type: error.list + - name: Tag not found + value: + errors: + - code: tag_not_found + message: Tag not found + request_id: 1fe3e9ec-6a5b-4abc-b51c-a515f77d9577 + type: error.list + - name: Contact Not Found + value: + errors: + - code: not_found + message: User Not Found + request_id: d7eb553e-74ae-4341-820b-5d38a94d4a99 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 8c288c4f-b699-4209-9de4-064398f02785 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: de1be01d-a0d3-48a6-9ea6-9789931a6887 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 06234918-c245-4caa-a2cc-90247983c6ff + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: e056b3c3-fae3-4a3c-9bcf-836b84efa331 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 86fd8b2e-7048-4fbd-9fb0-d73085d7210b + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 89835b60-6756-4d2a-b148-26ca0cb49f9f + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: ab1b9371-3185-417f-a53a-dcae35892980 + type: error.list + - name: Not found + value: + errors: + - code: conversation_part_or_message_not_found + message: Conversation part or message not found + request_id: 5b7bb755-4031-4bfe-8897-54d0f1872bbc + type: error.list + - name: ObjectNotFound + value: + errors: + - code: not_found + message: Object not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: CustomObjectNotFound + value: + errors: + - code: not_found + message: Custom object instance not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: IntegrationNotFound + value: + errors: + - code: data_invalid + message: Integration not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: TypeNotFound + value: + errors: + - code: not_found + message: Custom object type `undefined` not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Attribute Not Found + value: + errors: + - code: field_not_found + message: We couldn't find that data attribute to update + request_id: eee16d31-0b0a-4b5f-b95a-25d37528c80f + type: error.list + - name: Job not found + value: + errors: + - code: job_not_found + message: Job Not Found + request_id: 123e4567-e89b-12d3-a456-426614174000 + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: da84e250-8626-47e8-815c-62b33f0f2c36 + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 2014d867-b634-495a-9b4f-ce56c4d657a9 + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 23728e22-7b9f-44a9-9b8d-5028811b9cd0 + type: error.list + - name: Note not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bc300b1a-492a-405f-924e-a5881cb72e3a + type: error.list + - name: Segment not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bd697cc6-7757-488c-a89f-16e6feaf7585 + type: error.list + - name: Not Found + value: + errors: + - code: not_found + message: Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Not Found + value: + errors: + - code: not_found + message: Recording Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Company not found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 23c998cc-32b8-435d-9653-932c15809460 + type: error.list + - name: User not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 7358f78d-f122-45dd-a2e1-c2261300c38a + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: e20c89d2-29c6-4abb-aa3d-c860e1cec1ca + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 49536975-bbc5-4a2f-ab8b-7928275cb4d3 + type: error.list + - name: Team not found + value: + errors: + - code: team_not_found + message: Team not found + request_id: 3ff156ba-a66e-40d4-93ff-cb6e6afc3c9d + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 24561472-06a4-41b2-aca2-97b3ccd9ca19 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: b44cff1d-c6f8-4d60-ab6f-33522cd739d8 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: 734019dc-1d61-4fad-a86e-e3fb06244c4d + type: error.list + - name: Tag not found + value: + errors: + - code: tag_not_found + message: Tag not found + request_id: a3658b9a-3562-48a7-8afe-362284632d67 + type: error.list + - name: Admin not found + value: + errors: + - code: assignee_not_found + message: Assignee not found + request_id: f9757add-b48a-4519-a6e0-04b2ef9c8c6c + type: error.list + - name: Assignee not found + value: + errors: + - code: assignee_not_found + message: Assignee not found + request_id: 39cf6495-768c-450c-a2c4-c9c3c4ea2e01 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: 34a070f1-122e-42dc-a94e-9b86768df26c + type: error.list + - name: Visitor not found + value: + errors: + - code: not_found + message: Visitor Not Found + request_id: 3c1b017d-39fb-4d13-8cc9-540ad0d37106 + type: error.list + - name: visitor Not Found + value: + errors: + - code: not_found + message: Visitor Not Found + request_id: 6a6d5522-54e2-437d-8fd0-1109686af965 + type: error.list + status-code: 404 + type: unknown + TooManyRequestsError: + docs: Too many jobs in progress + examples: + - name: Unauthorized + value: + errors: + - code: rate_limit_exceeded + message: Exceeded rate limit of 5 pending reporting dataset export jobs + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + status-code: 429 + type: Error + UnauthorizedError: + docs: Unauthorized + examples: + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e76b2df0-2413-4215-8a5a-b5f6ebd4e642 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 57cc6148-2c0a-471b-bd9e-859538110958 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5ef5682e-f66e-40a4-b828-8592175f83b8 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff783bc1-754f-4a9f-887b-22f94fec18f0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9e554e0f-ed0a-4fc6-b141-105d70c9d485 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 31262ee6-aa3b-4748-a260-a1084754ebae + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5556d3dd-d4e2-4424-9757-2ad0accb52e5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: cb4a6795-2cdb-44f9-adb7-0624702f7e8a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 093e1dd9-996a-4154-a64c-80803a5c2084 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: bd0c53dd-d3fd-4095-be25-94537a8ba364 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 205ffc13-1b25-43b2-a176-cb817af5f899 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 504cde98-f786-4f64-b373-e26a6a41fd11 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 8217b189-b908-4562-962d-2a19a7b77f25 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2380cdd5-c4a0-451a-b07d-a6f4b720add3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2e760b85-9020-471b-89dc-f579ec8a0104 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 85e91429-72df-4e69-8a12-b55793dff59f + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2eab07fb-5092-49a4-ba74-44094f31f264 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d1ea223d-bb62-42e3-8bcf-30fdcf7dbd99 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c6e86ce8-9402-4196-89c5-f1b2912b4bac + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c70746a8-a5b2-4772-afba-1a4b487ea75d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 12c2d3a0-77ef-462e-a5ed-e67ddff50b6e + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 25d96ec2-641f-4354-b24e-83a85d33bd30 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a29395a5-181c-4f3b-b069-5b2f32604c58 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b286edcc-453d-43af-bf2f-40f303708c61 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d0d16fb5-93e6-45ca-b07d-f98fb92fd733 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7c301f6-9206-418b-9792-98821970e48b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 76edbbb7-e463-4f6a-817a-b7905d467535 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2fa563ba-f9c9-4281-a76b-10bfd777dfd7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 8a9f415f-e9df-41e9-ba1f-739914f66551 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: caf73ce4-bda6-4f2b-bbfb-0d984d430335 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 4748eb32-3261-4798-ace0-a5825edf4eb5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7b13fd9c-31be-40de-94e1-d71f260a3458 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f7586690-c217-47db-9042-cb9550b81260 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 91f04dce-5759-4d80-981e-f598ec989d1a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 537ccc45-2cae-4e72-ac2f-849f1422a771 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ca269b05-8c42-4615-a28d-7df0eb1687c5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9bc1e0cc-5cc4-412d-8037-57e073375ab0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 0273c219-51b7-4938-95d2-19996b2e2734 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7323b97b-9ba4-4c54-946c-38cecea65b3c + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f615465d-fd5f-4d68-8498-389130b897e4 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7de741d-dc8f-49b1-8cbe-791668ade76c + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ca3c5e6e-c743-428b-aa8a-ac371a50cc39 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9b1c9966-caeb-485a-8419-d707fd472c63 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 491beaa4-a452-4940-85e0-498c0ca5528d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 45b30bd1-75d2-40cc-bb39-74ac133a2836 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 89ce96d9-aae9-4eec-ace2-d68cc4f74879 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a947b2f0-23d3-419d-9ec4-cdd191cea676 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff328c7c-6140-48eb-84dd-bb8960b66cd0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f0dc95f1-9e46-4e8d-8150-89365c2c5195 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e097e446-9ae6-44a8-8e13-2bf3008b87ef + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff2353d3-d3d6-4f20-8268-847869d01e73 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1fb28be7-cda6-4029-b4da-447ef61cb61a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 617bb25d-4dea-4a68-ae74-2fb8f4e87b39 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: df73b7b4-2352-44fd-8d14-4ea8536ad138 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b14d75ab-7d26-4191-b33f-77ca0a4d4ede + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 68e42c33-8220-48ea-906f-75584c3ec440 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1350c241-0f22-48ca-bab9-169080340870 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: de63ddb2-c525-4ebf-ad38-82ed8b44c896 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 310f55b0-2660-43e8-bed4-7e82b2f40920 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 50f1e8d1-cf1a-450c-a7b5-87a264076241 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 623bbbb8-f6fb-45f3-a2e2-4106ff3a4349 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9dc7c1a0-b818-472c-adf6-3e327f22f541 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 89ef64b2-d1f9-40c3-89e9-d39175d3d647 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 4814668f-5d31-4bf7-8f66-b426aac054db + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6d231766-b44b-4e78-bc9e-9c268ff19671 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: fa71b91c-4a25-4fe6-88a9-884f6950860e + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c60ce63d-1c74-4fe2-8e21-31d1f817a0c2 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e6f50446-be4a-40ac-8c8d-6fb91e1040fd + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 212c8206-e7a6-44c8-8f27-5f0ad7f1d243 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7a7d8425-2c1b-46ab-8133-c043fc1e5711 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2c8a20ee-ed09-42c0-a31d-a1b4f5d2742d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d7997515-cd92-4fe4-966c-cb1f4bdda1d4 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5142ad8e-883e-4b71-9adb-6494851e9b77 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 33ff62c6-ceb7-4bde-93d6-301bed6f24b2 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5838c54e-dd15-460b-82dd-794c4d0e12c5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e5357876-89be-4a04-80c3-16735b7f53ff + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 022ff8b0-d16f-437c-8217-754c13e16dee + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: caa26d8b-6512-445d-9418-9fc5849ca304 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6d9a1bf5-aa08-4c93-a61a-5a21130b6553 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 81384687-5818-4df9-b421-fba77edd6c17 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b1939528-98f0-4a63-a442-2cc9203fc8c7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: be0d5309-d722-4d2a-aae9-77f4bc0a2cd0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 06d15b1f-19b0-42cc-aff9-a9d9db39402b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e1ed4f34-9477-492a-8ddb-22f10af39734 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2859da57-c83f-405c-8166-240a312442a3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f230e3a7-00a9-456b-bf1c-2ad4b7dc49f6 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c1c0477c-5b80-4874-be65-01ec8a9ffe14 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 90a369be-14bb-48d1-8ed6-6287976f6a64 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a77dadbc-1f1e-4875-bac3-f0d09bbc214a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: fc4b741b-b9f1-4ef9-92c7-eb71e9811df3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5e0bd231-7307-42e6-a6ee-babf05bd163b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6c9836ed-8485-4f1d-929d-b9d7e153daed + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: cd303186-b33e-4409-8bfc-5814b176d6e1 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a63507c2-3b3b-4a1a-aafa-f08b87eb2c12 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 36b79d0c-b78f-4e1d-bd6d-bfc3dcc71f53 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c9a2c3da-7536-4eba-bde7-c38c2d9e2942 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2fc2ae95-64ec-4581-80f0-79ecfdc2e759 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ed4305b3-4364-4fab-9f8d-e07e9a8190ab + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2bed74fe-1b04-4c07-8813-02c700e8dcad + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2e87c98e-4ffc-407e-b7bc-065d4d456ea7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7bf358f-135e-48d7-8286-a4988a8a1d9b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d719ad4f-5ae2-492f-88d6-98ba0a9ab6cc + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 17db783e-1e43-41c9-b4db-0c05da78a909 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 50348131-55cd-4ca1-a65f-de093b232adb + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1d7f49b3-10bc-4bf8-a28a-1ac95de3a6ff + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 3f474ec4-4e61-42ee-9acc-eac64982e393 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b3e71306-0600-41e4-9f44-83b52906d2b7 + type: error.list + status-code: 401 + type: Error + UnprocessableEntityError: + docs: Last customer + examples: + - name: Last customer + value: + errors: + - code: parameter_invalid + message: Removing the last customer is not allowed + request_id: 8275e92f-66b7-40f9-82a8-9647ca8d7eb4 + type: error.list + - name: ValidationError + value: + errors: + - code: data_invalid + message: Invalid or duplicated record reference + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Has Dependant Object + value: + errors: + - code: data_invalid + message: >- + The Data Attribute you are trying to archive has a dependant + object + request_id: f04b6b14-1c5b-46e1-9c95-4a914557062c + type: error.list + - name: No subject supplied for email message + value: + errors: + - code: parameter_not_found + message: No subject supplied for email message + request_id: 97db463e-7070-4ac9-9846-9a5d31933772 + type: error.list + - name: unprocessable entity + value: + error_key: some_error + status-code: 422 + type: unknown diff --git a/fern/.definition/admins.yml b/fern/.definition/admins.yml new file mode 100644 index 0000000..75d3bc5 --- /dev/null +++ b/fern/.definition/admins.yml @@ -0,0 +1,386 @@ +imports: + root: __package__.yml +types: + Admin: + docs: Admins are teammate accounts that have access to a workspace. + properties: + avatar: + docs: Image for the associated team or teammate + type: optional + validation: + format: uri + away_mode_enabled: + docs: Identifies if this admin is currently set in away mode. + type: boolean + away_mode_reassign: + docs: >- + Identifies if this admin is set to automatically reassign new + conversations to the apps default inbox. + type: boolean + away_status_reason_id: + docs: The unique identifier of the away status reason + type: optional + email: + docs: The email of the admin. + type: string + has_inbox_seat: + docs: >- + Identifies if this admin has a paid inbox seat to restrict/allow + features that require them. + type: boolean + id: + docs: The id representing the admin. + type: string + job_title: + docs: The job title of the admin. + type: optional + name: + docs: The name of the admin. + type: string + team_ids: + docs: This object represents the avatar associated with the admin. + type: list + team_priority_level: + type: optional + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Admins +service: + auth: false + base-path: '' + display-name: Admins + endpoints: + away: + auth: true + examples: + - path-parameters: + admin_id: admin_id + method: PUT + path: /admins/{admin_id}/away + request: + name: ConfigureAwayAdminRequest + path-parameters: + admin_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + admin_id: admin_id + method: GET + path: /admins/{admin_id} + request: + name: FindAdminRequest + path-parameters: + admin_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + identify: + auth: true + display-name: Identify an admin + docs: > + + 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. + examples: + - name: Successful response + response: + body: + app: + created_at: 1734537243 + id_code: this_is_an_id1_that_should_be_at_least_40 + identity_verification: false + name: MyApp 1 + region: US + timezone: America/Los_Angeles + type: app + avatar: + image_url: >- + https://static.intercomassets.com/assets/default-avatars/admins/128.png + type: avatar + away_mode_enabled: false + away_mode_reassign: false + email: admin1@email.com + email_verified: true + has_inbox_seat: true + id: '991267459' + job_title: Associate + name: Ciaran1 Lee + team_ids: + - 814865 + type: admin + method: GET + path: /me + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all admins + docs: You can fetch a list of admins for a given workspace. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + response: + body: + admins: + - avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin7@email.com + has_inbox_seat: true + id: '991267466' + job_title: Associate + name: Ciaran7 Lee + team_ids: + - 814865 + type: admin + type: admin.list + method: GET + path: /admins + response: + docs: Successful response + status-code: 200 + type: root.AdminList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAllActivityLogs: + auth: true + display-name: List all activity logs + docs: You can get a log of activities by all admins in an app. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + query-parameters: + created_at_after: '1677253093' + created_at_before: '1677861493' + response: + body: + activity_logs: + - activity_description: Ciaran5 Lee changed your app name from before to after. + activity_type: app_name_change + created_at: 1734537253 + id: fca05814-4b72-4dce-ad4f-77a786a2c136 + performed_by: + email: admin5@email.com + id: '991267464' + ip: 127.0.0.1 + type: admin + - activity_description: >- + Ciaran5 Lee changed your Initial message title message from + Initial message title to Eventual message title. + activity_type: message_state_change + created_at: 1734537253 + id: f48c653b-0185-48ac-a276-23d11006bafb + performed_by: + email: admin5@email.com + id: '991267464' + ip: 127.0.0.1 + type: admin + pages: + page: 1 + per_page: 20 + total_pages: 1 + type: pages + type: activity_log.list + method: GET + path: /admins/activity_logs + request: + name: ListAllActivityLogsRequest + query-parameters: + created_at_after: + docs: >- + The start date that you request data for. It must be formatted as + a UNIX timestamp. + type: string + created_at_before: + docs: >- + The end date that you request data for. It must be formatted as a + UNIX timestamp. + type: optional + response: + docs: Successful response + status-code: 200 + type: root.ActivityLogList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveAdmin: + auth: true + display-name: Retrieve an admin + docs: You can retrieve the details of a single admin. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Admin found + path-parameters: + id: 1 + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + email: admin9@email.com + has_inbox_seat: true + id: '991267468' + job_title: Associate + name: Ciaran9 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + method: GET + path: /admins/{id} + request: + name: RetrieveAdminRequest + path-parameters: + id: + docs: The unique identifier of a given admin + type: integer + response: + docs: Admin found + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + setAwayAdmin: + auth: true + display-name: Set an admin to away + docs: You can set an Admin as away for the Inbox. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + - name: Admin not found + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + - name: Unauthorized + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + method: PUT + path: /admins/{id}/away + request: + body: + properties: + away_mode_enabled: + default: true + docs: Set to "true" to change the status of the admin to away. + type: boolean + away_mode_reassign: + default: false + docs: >- + Set to "true" to assign any new conversation replies to your + default inbox. + type: boolean + away_status_reason_id: + docs: The unique identifier of the away status reason + type: optional + content-type: application/json + name: SetAwayAdminRequest + path-parameters: + id: + docs: The unique identifier of a given admin + type: integer + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiAgent.yml b/fern/.definition/aiAgent.yml new file mode 100644 index 0000000..accbcc2 --- /dev/null +++ b/fern/.definition/aiAgent.yml @@ -0,0 +1,56 @@ +imports: + root: __package__.yml +types: + AiAgent: + docs: Data related to AI Agent involvement in the conversation. + properties: + content_sources: + type: optional + created_at: + docs: The time when the AI agent rating was created. + type: optional + last_answer_type: + docs: >- + The type of the last answer delivered by AI Agent. If no answer was + delivered then this will return `null` + type: optional + rating: + docs: The customer satisfaction rating given to AI Agent, from 1-5. + type: optional + rating_remark: + docs: The customer satisfaction rating remark given to AI Agent. + type: optional + resolution_state: + docs: >- + The resolution state of AI Agent. If no AI or custom answer has been + delivered then this will return `null`. + type: optional + source_title: + docs: >- + The title of the source that triggered AI Agent involvement in the + conversation. If this is `essentials_plan_setup` then it will return + `null`. + type: optional + source_type: + docs: >- + The type of the source that triggered AI Agent involvement in the + conversation. + type: optional + updated_at: + docs: The time when the AI agent rating was last updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AiAgentSourceType: + docs: >- + The type of the source that triggered AI Agent involvement in the + conversation. + enum: + - essentials_plan_setup + - profile + - workflow + - workflow_preview + - fin_preview + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiContent.yml b/fern/.definition/aiContent.yml new file mode 100644 index 0000000..51e54fd --- /dev/null +++ b/fern/.definition/aiContent.yml @@ -0,0 +1,773 @@ +imports: + root: __package__.yml +types: + ContentImportSource: + docs: >- + An external source for External Pages that you add to your Fin Content + Library. + properties: + created_at: + docs: The time when the content import source was created. + type: integer + id: + docs: >- + The unique identifier for the content import source which is given by + Intercom. + type: integer + last_synced_at: + docs: The time when the content import source was last synced. + type: integer + status: + default: active + docs: The status of the content import source. + type: ContentImportSourceStatus + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, this + should be set to `api`. + type: ContentImportSourceSyncBehavior + type: + docs: Always external_page + type: literal<"content_import_source"> + updated_at: + docs: The time when the content import source was last updated. + type: integer + url: + docs: The URL of the root of the external source. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContentImportSourcesList: + docs: This will return a list of the content import sources for the App. + properties: + data: + docs: An array of Content Import Source objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of content import sources. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContentImportSourceStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContentImportSourceSyncBehavior: + docs: >- + If you intend to create or update External Pages via the API, this should + be set to `api`. + enum: + - api + - automatic + - manual + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateContentImportSourceRequestStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ExternalPage: + docs: External pages that you have added to your Fin Content Library. + properties: + ai_agent_availability: + docs: >- + Whether the external page should be used to answer questions by AI + Agent. + type: boolean + ai_copilot_availability: + docs: >- + Whether the external page should be used to answer questions by AI + Copilot. + type: boolean + created_at: + docs: The time when the external page was created. + type: integer + external_id: + docs: >- + The identifier for the external page which was given by the source. + Must be unique for the source. + type: string + fin_availability: + docs: >- + Deprecated. Use ai_agent_availability and ai_copilot_availability + instead. + type: optional + html: + docs: The body of the external page in HTML. + type: string + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + last_ingested_at: + docs: The time when the external page was last ingested. + type: integer + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which was + given by Intercom. Every external page must be associated with a + Content Import Source which represents the place it comes from and + from which it inherits a default audience (configured in the UI). For + a new source, make a POST request to the Content Import Source + endpoint and an ID for the source will be returned in the response. + type: integer + title: + docs: The title of the external page. + type: string + type: + docs: Always external_page + type: literal<"external_page"> + updated_at: + docs: The time when the external page was last updated. + type: integer + url: + docs: >- + The URL of the external page. This will be used by Fin to link end + users to the page it based its answer on. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ExternalPagesList: + docs: This will return a list of external pages for the App. + properties: + data: + docs: An array of External Page objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of external pages. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateContentImportSourceRequestStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateContentImportSourceRequestSyncBehavior: + docs: >- + If you intend to create or update External Pages via the API, this should + be set to `api`. You can not change the value to or from api. + enum: + - api + - automated + - manual + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: > + With the AI Content APIs, you can create and manage External Pages and Content + Import Sources for your Fin Content Library. + + +   + + + *External Pages* are pages that you want Fin to be able to answer questions + about. The API for External Pages is a great way to ingest into your Fin + Content Library pages that are not publicly accessible and hence can't be + crawled by Intercom. + + +   + + + *Content Import Sources* are the sources of those pages, and they are used to + determine the default audience for the pages (configured via the UI). You + should create a Content Import Source for each source of External Pages that + you want to ingest into your Fin Content Library. + + +   + + + You can then iterate through the content from that source via its API and POST + it to the External Pages endpoint. That endpoint has an *external_id* + parameter which allows you to specify the identifier from the source. The + endpoint will then either create a new External Page or update an existing one + as appropriate.", +service: + auth: false + base-path: '' + display-name: AI Content + endpoints: + createContentImportSource: + auth: true + display-name: Create a content import source + docs: >- + You can create a new content import source by sending a POST request to + this endpoint. + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + sync_behavior: api + url: https://www.example.com + response: + body: + created_at: 1734537261 + id: 36 + last_synced_at: 1734537261 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537261 + url: https://www.example.com + method: POST + path: /ai/content_import_sources + request: + body: + properties: + status: + default: active + docs: The status of the content import source. + type: optional + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, + this should be set to `api`. + type: literal<"api"> + url: + docs: The URL of the content import source. + type: string + content-type: application/json + name: CreateContentImportSourceRequest + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + createExternalPage: + auth: true + display-name: Create an external page (or update an external page by external ID) + docs: >- + You can create a new external page by sending a POST request to this + endpoint. If an external page already exists with the specified + source_id and external_id, it will be updated instead. + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + external_id: abc1234 + html:

Test

+ locale: en + source_id: 44 + title: Test + url: https://www.example.com + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537273 + external_id: abc1234 + fin_availability: true + html:

Test

+ id: '21' + last_ingested_at: 1734537274 + locale: en + source_id: 44 + title: Test + type: external_page + updated_at: 1734537274 + url: https://www.example.com + method: POST + path: /ai/external_pages + request: + body: + properties: + ai_agent_availability: + default: false + docs: >- + Whether the external page should be used to answer questions by + AI Agent. Will not default when updating an existing external + page. + type: optional + ai_copilot_availability: + default: false + docs: >- + Whether the external page should be used to answer questions by + AI Copilot. Will not default when updating an existing external + page. + type: optional + external_id: + docs: >- + The identifier for the external page which was given by the + source. Must be unique for the source. + type: string + html: + docs: The body of the external page in HTML. + type: string + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which + was given by Intercom. Every external page must be associated + with a Content Import Source which represents the place it comes + from and from which it inherits a default audience (configured + in the UI). For a new source, make a POST request to the Content + Import Source endpoint and an ID for the source will be returned + in the response. + type: integer + title: + docs: The title of the external page. + type: string + url: + docs: >- + The URL of the external page. This will be used by Fin to link + end users to the page it based its answer on. When a URL is not + present, Fin will not reference the source. + type: optional + content-type: application/json + name: CreateExternalPageRequest + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteContentImportSource: + auth: true + display-name: Delete a content import source + docs: >- + You can delete a content import source by making a DELETE request this + endpoint. This will also delete all external pages that were imported + from this source. + errors: + - root.UnauthorizedError + examples: + - path-parameters: + id: id + method: DELETE + path: /ai/content_import_sources/{id} + request: + name: DeleteContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteExternalPage: + auth: true + display-name: Delete an external page + docs: >- + Sending a DELETE request for an external page will remove it from the + content library UI and from being used for AI answers. + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537276 + external_id: '4' + fin_availability: true + html: '' + id: '22' + last_ingested_at: 1734537276 + locale: en + source_id: 45 + title: My External Content + type: external_page + updated_at: 1734537276 + url: https://support.example.com/us/5 + method: DELETE + path: /ai/external_pages/{id} + request: + name: DeleteExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getContentImportSource: + auth: true + display-name: Retrieve a content import source + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + created_at: 1734537265 + id: 38 + last_synced_at: 1734537265 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537265 + url: https://support.example.com/us/5 + method: GET + path: /ai/content_import_sources/{id} + request: + name: GetContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getExternalPage: + auth: true + display-name: Retrieve an external page + docs: You can retrieve an external page. + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537278 + external_id: '5' + fin_availability: true + html:

Hello world

This is external content

+ id: '23' + last_ingested_at: 1734537278 + locale: en + source_id: 46 + title: My External Content + type: external_page + updated_at: 1734537278 + url: https://support.example.com/us/6 + method: GET + path: /ai/external_pages/{id} + request: + name: GetExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listContentImportSources: + auth: true + display-name: List content import sources + docs: You can retrieve a list of all content import sources for a workspace. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - created_at: 1734537259 + id: 33 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/1 + - created_at: 1734537259 + id: 34 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/2 + - created_at: 1734537259 + id: 35 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/3 + pages: + next: next + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 3 + type: list + method: GET + path: /ai/content_import_sources + response: + docs: successful + status-code: 200 + type: ContentImportSourcesList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listExternalPages: + auth: true + display-name: List external pages + docs: You can retrieve a list of all external pages for a workspace. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '3' + fin_availability: true + html:

Hello world

This is external content

+ id: '19' + last_ingested_at: 1734537269 + locale: en + source_id: 42 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/3 + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '2' + fin_availability: true + html:

Hello world

This is external content

+ id: '18' + last_ingested_at: 1734537269 + locale: en + source_id: 41 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/2 + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '1' + fin_availability: true + html:

Hello world

This is external content

+ id: '17' + last_ingested_at: 1734537269 + locale: en + source_id: 40 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/1 + pages: + next: next + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 3 + type: list + method: GET + path: /ai/external_pages + response: + docs: successful + status-code: 200 + type: ExternalPagesList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateContentImportSource: + auth: true + display-name: Update a content import source + docs: You can update an existing content import source. + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + request: + sync_behavior: api + url: https://www.example.com + response: + body: + created_at: 1734537267 + id: 39 + last_synced_at: 1734537267 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537267 + url: https://www.example.com + method: PUT + path: /ai/content_import_sources/{id} + request: + body: + properties: + status: + default: active + docs: The status of the content import source. + type: optional + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, + this should be set to `api`. You can not change the value to or + from api. + type: UpdateContentImportSourceRequestSyncBehavior + url: + docs: >- + The URL of the content import source. This may only be different + from the existing value if the sync behavior is API. + type: string + content-type: application/json + name: UpdateContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateExternalPage: + auth: true + display-name: Update an external page + docs: >- + You can update an existing external page (if it was created via the + API). + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + request: + external_id: '5678' + html:

Test

+ locale: en + source_id: 47 + title: Test + url: https://www.example.com + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537280 + external_id: '5678' + fin_availability: true + html:

Test

+ id: '24' + last_ingested_at: 1734537281 + locale: en + source_id: 47 + title: Test + type: external_page + updated_at: 1734537281 + url: https://www.example.com + method: PUT + path: /ai/external_pages/{id} + request: + body: + properties: + external_id: + docs: >- + The identifier for the external page which was given by the + source. Must be unique for the source. + type: optional + fin_availability: + default: true + docs: >- + Whether the external page should be used to answer questions by + Fin. + type: optional + html: + docs: The body of the external page in HTML. + type: string + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which + was given by Intercom. Every external page must be associated + with a Content Import Source which represents the place it comes + from and from which it inherits a default audience (configured + in the UI). For a new source, make a POST request to the Content + Import Source endpoint and an ID for the source will be returned + in the response. + type: integer + title: + docs: The title of the external page. + type: string + url: + docs: >- + The URL of the external page. This will be used by Fin to link + end users to the page it based its answer on. + type: string + content-type: application/json + name: UpdateExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiContentSource.yml b/fern/.definition/aiContentSource.yml new file mode 100644 index 0000000..ee86f31 --- /dev/null +++ b/fern/.definition/aiContentSource.yml @@ -0,0 +1,18 @@ +types: + ContentSource: + docs: The content source used by AI Agent in the conversation. + properties: + content_type: + docs: The type of the content source. + type: optional> + locale: + docs: The ISO 639 language code of the content source. + type: optional + title: + docs: The title of the content source. + type: optional + url: + docs: The internal URL linking to the content source for teammates. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/api.yml b/fern/.definition/api.yml new file mode 100644 index 0000000..10f7190 --- /dev/null +++ b/fern/.definition/api.yml @@ -0,0 +1,39 @@ +auth: BearerAuthScheme +auth-schemes: + BearerAuthScheme: + scheme: bearer + token: + env: INTERCOM_API_KEY +default-environment: USProduction +display-name: Intercom API +environments: + AUProduction: https://api.au.intercom.io/ + EUProduction: https://api.eu.intercom.io/ + USProduction: https://api.intercom.io/ +error-discrimination: + strategy: status-code +name: api +version: + default: '2.11' + header: + name: version + value: Intercom-Version + values: + - '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 diff --git a/fern/.definition/articles.yml b/fern/.definition/articles.yml new file mode 100644 index 0000000..eab668a --- /dev/null +++ b/fern/.definition/articles.yml @@ -0,0 +1,2515 @@ +imports: + internalArticles: internalArticles.yml + root: __package__.yml +types: + Article: + docs: >- + The Articles API is a central place to gather all information and take + actions on your articles. Articles can live within collections and + sections, or alternatively they can stand alone. + extends: + - ArticleListItem + properties: + statistics: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleListItem: + docs: The data returned about your articles when you list them. + properties: + author_id: + docs: >- + 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. + type: integer + body: + docs: >- + The body of the article in HTML. For multilingual articles, this will + be the body of the default language's content. + type: optional + created_at: + docs: >- + The time when the article was created. For multilingual articles, this + will be the timestamp of creation of the default language's content in + seconds. + type: integer + default_locale: + docs: >- + The default locale of the help center. This field is only returned for + multilingual help centers. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + id: + docs: The unique identifier for the article which is given by Intercom. + type: string + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_ids: + docs: >- + The ids of the article's parent collections or sections. An article + without this field stands alone. + type: optional> + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + default: draft + docs: >- + Whether the article is `published` or is a `draft`. For multilingual + articles, this will be the state of the default language's content. + type: ArticleListItemState + title: + docs: >- + The title of the article. For multilingual articles, this will be the + title of the default language's content. + type: string + translated_content: + type: optional + type: + docs: The type of object - `article`. + type: optional> + updated_at: + docs: >- + The time when the article was last updated. For multilingual articles, + this will be the timestamp of last update of the default language's + content in seconds. + type: integer + url: + docs: >- + The URL of the article. For multilingual articles, this will be the + URL of the default language's content. + type: optional + workspace_id: + docs: The id of the workspace which the article belongs to. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleListItemState: + default: draft + docs: >- + Whether the article is `published` or is a `draft`. For multilingual + articles, this will be the state of the default language's content. + enum: + - published + - draft + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchHighlights: + docs: >- + The highlighted results of an Article search. In the examples provided my + search query is always "my query". + properties: + article_id: + docs: The ID of the corresponding article. + type: optional + highlighted_summary: + docs: An Article description and body text highlighted. + type: >- + optional>> + highlighted_title: + docs: An Article title highlighted. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedSummaryItemItem: + docs: An instance of highlighted summary text. + inline: true + properties: + text: + docs: The text of the title. + type: optional + type: + docs: The type of text - `highlight` or `plain`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedSummaryItemItemType: + docs: The type of text - `highlight` or `plain`. + enum: + - highlight + - plain + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedTitleItem: + docs: A highlighted article title. + inline: true + properties: + text: + docs: The text of the title. + type: optional + type: + docs: The type of text - `highlight` or `plain`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedTitleItemType: + docs: The type of text - `highlight` or `plain`. + enum: + - highlight + - plain + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchResponse: + docs: The results of an Article search + properties: + data: + docs: An object containing the results of the search. + type: optional + pages: + type: optional + total_count: + docs: The total number of Articles matching the search query + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArticleSearchResponseData: + docs: An object containing the results of the search. + inline: true + properties: + articles: + docs: An array of Article objects + type: optional> + highlights: + docs: A corresponding array of highlighted Article content + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + InternalArticle: + docs: >- + The Internal Articles API is a central place to gather all information and + take actions on your internal articles. + type: internalArticles.InternalArticleListItem +docs: Everything about your Articles +service: + auth: false + base-path: '' + display-name: Articles + endpoints: + create: + auth: true + display-name: Create an article + docs: >- + You can create a new article by making a POST request to + `https://api.intercom.io/articles`. + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: article created + request: + author_id: 991267497 + body: Body of the Article + description: Description of the Article + parent_id: 145 + parent_type: collection + state: published + title: Thanks for everything + translated_content: + fr: + author_id: 991267497 + body: Corps de l'article + description: Description de l'article + state: published + title: Merci pour tout + response: + body: + author_id: 991267497 + body:

Body of the Article

+ created_at: 1734537288 + default_locale: en + description: Description of the Article + id: '42' + parent_id: 145 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: Thanks for everything + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537288 + url: >- + http://help-center.test/myapp-68/en/articles/42-thanks-for-everything + workspace_id: this_is_an_id68_that_should_be_at_least_4 + - name: Bad Request + request: + author_id: 1295 + body: Body of the Article + description: Description of the Article + state: published + title: Thanks for everything + response: + body: + author_id: 991267497 + body:

Body of the Article

+ created_at: 1734537288 + default_locale: en + description: Description of the Article + id: '42' + parent_id: 145 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: Thanks for everything + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537288 + url: >- + http://help-center.test/myapp-68/en/articles/42-thanks-for-everything + workspace_id: this_is_an_id68_that_should_be_at_least_4 + method: POST + path: /articles + request: + body: + type: optional + content-type: application/json + response: + docs: article created + status-code: 200 + type: Article + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + article_id: article_id + method: DELETE + path: /articles/{article_id} + request: + name: DeleteArticleRequest + path-parameters: + article_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteArticle: + auth: true + display-name: Delete an article + docs: >- + You can delete a single article by making a DELETE request to + `https://api.intercom.io/articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '51' + object: article + method: DELETE + path: /articles/{id} + request: + name: DeleteArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: root.DeletedArticleObject + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + article_id: article_id + method: GET + path: /articles/{article_id} + request: + name: FindArticleRequest + path-parameters: + article_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all articles + docs: > + 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. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - author_id: 991267492 + body: '' + created_at: 1734537283 + default_locale: en + description: '' + id: '39' + parent_id: 143 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + title: This is the article title + type: article + updated_at: 1734537283 + url: >- + http://help-center.test/myapp-64/en/articles/39-this-is-the-article-title + workspace_id: this_is_an_id64_that_should_be_at_least_4 + pages: + page: 1 + per_page: 25 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + pagination: + offset: $request.page + results: $response.data + path: /articles + response: + docs: successful + status-code: 200 + type: root.ArticleList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveArticle: + auth: true + display-name: Retrieve an article + docs: >- + You can fetch the details of a single article by making a GET request to + `https://api.intercom.io/articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Article found + path-parameters: + id: 1 + response: + body: + author_id: 991267502 + body: '' + created_at: 1734537292 + default_locale: en + description: '' + id: '45' + parent_id: 148 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: This is the article title + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537292 + url: >- + http://help-center.test/myapp-74/en/articles/45-this-is-the-article-title + workspace_id: this_is_an_id74_that_should_be_at_least_4 + method: GET + path: /articles/{id} + request: + name: RetrieveArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: Article found + status-code: 200 + type: Article + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + search: + auth: true + display-name: Search for articles + docs: >- + You can search for articles by making a GET request to + `https://api.intercom.io/articles/search`. + errors: + - root.UnauthorizedError + examples: + - name: Search successful + query-parameters: + phrase: Getting started + state: published + response: + body: + data: + articles: + - author_id: 991267521 + body: '' + created_at: 1734537306 + default_locale: en + description: '' + id: '55' + parent_ids: + - 18 + - 19 + parent_type: collection + state: draft + title: Title 1 + type: article + updated_at: 1734537306 + url: http://intercom.test/help/en/articles/3-default-language + workspace_id: this_is_an_id92_that_should_be_at_least_4 + highlights: + - article_id: '123' + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /articles/search + request: + name: SearchArticlesRequest + query-parameters: + help_center_id: + docs: The ID of the Help Center to search in. + type: optional + highlight: + docs: >- + Return a highlighted version of the matching content within your + articles. Refer to the response schema for more details. + type: optional + phrase: + docs: The phrase within your articles to search for. + type: optional + state: + docs: >- + The state of the Articles returned. One of `published`, `draft` or + `all`. + type: optional + response: + docs: Search successful + status-code: 200 + type: ArticleSearchResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + article_id: article_id + method: PUT + path: /articles/{article_id} + request: + name: UpdateArticleRequest + path-parameters: + article_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateArticle: + auth: true + display-name: Update an article + docs: >- + You can update the details of a single article by making a PUT request + to `https://api.intercom.io/articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991267508 + body:

New gifts in store for the jolly season

+ created_at: 1734537297 + default_locale: en + description: '' + id: '48' + parent_id: 151 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: Christmas is here! + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537298 + url: >- + http://help-center.test/myapp-80/en/articles/48-christmas-is-here + workspace_id: this_is_an_id80_that_should_be_at_least_4 + - name: Article Not Found + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991267508 + body:

New gifts in store for the jolly season

+ created_at: 1734537297 + default_locale: en + description: '' + id: '48' + parent_id: 151 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: Christmas is here! + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537298 + url: >- + http://help-center.test/myapp-80/en/articles/48-christmas-is-here + workspace_id: this_is_an_id80_that_should_be_at_least_4 + method: PUT + path: /articles/{id} + request: + body: + type: optional + content-type: application/json + name: UpdateArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: Article + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/awayStatusReasons.yml b/fern/.definition/awayStatusReasons.yml new file mode 100644 index 0000000..79ef621 --- /dev/null +++ b/fern/.definition/awayStatusReasons.yml @@ -0,0 +1,37 @@ +imports: + root: __package__.yml +docs: Everything about your Away Status Reasons +service: + auth: false + base-path: '' + display-name: Away Status Reasons + endpoints: + listAwayStatusReasons: + auth: true + display-name: List all away status reasons + docs: >- + Returns a list of all away status reasons configured for the workspace, + including deleted ones. + errors: + - root.UnauthorizedError + examples: + - response: + body: + - created_at: 1734537243 + deleted: false + emoji: ☕ + id: id + label: On a break + order: 1 + type: away_status_reason + updated_at: 1734537243 + method: GET + path: /away_status_reasons + response: + docs: Successful response + status-code: 200 + type: list + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/calls.yml b/fern/.definition/calls.yml new file mode 100644 index 0000000..90918a5 --- /dev/null +++ b/fern/.definition/calls.yml @@ -0,0 +1,291 @@ +imports: + root: __package__.yml +types: + Call: + docs: Represents a phone call in Intercom + properties: + admin_id: + docs: The id of the admin associated with the call, if any. + type: optional + answered_at: + type: optional + call_type: + docs: The type of call. + type: optional + contact_id: + docs: The id of the contact associated with the call, if any. + type: optional + conversation_id: + docs: The id of the conversation associated with the call, if any. + type: optional + created_at: + type: optional + direction: + docs: The direction of the call. + type: optional + ended_at: + type: optional + ended_reason: + docs: The reason for the call end, if applicable. + type: optional + fin_recording_url: + docs: API URL to the AI Agent (Fin) call recording if available. + type: optional + validation: + format: uri + fin_transcription_url: + docs: API URL to the AI Agent (Fin) call transcript if available. + type: optional + validation: + format: uri + id: + docs: The id of the call. + type: optional + initiated_at: + type: optional + phone: + docs: The phone number involved in the call, in E.164 format. + type: optional + recording_url: + docs: API URL to download or redirect to the call recording if available. + type: optional + validation: + format: uri + state: + docs: The current state of the call. + type: optional + type: + docs: String representing the object's type. Always has the value `call`. + type: optional + updated_at: + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ListCallsWithTranscriptsResponse: + properties: + data: optional> + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ListCallsWithTranscriptsResponseDataItem: + extends: + - Call + inline: true + properties: + transcript: + docs: The call transcript if available, otherwise an empty array. + type: optional>> + transcript_status: + docs: The status of the transcript if available. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + listCalls: + auth: true + display-name: List all calls + docs: | + Retrieve a paginated list of calls. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - admin_id: '789' + answered_at: '2024-01-15T09:30:00Z' + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '456' + created_at: '2024-01-15T09:30:00Z' + direction: outbound + ended_at: '2024-01-15T09:30:00Z' + ended_reason: completed + fin_recording_url: fin_recording_url + fin_transcription_url: fin_transcription_url + id: '123' + initiated_at: '2024-01-15T09:30:00Z' + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + type: call + updated_at: '2024-01-15T09:30:00Z' + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 25 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /calls + request: + name: ListCallsRequest + query-parameters: + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to display per page. Defaults to 25. Max 25. + type: optional + response: + docs: successful + status-code: 200 + type: root.CallList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listCallsWithTranscripts: + auth: true + display-name: List calls with transcripts + docs: > + Retrieve calls by a list of conversation ids and include transcripts + when available. + + A maximum of 20 `conversation_ids` can be provided. If none are provided + or more than 20 are provided, a 400 error is returned. + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: successful + request: + conversation_ids: + - '64619700005694' + - '64619700005695' + response: + body: + data: + - admin_id: '789' + answered_at: '2024-01-15T09:30:00Z' + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '64619700005694' + created_at: '2024-01-15T09:30:00Z' + direction: outbound + ended_at: '2024-01-15T09:30:00Z' + ended_reason: completed + fin_recording_url: fin_recording_url + fin_transcription_url: fin_transcription_url + id: '123' + initiated_at: '2024-01-15T09:30:00Z' + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + transcript: + - key: value + transcript_status: completed + type: call + updated_at: '2024-01-15T09:30:00Z' + type: list + method: POST + path: /calls/search + request: + body: + properties: + conversation_ids: + docs: A list of conversation ids to fetch calls for. Maximum 20. + type: list + content-type: application/json + name: ListCallsWithTranscriptsRequest + response: + docs: successful + status-code: 200 + type: ListCallsWithTranscriptsResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + showCall: + auth: true + display-name: Get a call + docs: Retrieve a single call by id. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: id + response: + body: + admin_id: '789' + answered_at: 1734537440 + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '456' + created_at: 1734537437 + direction: outbound + ended_at: 1734537530 + ended_reason: answered + fin_recording_url: https://api.intercom.io/calls/124/recording + fin_transcription_url: https://api.intercom.io/calls/124/transcript + id: '123' + initiated_at: 1734537437 + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + type: call + updated_at: 1734537531 + method: GET + path: /calls/{id} + request: + name: ShowCallRequest + path-parameters: + id: + docs: The id of the call to retrieve + type: string + response: + docs: successful + status-code: 200 + type: Call + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + showCallRecording: + auth: true + display-name: Get call recording by call id + docs: Redirects to a signed URL for the call's recording if it exists. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - path-parameters: + id: id + method: GET + path: /calls/{id}/recording + request: + name: ShowCallRecordingRequest + path-parameters: + id: + docs: The id of the call + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + showCallTranscript: + auth: true + display-name: Get call transcript by call id + docs: > + Returns the transcript for the specified call as a downloadable text + file. + errors: + - root.NotFoundError + method: GET + path: /calls/{id}/transcript + request: + name: ShowCallTranscriptRequest + path-parameters: + id: + docs: The id of the call + type: string + response: + docs: successful + status-code: 200 + type: text + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/companies.yml b/fern/.definition/companies.yml new file mode 100644 index 0000000..0975c96 --- /dev/null +++ b/fern/.definition/companies.yml @@ -0,0 +1,1038 @@ +imports: + root: __package__.yml + segments: segments.yml +types: + CompaniesRetrieveResponse: + base-properties: {} + discriminant: type + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + company: + type: Company + list: + type: root.CompanyList + Company: + docs: >- + Companies allow you to represent organizations using your product. Each + company will have its own description and be associated with contacts. You + can fetch, create, update and list companies. + properties: + app_id: + docs: >- + The Intercom defined code of the workspace the company is associated + to. + type: string + company_id: + docs: The company id you have defined for the company. + type: string + created_at: + docs: The time the company was added in Intercom. + type: integer + custom_attributes: + docs: The custom attributes you have set on the company. + type: optional> + id: + docs: The Intercom defined id representing the company. + type: string + industry: + docs: The industry that the company operates in. + type: optional + last_request_at: + docs: The time the company last recorded making a request. + type: optional + monthly_spend: + docs: How much revenue the company generates for your business. + type: integer + name: + docs: The name of the company. + type: string + plan: + type: optional + remote_created_at: + docs: The time the company was created by you. + type: optional + segments: + docs: The list of segments associated with the company + type: optional + session_count: + docs: How many sessions the company has recorded. + type: integer + size: + docs: The number of employees in the company. + type: optional + tags: + docs: The list of tags associated with the company + type: optional + updated_at: + docs: The last time the company was updated. + type: integer + user_count: + docs: The number of users in the company. + type: integer + website: + docs: The URL for the company website. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyPlan: + inline: true + properties: + id: + docs: The id of the plan + type: optional + name: + docs: The name of the plan + type: optional + type: + docs: Value is always "plan" + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanySegments: + docs: The list of segments associated with the company + inline: true + properties: + segments: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CompanyTags: + docs: The list of tags associated with the company + inline: true + properties: + tags: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Companies +service: + auth: false + base-path: '' + display-name: Companies + endpoints: + attachContact: + auth: true + examples: + - path-parameters: + contact_id: contact_id + request: {} + method: POST + path: /contacts/{contact_id}/companies + request: + body: + properties: + id: + name: company_id + type: optional + content-type: application/json + name: AttachContactToCompanyRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + attachContactToACompany: + auth: true + display-name: Attach a Contact to a Company + docs: You can attach a company to a single contact. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: id + request: + id: 6762f09a1bb69f9f2193bb34 + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + - name: Bad Request + path-parameters: + id: id + request: + id: 58a430d35458202d41b1e65b + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + - name: Company Not Found + path-parameters: + id: id + request: + id: '123' + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + method: POST + path: /contacts/{id}/companies + request: + body: + properties: + id: + docs: The unique identifier for the company which is given by Intercom + name: attachContactToACompanyRequestId + type: string + content-type: application/json + name: AttachContactToACompanyRequest + path-parameters: + id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + createOrUpdate: + auth: true + display-name: Create or Update a company + docs: > + You can create or update a company. + + + Companies will be only visible in Intercom when there is at least one + associated user. + + + Companies are looked up via `company_id` in a `POST` request, if not + found via `company_id`, the new company will be created, if found, that + company will be updated. + + + {% admonition type="warning" name="Using `company_id`" %} + You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. + {% /admonition %} + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: Successful + request: + company_id: company_remote_id + name: my company + remote_created_at: 1374138000 + response: + body: + app_id: this_is_an_id147_that_should_be_at_least_ + company_id: company_remote_id + created_at: 1734537334 + custom_attributes: + creation_source: api + id: 6762f0761bb69f9f2193bae2 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: my company + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1374138000 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537334 + user_count: 0 + website: https://www.intercom.com + method: POST + path: /companies + request: + body: + type: optional + content-type: application/json + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + company_id: company_id + method: DELETE + path: /companies/{company_id} + request: + name: DeleteCompanyRequest + path-parameters: + company_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteCompany: + auth: true + display-name: Delete a company + docs: You can delete a single company. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + deleted: true + id: 6762f0881bb69f9f2193bb09 + object: company + method: DELETE + path: /companies/{id} + request: + name: DeleteCompanyRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: root.DeletedCompanyObject + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachContact: + auth: true + examples: + - path-parameters: + company_id: company_id + contact_id: contact_id + method: DELETE + path: /contacts/{contact_id}/companies/{company_id} + request: + name: DetachContactFromCompanyRequest + path-parameters: + company_id: string + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachContactFromACompany: + auth: true + display-name: Detach a contact from a company + docs: You can detach a company from a single contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 58a430d35458202d41b1e65b + id: 58a430d35458202d41b1e65b + response: + body: + app_id: this_is_an_id205_that_should_be_at_least_ + company_id: '1' + created_at: 1734537376 + custom_attributes: + key: value + id: 6762f0a01bb69f9f2193bb44 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company8 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537376 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537377 + user_count: 0 + website: https://www.intercom.com + method: DELETE + path: /contacts/{contact_id}/companies/{id} + request: + name: DetachContactFromACompanyRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + company_id: company_id + method: GET + path: /companies/{company_id} + request: + name: FindCompanyRequest + path-parameters: + company_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all companies + docs: > + You can list companies. The company list is sorted by the + `last_request_at` field and by default is ordered descending, most + recently requested first. + + + Note that the API does not include companies who have no associated + users in list responses. + + + When using the Companies endpoint and the pages object to iterate + through the returned companies, there is a limit of 10,000 Companies + that can be returned. If you need to list or iterate on more than 10,000 + Companies, please use the [Scroll + API](https://developers.intercom.com/reference#iterating-over-all-companies). + + {% admonition type="warning" name="Pagination" %} + You can use pagination to limit the number of results returned. The default is `20` results per page. + See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - root.UnauthorizedError + examples: + - name: Successful + query-parameters: + order: desc + response: + body: + data: + - app_id: this_is_an_id189_that_should_be_at_least_ + company_id: remote_companies_scroll_2 + created_at: 1734537364 + custom_attributes: + key: value + id: 6762f0941bb69f9f2193bb25 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: IntercomQATest1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537364 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + type: tag.list + updated_at: 1734537364 + user_count: 4 + website: https://www.intercom.com + pages: + page: 1 + per_page: 15 + total_pages: 1 + type: offset_pages + total_count: 1 + method: POST + pagination: + offset: $request.page + results: $response.data + path: /companies/list + request: + name: ListCompaniesRequest + query-parameters: + order: + docs: >- + `asc` or `desc`. Return the companies in ascending or descending + order. Defaults to desc + type: optional + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to return per page. Defaults to 15 + type: optional + response: + docs: Successful + status-code: 200 + type: root.CompanyList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedContacts: + auth: true + examples: + - path-parameters: + company_id: company_id + method: GET + path: /companies/{company_id}/contacts + request: + name: ListAttachedContactsRequest + path-parameters: + company_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ListAttachedContacts: + auth: true + display-name: List attached contacts + docs: You can fetch a list of all contacts that belong to a company. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: https://example.org/128Wash.jpg + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 50 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /companies/{id}/contacts + request: + name: ListAttachedContactsRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: root.CompanyAttachedContacts + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedSegments: + auth: true + examples: + - path-parameters: + company_id: company_id + method: GET + path: /companies/{company_id}/segments + request: + name: ListSegmentsAttachedToCompanyRequest + path-parameters: + company_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ListAttachedSegmentsForCompanies: + auth: true + display-name: List attached segments for companies + docs: You can fetch a list of all segments that belong to a company. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + data: + - count: 3 + created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + person_type: contact + type: segment + updated_at: 1394622004 + type: list + method: GET + path: /companies/{id}/segments + request: + name: ListAttachedSegmentsForCompaniesRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: root.CompanyAttachedSegments + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieve: + auth: true + display-name: Retrieve companies + docs: > + You can fetch a single company by passing in `company_id` or `name`. + + `https://api.intercom.io/companies?name={name}` + + `https://api.intercom.io/companies?company_id={company_id}` + + You can fetch all companies and filter by `segment_id` or `tag_id` as a + query parameter. + + `https://api.intercom.io/companies?tag_id={tag_id}` + + `https://api.intercom.io/companies?segment_id={segment_id}` + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + query-parameters: + company_id: '12345' + name: my company + segment_id: '98765' + tag_id: '678910' + response: + body: + data: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: 155.5 + paid_subscriber: true + team_mates: 9 + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + pages: + next: next + page: 1 + per_page: 2 + total_pages: 13 + type: offset_pages + total_count: 100 + type: list + method: GET + path: /companies + request: + name: RetrieveCompanyRequest + query-parameters: + company_id: + docs: The `company_id` of the company to filter by. + type: optional + name: + docs: The `name` of the company to filter by. + type: optional + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to display per page. Defaults to 15 + type: optional + segment_id: + docs: The `segment_id` of the company to filter by. + type: optional + tag_id: + docs: The `tag_id` of the company to filter by. + type: optional + response: + docs: Successful + status-code: 200 + type: CompaniesRetrieveResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + RetrieveACompanyById: + auth: true + display-name: Retrieve a company by ID + docs: You can fetch a single company. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + app_id: this_is_an_id159_that_should_be_at_least_ + company_id: '1' + created_at: 1734537343 + custom_attributes: + key: value + id: 6762f07f1bb69f9f2193baf5 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537343 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537343 + user_count: 1 + website: https://www.intercom.com + method: GET + path: /companies/{id} + request: + name: RetrieveACompanyByIdRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + scroll: + auth: true + display-name: Scroll over all companies + docs: >2 + The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. + + - Each app can only have 1 scroll open at a time. You'll get an error + message if you try to have more than one open per app. + + - If the scroll isn't used for 1 minute, it expires and calls with that + scroll param will fail + + - If the end of the scroll is reached, "companies" will be empty and the + scroll parameter will expire + + + {% admonition type="info" name="Scroll Parameter" %} + You can get the first page of companies by simply sending a GET request to the scroll endpoint. + For subsequent requests you will need to use the scroll parameter from the response. + {% /admonition %} + + {% admonition type="danger" name="Scroll network timeouts" %} + Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: + "Request failed due to an internal network error. Please restart the scroll operation." + If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll. + {% /admonition %} + errors: + - root.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - app_id: this_is_an_id193_that_should_be_at_least_ + company_id: remote_companies_scroll_2 + created_at: 1734537367 + custom_attributes: + key: value + id: 6762f0971bb69f9f2193bb2b + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: IntercomQATest1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537367 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + type: tag.list + updated_at: 1734537367 + user_count: 4 + website: https://www.intercom.com + scroll_param: 69352cd2-ab5b-42ac-b004-a13d4e55e9b0 + type: list + method: GET + pagination: + cursor: $request.scroll_param + next_cursor: $response.scroll_param + results: $response.data + path: /companies/scroll + request: + name: ScrollCompaniesRequest + query-parameters: + scroll_param: + docs: '' + type: optional + response: + docs: Successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + company_id: company_id + method: PUT + path: /companies/{company_id} + request: + name: UpdateCompanyRequest + path-parameters: + company_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateCompany: + auth: true + display-name: Update a company + docs: | + You can update a single company using the Intercom provisioned `id`. + + {% admonition type="warning" name="Using `company_id`" %} + When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. + {% /admonition %} + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + app_id: this_is_an_id165_that_should_be_at_least_ + company_id: '1' + created_at: 1734537348 + custom_attributes: + key: value + id: 6762f0841bb69f9f2193baff + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company2 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537348 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + updated_at: 1734537348 + user_count: 1 + website: https://www.intercom.com + method: PUT + path: /companies/{id} + request: + name: UpdateCompanyRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/contacts.yml b/fern/.definition/contacts.yml new file mode 100644 index 0000000..1c28509 --- /dev/null +++ b/fern/.definition/contacts.yml @@ -0,0 +1,1608 @@ +imports: + root: __package__.yml + subscriptionTypes: subscriptionTypes.yml +types: + Contact: + docs: Contacts represent your leads and users in Intercom. + properties: + android_app_name: + docs: The name of the Android app which the contact is using. + type: optional + android_app_version: + docs: The version of the Android app which the contact is using. + type: optional + android_device: + docs: The Android device which the contact is using. + type: optional + android_last_seen_at: + docs: >- + (UNIX timestamp) The time when the contact was last seen on an Android + device. + type: optional + android_os_version: + docs: The version of the Android OS which the contact is using. + type: optional + android_sdk_version: + docs: The version of the Android SDK which the contact is using. + type: optional + avatar: + docs: An image URL containing the avatar of a contact. + type: optional + validation: + format: uri + browser: + docs: The name of the browser which the contact is using. + type: optional + browser_language: + docs: The language set by the browser which the contact is using. + type: optional + browser_version: + docs: The version of the browser which the contact is using. + type: optional + companies: + type: optional + created_at: + docs: (UNIX timestamp) The time when the contact was created. + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact. + type: optional> + email: + docs: The contact's email. + type: optional + email_domain: + docs: The contact's email domain. + type: optional + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + has_hard_bounced: + docs: Whether the contact has had an email sent to them hard bounce. + type: optional + id: + docs: The unique identifier for the contact which is given by Intercom. + type: optional + ios_app_name: + docs: The name of the iOS app which the contact is using. + type: optional + ios_app_version: + docs: The version of the iOS app which the contact is using. + type: optional + ios_device: + docs: The iOS device which the contact is using. + type: optional + ios_last_seen_at: + docs: (UNIX timestamp) The last time the contact used the iOS app. + type: optional + ios_os_version: + docs: The version of iOS which the contact is using. + type: optional + ios_sdk_version: + docs: The version of the iOS SDK which the contact is using. + type: optional + language_override: + docs: >- + A preferred language setting for the contact, used by the Intercom + Messenger even if their browser settings change. + type: optional + last_contacted_at: + docs: (UNIX timestamp) The time when the contact was last messaged. + type: optional + last_email_clicked_at: + docs: >- + (UNIX timestamp) The time when the contact last clicked a link in an + email. + type: optional + last_email_opened_at: + docs: (UNIX timestamp) The time when the contact last opened an email. + type: optional + last_replied_at: + docs: (UNIX timestamp) The time when the contact last messaged in. + type: optional + last_seen_at: + docs: >- + (UNIX timestamp) The time when the contact was last seen (either where + the Intercom Messenger was installed or when specified manually). + type: optional + location: + type: optional + marked_email_as_spam: + docs: Whether the contact has marked an email sent to them as spam. + type: optional + name: + docs: The contacts name. + type: optional + notes: + type: optional + os: + docs: The operating system which the contact is using. + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of the + contact. + type: optional + phone: + docs: The contacts phone. + type: optional + role: + docs: The role of the contact. + type: optional + signed_up_at: + docs: (UNIX timestamp) The time specified for when a contact signed up. + type: optional + social_profiles: + type: optional + tags: + type: optional + type: + docs: The type of object. + type: optional> + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails. + type: optional + updated_at: + docs: (UNIX timestamp) The time when the contact was last updated. + type: optional + workspace_id: + docs: The id of the workspace which the contact belongs to. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactsCreateResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ContactsMergeLeadInUserResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ShowContactByExternalIdResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ShowContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your contacts +service: + auth: false + base-path: '' + display-name: Contacts + endpoints: + archive: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: POST + path: /contacts/{contact_id}/archive + request: + name: ArchiveContactRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ArchiveContact: + auth: true + display-name: Archive contact + docs: You can archive a single contact. + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + archived: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/archive + request: + name: ArchiveContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: root.ContactArchived + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + attachSubscription: + auth: true + display-name: Add subscription to a contact + docs: > + 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. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - name: Contact not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - name: Resource not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: invalid_id + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + method: POST + path: /contacts/{contact_id}/subscriptions + request: + body: + properties: + consent_type: + docs: The consent_type of a subscription, opt_out or opt_in. + type: string + id: + docs: >- + The unique identifier for the subscription which is given by + Intercom + name: subscription_id + type: string + content-type: application/json + name: AttachSubscriptionToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: subscriptionTypes.SubscriptionType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + BlockContact: + auth: true + display-name: Block contact + docs: >- + Block a single contact.
**Note:** conversations of the contact will + also be archived during the process.
More details in [FAQ How do I + block Inbox + spam?](https://www.intercom.com/help/en/articles/8838656-inbox-faqs) + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + blocked: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/block + request: + name: BlockContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: root.ContactBlocked + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + create: + auth: true + display-name: Create contact + docs: You can create a new contact (ie. user or lead). + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + email: joebloggs@intercom.io + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/companies + created_at: 1734537437 + custom_attributes: + key: value + email: joebloggs@intercom.io + email_domain: example.com + has_hard_bounced: false + id: 6762f0dd1bb69f9f2193bb83 + location: + type: location + marked_email_as_spam: false + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/notes + role: user + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537437 + workspace_id: this_is_an_id303_that_should_be_at_least_ + method: POST + path: /contacts + request: + body: + type: root.CreateContactRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: ContactsCreateResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: DELETE + path: /contacts/{contact_id} + request: + name: DeleteContactRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DeleteContact: + auth: true + display-name: Delete a contact + docs: You can delete a single contact. + errors: + - root.UnauthorizedError + examples: + - path-parameters: + id: id + response: + body: + deleted: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: DELETE + path: /contacts/{id} + request: + name: DeleteContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: root.ContactDeleted + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachSubscription: + auth: true + examples: + - path-parameters: + contact_id: contact_id + subscription_id: subscription_id + method: DELETE + path: /contacts/{contact_id}/subscriptions/{subscription_id} + request: + name: DetachSubscriptionFromContactRequest + path-parameters: + contact_id: string + subscription_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: GET + path: /contacts/{contact_id} + request: + name: FindContactRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all contacts + docs: > + You can fetch a list of all contacts (ie. users or leads) in your + workspace. + + {% admonition type="warning" name="Pagination" %} + You can use 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/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: https://example.org/128Wash.jpg + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + pagination: + cursor: $request.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.data + path: /contacts + response: + docs: successful + status-code: 200 + type: root.ContactList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedCompanies: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: GET + pagination: + offset: $request.page + results: $response.companies + path: /contacts/{contact_id}/companies + request: + name: ListAttachedCompaniesRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedSegments: + auth: true + display-name: List attached segments for contact + docs: You can fetch a list of segments that are associated to a contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - count: 3 + created_at: 1734537394 + id: 6762f0b21bb69f9f2193bb65 + name: segment + person_type: user + type: segment + updated_at: 1734537394 + type: list + method: GET + path: /contacts/{contact_id}/segments + request: + name: ListSegmentsAttachedToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: root.ContactSegments + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedSubscriptions: + auth: true + display-name: List subscriptions for a contact + docs: > + 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. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - consent_type: opt_out + content_types: + - email + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '91' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '93' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + type: list + method: GET + path: /contacts/{contact_id}/subscriptions + request: + name: ListAttachedSubscriptionsRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: root.SubscriptionTypeList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAttachedTags: + auth: true + display-name: List tags attached to a contact + docs: >- + You can fetch a list of all tags that are attached to a specific + contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - applied_at: 1663597223 + applied_by: + type: contact + id: '80' + name: Manual tag + type: tag + type: list + method: GET + path: /contacts/{contact_id}/tags + request: + name: ListTagsAttachedToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: root.TagList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listCompaniesForAContact: + auth: true + display-name: List attached companies for contact + docs: You can fetch a list of companies that are associated to a contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: 155.5 + paid_subscriber: true + team_mates: 9 + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + pages: + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /contacts/{id}/companies + request: + name: ListCompaniesForAContactRequest + path-parameters: + id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: root.ContactAttachedCompanies + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + mergeLeadInUser: + auth: true + display-name: Merge a lead and a user + docs: >- + You can merge a contact with a `role` of `lead` into a contact with a + `role` of `user`. + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + from: 6762f0d51bb69f9f2193bb7f + into: 6762f0d51bb69f9f2193bb80 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/companies + created_at: 1734537429 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0d51bb69f9f2193bb80 + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/notes + role: user + signed_up_at: 1734537429 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537430 + workspace_id: this_is_an_id291_that_should_be_at_least_ + method: POST + path: /contacts/merge + request: + body: + properties: + from: + docs: >- + The unique identifier for the contact to merge away from. Must + be a lead. + name: lead_id + type: optional + into: + docs: >- + The unique identifier for the contact to merge into. Must be a + user. + name: contact_id + type: optional + content-type: application/json + name: MergeContactsRequest + response: + docs: successful + status-code: 200 + type: ContactsMergeLeadInUserResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + search: + auth: true + display-name: Search contacts + docs: > + 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 | String
Accepts user or lead | + + | name | String | + + | avatar | String | + + | owner_id | Integer | + + | email | String | + + | email_domain | String | + + | phone | String | + + | external_id | String | + + | created_at | Date (UNIX Timestamp) | + + | signed_up_at | Date (UNIX Timestamp) | + + | updated_at | Date (UNIX Timestamp) | + + | last_seen_at | Date (UNIX Timestamp) | + + | last_contacted_at | Date (UNIX Timestamp) | + + | last_replied_at | Date (UNIX Timestamp) | + + | last_email_opened_at | Date (UNIX Timestamp) | + + | last_email_clicked_at | Date (UNIX Timestamp) | + + | language_override | String | + + | browser | String | + + | browser_language | String | + + | os | String | + + | location.country | String | + + | location.region | String | + + | location.city | String | + + | unsubscribed_from_emails | Boolean | + + | marked_email_as_spam | Boolean | + + | has_hard_bounced | Boolean | + + | ios_last_seen_at | Date (UNIX Timestamp) | + + | ios_app_version | String | + + | ios_device | String | + + | ios_app_device | String | + + | ios_os_version | String | + + | ios_app_name | String | + + | ios_sdk_version | String | + + | android_last_seen_at | Date (UNIX Timestamp) | + + | android_app_version | String | + + | android_device | String | + + | android_app_name | String | + + | andoid_sdk_version | String | + + | segment_id | String | + + | tag_id | String | + + | custom_attributes.{attribute_name} | String | + + + ### Accepted Operators + + + {% admonition type="warning" name="Searching based on `created_at`" %} + You cannot use the `<=` or `>=` operators to search by `created_at`. + {% /admonition %} + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :------------------------------- | + :--------------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In
Shortcut for `OR` + queries
Values must be in Array | + + | NIN | All | Not In
Shortcut for + `OR !` queries
Values must be in Array | + + | > | Integer
Date (UNIX Timestamp) | Greater + than | + + | < | Integer
Date (UNIX Timestamp) | Lower + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: https://example.org/128Wash.jpg + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: POST + pagination: + cursor: $request.pagination.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.data + path: /contacts/search + request: + body: + type: root.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: root.ContactList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ShowContact: + auth: true + display-name: Get a contact + docs: You can fetch the details of a single contact. + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/companies + created_at: 1734537424 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0d01bb69f9f2193bb7d + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/notes + role: user + signed_up_at: 1734537424 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537424 + workspace_id: this_is_an_id283_that_should_be_at_least_ + method: GET + path: /contacts/{id} + request: + name: ShowContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: ShowContactResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ShowContactByExternalId: + auth: true + display-name: Get a contact by External ID + docs: >- + You can fetch the details of a single contact by external ID. Note that + this endpoint only supports users and not leads. + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + external_id: cdd29344-5e0c-4ef0-ac56-f9ba2979bc27 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/companies + created_at: 1734537439 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0df1bb69f9f2193bb84 + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/notes + role: user + signed_up_at: 1734537439 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537439 + workspace_id: this_is_an_id307_that_should_be_at_least_ + method: GET + path: /contacts/find_by_external_id/{external_id} + request: + name: ShowContactByExternalIdRequest + path-parameters: + external_id: + docs: The external ID of the user that you want to retrieve + type: string + response: + docs: successful + status-code: 200 + type: ShowContactByExternalIdResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + unarchive: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: POST + path: /contacts/{contact_id}/unarchive + request: + name: UnarchiveContactRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UnarchiveContact: + auth: true + display-name: Unarchive contact + docs: You can unarchive a single contact. + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + archived: false + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/unarchive + request: + name: UnarchiveContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: root.ContactUnarchived + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: PUT + path: /contacts/{contact_id} + request: + name: UpdateContactRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UpdateContact: + auth: true + display-name: Update a contact + docs: | + You can update an existing contact (ie. user or lead). + + {% admonition type="info" %} + This endpoint handles both **contact updates** and **custom object associations**. + + See _`update a contact with an association to a custom object instance`_ in the request/response examples to see the custom object association format. + {% /admonition %} + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + request: + email: joebloggs@intercom.io + name: joe bloggs + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/companies + created_at: 1734537421 + custom_attributes: + key: value + email: joebloggs@intercom.io + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0cd1bb69f9f2193bb7c + location: + type: location + marked_email_as_spam: false + name: joe bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/notes + role: user + signed_up_at: 1734537421 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537422 + workspace_id: this_is_an_id279_that_should_be_at_least_ + - name: update a contact with an association to a custom object instance + path-parameters: + id: 63a07ddf05a32042dffac965 + request: + custom_attributes: + order: + - '21' + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/companies + created_at: 1734537421 + custom_attributes: + order: + instances: + - custom_attributes: + order_number: ORDER-12345 + total_amount: 99.99 + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '21' + type: Order + type: Order.list + email: joebloggs@intercom.io + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0cd1bb69f9f2193bb7c + location: + type: location + marked_email_as_spam: false + name: joe bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/notes + role: user + signed_up_at: 1734537421 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537422 + workspace_id: this_is_an_id279_that_should_be_at_least_ + method: PUT + path: /contacts/{id} + request: + body: + properties: + avatar: + docs: An image URL containing the avatar of a contact + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact + type: optional> + email: + docs: The contacts email + type: optional + external_id: + docs: A unique identifier for the contact which is given to Intercom + type: optional + last_seen_at: + docs: >- + The time when the contact was last seen (either where the + Intercom Messenger was installed or when specified manually) + type: optional + name: + docs: The contacts name + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of + the contact + type: optional + phone: + docs: The contacts phone + type: optional + role: + docs: The role of the contact. + type: optional + signed_up_at: + docs: The time specified for when a contact signed up + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails + type: optional + content-type: application/json + name: UpdateContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: UpdateContactResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/conversations.yml b/fern/.definition/conversations.yml new file mode 100644 index 0000000..49052db --- /dev/null +++ b/fern/.definition/conversations.yml @@ -0,0 +1,4030 @@ +imports: + aiAgent: aiAgent.yml + messages: messages.yml + root: __package__.yml + tickets: tickets.yml +types: + AttachContactToConversationRequestCustomer: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: AttachContactToConversationRequestCustomerIntercomUserId + - type: AttachContactToConversationRequestCustomerUserId + - type: AttachContactToConversationRequestCustomerCustomer + AttachContactToConversationRequestCustomerCustomer: + inline: true + properties: + customer: + type: optional + email: + docs: >- + The email you have defined for the contact who is being added as a + participant. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AttachContactToConversationRequestCustomerIntercomUserId: + inline: true + properties: + customer: + type: optional + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + AttachContactToConversationRequestCustomerUserId: + inline: true + properties: + customer: + type: optional + user_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + Conversation: + docs: >- + 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. + properties: + admin_assignee_id: + docs: >- + The id of the admin assigned to the conversation. If it's not assigned + to an admin it will return null. + type: optional + ai_agent: + type: optional + ai_agent_participated: + docs: Indicates whether the AI Agent participated in the conversation. + type: optional + company_id: + docs: >- + The ID of the company that the conversation is associated with. The + unique identifier for the company which is given by Intercom. + type: optional + contacts: + type: optional + conversation_parts: + type: optional + conversation_rating: + type: optional + created_at: + docs: The time the conversation was created. + type: optional + custom_attributes: + type: optional + first_contact_reply: + type: optional + id: + docs: The id representing the conversation. + type: optional + linked_objects: + type: optional + open: + docs: Indicates whether a conversation is open (true) or closed (false). + type: optional + priority: + docs: If marked as priority, it will return priority or else not_priority. + type: optional + read: + docs: Indicates whether a conversation has been read. + type: optional + sla_applied: + type: optional + snoozed_until: + docs: >- + If set this is the time in the future when this conversation will be + marked as open. i.e. it will be in a snoozed state until this time. + i.e. it will be in a snoozed state until this time. + type: optional + source: + type: optional + state: + docs: Can be set to "open", "closed" or "snoozed". + type: optional + statistics: + type: optional + tags: + type: optional + team_assignee_id: + docs: >- + The id of the team assigned to the conversation. If it's not assigned + to a team it will return null. + type: optional + teammates: + type: optional + title: + docs: The title given to the conversation. + type: optional + type: + docs: Always conversation. + type: optional + updated_at: + docs: The last time the conversation was updated. + type: optional + waiting_since: + docs: >- + The last time a Contact responded to an Admin. In other words, the + time a customer started waiting for a response. Set to null if last + reply is from an Admin. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationPriority: + docs: If marked as priority, it will return priority or else not_priority. + enum: + - priority + - not_priority + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ConversationState: + docs: Can be set to "open", "closed" or "snoozed". + enum: + - open + - closed + - snoozed + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateConversationRequestFrom: + inline: true + properties: + id: + docs: The identifier for the contact which is given by Intercom. + type: string + validation: + format: uuid + maxLength: 24 + minLength: 24 + type: + docs: The role associated to the contact - user or lead. + type: CreateConversationRequestFromType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + CreateConversationRequestFromType: + docs: The role associated to the contact - user or lead. + enum: + - lead + - user + - contact + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ManageConversationRequestBody: + base-properties: {} + discriminant: message_type + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + assignment: + type: root.AssignConversationRequest + close: + type: root.CloseConversationRequest + open: + type: root.OpenConversationRequest + snoozed: + type: root.SnoozeConversationRequest +docs: Everything about your Conversations +service: + auth: false + base-path: '' + display-name: Conversations + endpoints: + attachContactAsAdmin: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: POST + path: /conversations/{conversation_id}/customers + request: + name: AttachContactToConversationRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + attachContactToConversation: + auth: true + display-name: Attach a contact to a conversation + docs: >+ + You can add participants who are contacts to a conversation, on behalf + of either another contact or an admin. + + + {% admonition type="warning" 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 %} + + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: Attach a contact to a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + customer: + intercom_user_id: 6762f19b1bb69f9f2193bbd4 + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Not found + path-parameters: + id: '123' + request: + admin_id: '12345' + customer: + intercom_user_id: 6762f19e1bb69f9f2193bbd5 + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + method: POST + path: /conversations/{id}/customers + request: + body: + properties: + admin_id: + docs: The `id` of the admin who is adding the new participant. + type: optional + customer: + type: optional + content-type: application/json + name: AttachContactToConversationRequest + path-parameters: + id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Attach a contact to a conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + convertConversationToTicket: + auth: true + display-name: Convert a conversation to a ticket + docs: You can convert a conversation to a ticket. + errors: + - root.BadRequestError + examples: + - name: successful + path-parameters: + id: 1 + request: + ticket_type_id: '53' + response: + body: + admin_assignee_id: '0' + category: Customer + contacts: + contacts: + - external_id: '70' + id: 6762f2041bb69f9f2193bc0c + type: contact + type: contact.list + created_at: 1734537732 + id: '611' + is_shared: true + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + key: value + ticket_id: '22' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + id: 6762f2041bb69f9f2193bc0c + name: Joe Bloggs + type: user + body:

Comment for message

+ created_at: 1734537732 + id: '151' + part_type: comment + redacted: false + type: ticket_part + updated_at: 1734537732 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id442_that_should_be_at_least_@intercom.io + id: '991267767' + name: Fin + type: bot + created_at: 1734537737 + id: '152' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537737 + total_count: 2 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '7493' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Customer + created_at: 1734537737 + description: my ticket type description is awesome. + icon: 🦁 + id: '53' + name: my-ticket-type-1 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537737 + workspace_id: this_is_an_id442_that_should_be_at_least_ + type: ticket + updated_at: 1734537737 + - name: Bad request + path-parameters: + id: 1 + request: + ticket_type_id: '54' + response: + body: + admin_assignee_id: '0' + category: Customer + contacts: + contacts: + - external_id: '70' + id: 6762f2041bb69f9f2193bc0c + type: contact + type: contact.list + created_at: 1734537732 + id: '611' + is_shared: true + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + key: value + ticket_id: '22' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + id: 6762f2041bb69f9f2193bc0c + name: Joe Bloggs + type: user + body:

Comment for message

+ created_at: 1734537732 + id: '151' + part_type: comment + redacted: false + type: ticket_part + updated_at: 1734537732 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id442_that_should_be_at_least_@intercom.io + id: '991267767' + name: Fin + type: bot + created_at: 1734537737 + id: '152' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537737 + total_count: 2 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '7493' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Customer + created_at: 1734537737 + description: my ticket type description is awesome. + icon: 🦁 + id: '53' + name: my-ticket-type-1 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537737 + workspace_id: this_is_an_id442_that_should_be_at_least_ + type: ticket + updated_at: 1734537737 + method: POST + path: /conversations/{id}/convert + request: + body: + properties: + attributes: + type: optional + ticket_type_id: + docs: >- + The ID of the type of ticket you want to convert the + conversation to + type: string + content-type: application/json + name: ConvertConversationToTicketRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + convertToTicket: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: POST + path: /conversations/{conversation_id}/convert + request: + name: ConvertConversationToTicketRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + create: + auth: true + display-name: Creates a conversation + docs: >+ + 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. + + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: conversation created + request: + body: Hello there + from: + id: 6762f11b1bb69f9f2193bba3 + type: user + response: + body: + body: Hello there + conversation_id: '499' + created_at: 1734537501 + id: '403918330' + message_type: inapp + subject: Greetings + type: user_message + - name: Contact Not Found + request: + body: Hello there + from: + id: 123_doesnt_exist + type: user + response: + body: + body: Hello there + conversation_id: '499' + created_at: 1734537501 + id: '403918330' + message_type: inapp + subject: Greetings + type: user_message + method: POST + path: /conversations + request: + body: + properties: + body: + docs: The content of the message. HTML is not supported. + type: string + created_at: + docs: >- + The time the conversation was created as a UTC Unix timestamp. + If not provided, the current time will be used. This field is + only recommneded for migrating past conversations from another + source into Intercom. + type: optional + from: CreateConversationRequestFrom + content-type: application/json + name: CreateConversationRequest + response: + docs: conversation created + status-code: 200 + type: messages.Message + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteConversation: + auth: true + display-name: Delete a conversation + docs: You can delete a single conversation. + errors: + - root.UnauthorizedError + - root.ForbiddenError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '512' + object: conversation + method: DELETE + path: /conversations/{id} + request: + name: DeleteConversationRequest + path-parameters: + id: + docs: id + type: integer + response: + docs: successful + status-code: 200 + type: root.ConversationDeleted + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachContactAsAdmin: + auth: true + display-name: Detach a contact from a group conversation + docs: >+ + You can add participants who are contacts to a conversation, on behalf + of either another contact or an admin. + + + {% admonition type="warning" 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 %} + + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: Detach a contact from a group conversation + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Conversation not found + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Contact not found + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Last customer + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: 155.5 + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + admins: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + method: DELETE + path: /conversations/{conversation_id}/customers/{contact_id} + request: + body: + properties: + admin_id: + docs: The `id` of the admin who is performing the action. + type: string + content-type: application/json + name: DetachContactFromConversationRequest + path-parameters: + contact_id: + docs: The identifier for the contact as given by Intercom. + type: string + conversation_id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Detach a contact from a group conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: GET + path: /conversations/{conversation_id} + request: + name: FindConversationRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all conversations + docs: > + You can fetch a list of all conversations. + + + You can optionally request the result page size and the cursor to start + after to fetch the result. + + {% admonition type="warning" name="Pagination" %} + You can use pagination to limit the number of results returned. The default is `20` results per page. + See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - root.UnauthorizedError + - root.ForbiddenError + examples: + - name: successful + response: + body: + conversations: + - ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f0f31bb69f9f2193bb8b + type: contact + type: contact.list + conversation_parts: + total_count: 1 + created_at: 1734537460 + custom_attributes: + key: value + id: '471' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin166@email.com + from_ai_agent: true + id: '991267628' + is_ai_answer: false + name: Ciaran166 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918320' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537460 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 20 + total_pages: 1 + type: pages + total_count: 1 + type: conversation.list + method: GET + pagination: + cursor: $request.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.conversations + path: /conversations + request: + name: ListConversationsRequest + query-parameters: + per_page: + default: 20 + docs: How many results per page + type: optional + validation: + max: 150 + starting_after: + docs: String used to get the next page of conversations. + type: optional + response: + docs: successful + status-code: 200 + type: root.ConversationList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + manage: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: POST + path: /conversations/{conversation_id}/parts + request: + name: ManageConversationPartsRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + manageConversation: + auth: true + display-name: Manage a conversation + docs: | + For managing conversations you can: + - Close a conversation + - Snooze a conversation to reopen on a future date + - Open a conversation which is `snoozed` or `closed` + - Assign a conversation to an admin and/or team. + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: Close a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + message_type: close + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f16e1bb69f9f2193bbc2 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

Goodbye :)

+ created_at: 1734537584 + id: '136' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537584 + part_type: close + redacted: false + type: conversation_part + updated_at: 1734537584 + total_count: 1 + type: conversation_part.list + created_at: 1734537582 + custom_attributes: + key: value + id: '531' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918356' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537584 + - name: Snooze a conversation + path-parameters: + id: '123' + request: + admin_id: '5017691' + message_type: snoozed + snoozed_until: 1673609604 + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1711bb69f9f2193bbc3 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin220@email.com + from_ai_agent: true + id: '991267710' + is_ai_answer: false + name: Ciaran220 Lee + type: admin + created_at: 1734537587 + id: '137' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537587 + part_type: snoozed + redacted: false + type: conversation_part + updated_at: 1734537587 + total_count: 1 + type: conversation_part.list + created_at: 1734537586 + custom_attributes: + key: value + id: '532' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + snoozed_until: 1734541187 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin220@email.com + from_ai_agent: true + id: '991267710' + is_ai_answer: false + name: Ciaran220 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918357' + redacted: false + subject: '' + type: conversation + state: snoozed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537587 + - name: Open a conversation + path-parameters: + id: '123' + request: + admin_id: '5017690' + message_type: open + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '74' + id: 6762f1781bb69f9f2193bbc8 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin221@email.com + from_ai_agent: true + id: '991267712' + is_ai_answer: false + name: Ciaran221 Lee + type: admin + created_at: 1734537601 + id: '139' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537601 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537601 + total_count: 1 + type: conversation_part.list + created_at: 1734537587 + custom_attributes: + key: value + id: '537' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin221@email.com + from_ai_agent: true + id: '991267712' + is_ai_answer: false + name: Ciaran221 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918358' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + title: '' + type: conversation + updated_at: 1734537601 + - name: Assign a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + assignee_id: '4324241' + message_type: assignment + type: admin + response: + body: + admin_assignee_id: 991267715 + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1831bb69f9f2193bbcc + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - assigned_to: + id: '991267715' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin223@email.com + from_ai_agent: true + id: '991267715' + is_ai_answer: false + name: Ciaran223 Lee + type: admin + created_at: 1734537605 + id: '140' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537605 + part_type: assign_and_reopen + redacted: false + type: conversation_part + updated_at: 1734537605 + total_count: 1 + type: conversation_part.list + created_at: 1734537603 + custom_attributes: + key: value + id: '542' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin223@email.com + from_ai_agent: true + id: '991267715' + is_ai_answer: false + name: Ciaran223 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918361' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537605 + - name: Not found + path-parameters: + id: '123' + request: + admin_id: '12345' + message_type: close + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f16e1bb69f9f2193bbc2 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

Goodbye :)

+ created_at: 1734537584 + id: '136' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537584 + part_type: close + redacted: false + type: conversation_part + updated_at: 1734537584 + total_count: 1 + type: conversation_part.list + created_at: 1734537582 + custom_attributes: + key: value + id: '531' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918356' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537584 + method: POST + path: /conversations/{id}/parts + request: + body: ManageConversationRequestBody + content-type: application/json + name: ManageConversationRequest + path-parameters: + id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Assign a conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + redactConversationPart: + auth: true + display-name: Redact a conversation part + docs: >+ + 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 %} + + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Redact a conversation part + request: + conversation_id: '19894788788' + conversation_part_id: '19381789428' + type: conversation_part + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1f81bb69f9f2193bc09 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1f81bb69f9f2193bc09 + is_ai_answer: false + name: Joe Bloggs + type: user + body:

This message was deleted

+ created_at: 1734537722 + id: '149' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537722 + part_type: open + redacted: true + type: conversation_part + updated_at: 1734537724 + total_count: 1 + type: conversation_part.list + created_at: 1734537721 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537722 + type: conversation + id: '608' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin247@email.com + from_ai_agent: true + id: '991267757' + is_ai_answer: false + name: Ciaran247 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918391' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537724 + waiting_since: 1734537722 + - name: Not found + request: + conversation_id: really_123_doesnt_exist + conversation_part_id: really_123_doesnt_exist + type: conversation_part + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1f81bb69f9f2193bc09 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1f81bb69f9f2193bc09 + is_ai_answer: false + name: Joe Bloggs + type: user + body:

This message was deleted

+ created_at: 1734537722 + id: '149' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537722 + part_type: open + redacted: true + type: conversation_part + updated_at: 1734537724 + total_count: 1 + type: conversation_part.list + created_at: 1734537721 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537722 + type: conversation + id: '608' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin247@email.com + from_ai_agent: true + id: '991267757' + is_ai_answer: false + name: Ciaran247 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918391' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537724 + waiting_since: 1734537722 + method: POST + path: /conversations/redact + request: + body: root.RedactConversationRequest + content-type: application/json + response: + docs: Redact a conversation part + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + reply: + auth: true + method: POST + path: /conversations/{conversation_id}/reply + request: + body: unknown + content-type: application/json + name: ReplyToConversationRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + replyConversation: + auth: true + display-name: Reply to a conversation + docs: >- + You can reply to a conversation with a message from an admin or on + behalf of a contact, or with a note for admins. + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: User reply + path-parameters: + id: 123 or "last" + request: + body: Thanks again :) + intercom_user_id: 6762f1571bb69f9f2193bbbb + message_type: comment + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1571bb69f9f2193bbbb + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1571bb69f9f2193bbbb + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537561 + id: '132' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537561 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537561 + total_count: 1 + type: conversation_part.list + created_at: 1734537559 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537561 + type: conversation + id: '524' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin212@email.com + from_ai_agent: true + id: '991267694' + is_ai_answer: false + name: Ciaran212 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918349' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537561 + waiting_since: 1734537561 + - name: Admin Reply with a Note + path-parameters: + id: 123 or "last" + request: + admin_id: '3156780' + body: >- +

An Unordered HTML List

    +
  • Coffee
  • Tea
  • Milk

An + Ordered HTML List

  1. Coffee
  2. Tea
  3. +
  4. Milk
+ message_type: note + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f15b1bb69f9f2193bbbc + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin213@email.com + from_ai_agent: true + id: '991267696' + is_ai_answer: false + name: Ciaran213 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537565 + id: '133' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537565 + part_type: note + redacted: false + type: conversation_part + updated_at: 1734537565 + total_count: 1 + type: conversation_part.list + created_at: 1734537563 + custom_attributes: + key: value + id: '525' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin213@email.com + from_ai_agent: true + id: '991267696' + is_ai_answer: false + name: Ciaran213 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918350' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537565 + - name: Admin Reply to send Quick Reply Options + path-parameters: + id: 123 or "last" + request: + admin_id: '3156780' + message_type: quick_reply + reply_options: + - text: 'Yes' + uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb + - text: 'No' + uuid: f4a98af1-be56-4948-a57e-e1a83f8484c6 + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f15e1bb69f9f2193bbbd + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin214@email.com + from_ai_agent: true + id: '991267698' + is_ai_answer: false + name: Ciaran214 Lee + type: admin + created_at: 1734537568 + id: '134' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537568 + part_type: quick_reply + redacted: false + type: conversation_part + updated_at: 1734537568 + total_count: 1 + type: conversation_part.list + created_at: 1734537567 + custom_attributes: + key: value + id: '526' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin214@email.com + from_ai_agent: true + id: '991267698' + is_ai_answer: false + name: Ciaran214 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918351' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537568 + - name: User reply with quick reply selection + path-parameters: + id: 123 or "last" + request: + body: body + intercom_user_id: 6762f1621bb69f9f2193bbbe + message_type: comment + reply_options: + - text: 'Yes' + uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1571bb69f9f2193bbbb + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1571bb69f9f2193bbbb + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537561 + id: '132' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537561 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537561 + total_count: 1 + type: conversation_part.list + created_at: 1734537559 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537561 + type: conversation + id: '524' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin212@email.com + from_ai_agent: true + id: '991267694' + is_ai_answer: false + name: Ciaran212 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918349' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537561 + waiting_since: 1734537561 + - name: User last conversation reply + path-parameters: + id: 123 or "last" + request: + body: Thanks again :) + intercom_user_id: 6762f1661bb69f9f2193bbbf + message_type: comment + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1621bb69f9f2193bbbe + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1621bb69f9f2193bbbe + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537572 + id: '135' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537572 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537572 + total_count: 1 + type: conversation_part.list + created_at: 1734537571 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537572 + type: conversation + id: '527' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin215@email.com + from_ai_agent: true + id: '991267700' + is_ai_answer: false + name: Ciaran215 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918352' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537572 + waiting_since: 1734537572 + method: POST + path: /conversations/{id}/reply + request: + body: root.ReplyConversationRequest + content-type: application/json + name: ReplyConversationRequest + path-parameters: + id: + docs: >- + The Intercom provisioned identifier for the conversation or the + string "last" to reply to the last part of the conversation + type: string + response: + docs: User last conversation reply + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveConversation: + auth: true + display-name: Retrieve a conversation + docs: > + + 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). + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: conversation found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1261bb69f9f2193bba7 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - assigned_to: + id: 1a2b3c + type: contact + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Okay!

+ created_at: 1663597223 + external_id: abcd1234 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1663597260 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: jamie+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Jamie Oliver + type: admin + created_at: 1740141842 + event_details: + action: + name: Jira Create Issue + id: '3' + notified_at: 1740141842 + part_type: custom_action_started + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141842 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '278' + is_ai_answer: false + name: Fin + type: bot + created_at: 1740141851 + event_details: + attribute: + name: jira_issue_key + value: + name: PROJ-007 + id: '3' + notified_at: 1740141851 + part_type: conversation_attribute_updated_by_admin + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141851 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: jamie+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Jamie Oliver + type: admin + created_at: 1740141857 + event_details: + action: + name: Jira Create Issue + result: success + id: '3' + notified_at: 1740141857 + part_type: custom_action_finished + redacted: false + state: closed + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141857 + total_count: 4 + type: conversation_part.list + created_at: 1734537511 + custom_attributes: + key: value + id: '503' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin176@email.com + from_ai_agent: true + id: '991267645' + is_ai_answer: false + name: Ciaran176 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918334' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537511 + method: GET + path: /conversations/{id} + request: + name: RetrieveConversationRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + query-parameters: + display_as: + docs: Set to plaintext to retrieve conversation messages in plain text. + type: optional + include_translations: + docs: >- + If set to true, conversation parts will be translated to the + detected language of the conversation. + type: optional + response: + docs: conversation found + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + runAssignmentRules: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: POST + path: /conversations/{conversation_id}/run_assignment_rules + request: + name: AutoAssignConversationRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + search: + auth: true + display-name: Search conversations + docs: > + 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 in the conversation 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"`). + + 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 | String
Accepted fields + are `conversation`, `email`, `facebook`, `instagram`, `phone_call`, + `phone_switch`, `push`, `sms`, `twitter` and `whatsapp`. | + + | source.id | + String + | + + | source.delivered_as | + String + | + + | source.subject | + String + | + + | source.body | + String + | + + | source.author.id | + String + | + + | source.author.type | + String + | + + | source.author.name | + String + | + + | source.author.email | + String + | + + | source.url | + String + | + + | contact_ids | + String + | + + | teammate_ids | + String + | + + | admin_assignee_id | + String + | + + | team_assignee_id | + String + | + + | channel_initiated | + String + | + + | open | + Boolean + | + + | read | + Boolean + | + + | state | + String + | + + | waiting_since | Date (UNIX + timestamp) + | + + | snoozed_until | Date (UNIX + timestamp) + | + + | tag_ids | + String + | + + | priority | + String + | + + | statistics.time_to_assignment | + Integer + | + + | statistics.time_to_admin_reply | + Integer + | + + | statistics.time_to_first_close | + Integer + | + + | statistics.time_to_last_close | + Integer + | + + | statistics.median_time_to_reply | + Integer + | + + | statistics.first_contact_reply_at | Date (UNIX + timestamp) + | + + | statistics.first_assignment_at | Date (UNIX + timestamp) + | + + | statistics.first_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.first_close_at | Date (UNIX + timestamp) + | + + | statistics.last_assignment_at | Date (UNIX + timestamp) + | + + | statistics.last_assignment_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_contact_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_close_at | Date (UNIX + timestamp) + | + + | statistics.last_closed_by_id | + String + | + + | statistics.count_reopens | + Integer + | + + | statistics.count_assignments | + Integer + | + + | statistics.count_conversation_parts | + Integer + | + + | conversation_rating.requested_at | Date (UNIX + timestamp) + | + + | conversation_rating.replied_at | Date (UNIX + timestamp) + | + + | conversation_rating.score | + Integer + | + + | conversation_rating.remark | + String + | + + | conversation_rating.contact_id | + String + | + + | conversation_rating.admin_d | + String + | + + | ai_agent_participated | + Boolean + | + + | ai_agent.resolution_state | + String + | + + | ai_agent.last_answer_type | + String + | + + | ai_agent.rating | + Integer + | + + | ai_agent.rating_remark | + String + | + + | ai_agent.source_type | + String + | + + | ai_agent.source_title | + String + | + + + ### Accepted Operators + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :----------------------------- | + :----------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In Shortcut for `OR` + queries Values most be in Array | + + | NIN | All | Not In Shortcut for `OR + !` queries Values must be in Array | + + | > | Integer Date (UNIX Timestamp) | Greater (or equal) + than | + + | < | Integer Date (UNIX Timestamp) | Lower (or equal) + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + conversations: + - ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f14a1bb69f9f2193bbb3 + type: contact + type: contact.list + conversation_parts: + total_count: 1 + created_at: 1734537546 + custom_attributes: + key: value + id: '515' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin210@email.com + from_ai_agent: true + id: '991267691' + is_ai_answer: false + name: Ciaran210 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918346' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537546 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 1 + type: pages + total_count: 1 + type: conversation.list + method: POST + pagination: + cursor: $request.pagination.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.conversations + path: /conversations/search + request: + body: + type: root.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: root.ConversationList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + method: PUT + path: /conversations/{conversation_id} + request: + name: UpdateConversationRequest + path-parameters: + conversation_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateConversation: + auth: true + display-name: Update a conversation + docs: >+ + + 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 %} + + + {% admonition type="info" %} + This endpoint handles both **conversation updates** and **custom object associations**. + + See _`update a conversation with an association to a custom object instance`_ in the request/response examples to see the custom object association format. + {% /admonition %} + + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + examples: + - name: conversation found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + issue_type: Billing + priority: High + read: true + title: new conversation title + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1301bb69f9f2193bbab + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '129' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '130' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + total_count: 2 + type: conversation_part.list + created_at: 1734537521 + custom_attributes: + issue_type: Billing + priority: High + id: '507' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin180@email.com + from_ai_agent: true + id: '991267653' + is_ai_answer: false + name: Ciaran180 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918338' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537523 + - name: >- + update a conversation with an association to a custom object + instance + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + order: {} + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1341bb69f9f2193bbac + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 0 + type: conversation_part.list + created_at: 1734537525 + custom_attributes: + order: + instances: + - created_at: 1671028894 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '21' + type: Order + updated_at: 1671028894 + type: Order.list + id: '508' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin185@email.com + from_ai_agent: true + id: '991267659' + is_ai_answer: false + name: Ciaran185 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918339' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537525 + - name: Not found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + issue_type: Billing + priority: High + read: true + title: new conversation title + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1301bb69f9f2193bbab + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '129' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '130' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + total_count: 2 + type: conversation_part.list + created_at: 1734537521 + custom_attributes: + issue_type: Billing + priority: High + id: '507' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin180@email.com + from_ai_agent: true + id: '991267653' + is_ai_answer: false + name: Ciaran180 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918338' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537523 + method: PUT + path: /conversations/{id} + request: + body: + properties: + company_id: + docs: >- + The ID of the company that the conversation is associated with. + The unique identifier for the company which is given by + Intercom. Set to nil to remove company. + type: optional + custom_attributes: + type: optional + read: + docs: Mark a conversation as read within Intercom. + type: optional + title: + docs: The title given to the conversation + type: optional + content-type: application/json + name: UpdateConversationRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + query-parameters: + display_as: + docs: Set to plaintext to retrieve conversation messages in plain text. + type: optional + response: + docs: update a conversation with an association to a custom object instance + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/customChannelEvents.yml b/fern/.definition/customChannelEvents.yml new file mode 100644 index 0000000..dcdb952 --- /dev/null +++ b/fern/.definition/customChannelEvents.yml @@ -0,0 +1,226 @@ +imports: + root: __package__.yml +docs: > + With the "Custom Channel" integration, you can bring Fin and Intercom + capabilities to your own platform via API, enabling powerful custom + integrations. + + + Intercom treats your integration like any other Intercom channel, allowing + your application and Intercom to exchange events seamlessly. This makes it + possible, for example, for your users to interact with Fin directly within + your own application’s UI. + + + > **Note:** "Fin over API" is currently under managed availability. Please + reach out to your accounts team to discuss access and tailored, hands-on + support. +service: + auth: false + base-path: '' + display-name: Custom Channel Events + endpoints: + notifyAttributeCollected: + auth: true + display-name: >- + Notify Intercom of an attribute collector response in a custom channel + conversation + docs: > + Notifies Intercom that a user provided a response to an attribute + collector in your custom channel/platform. This allows Intercom to + process the attribute and trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: NotificationSuccess + request: + attribute: + id: shipping_address + value: 123 Main St, Springfield + contact: + email: bob@example.com + external_id: user_004 + name: Bob Example + type: user + event_id: evt_24680 + external_conversation_id: conv_11223 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_attribute_collected + request: + body: + extends: + - root.CustomChannelBaseEvent + properties: + attribute: + type: root.CustomChannelAttribute + content-type: application/json + name: NotifyAttributeCollectedRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: root.CustomChannelNotificationResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + notifyNewConversation: + auth: true + display-name: Notify Intercom of a new conversation created in a custom channel + docs: > + Notifies Intercom that a new conversation was created in your custom + channel/platform. This triggers conversation creation and workflow + automations within Intercom for your custom channel integration. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: NotificationSuccess + request: + contact: + email: jane.doe@example.com + external_id: user_001 + name: Jane Doe + type: user + event_id: evt_12345 + external_conversation_id: conv_67890 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_new_conversation + request: + body: + type: root.CustomChannelBaseEvent + content-type: application/json + response: + docs: Successfully notified Intercom + status-code: 200 + type: root.CustomChannelNotificationResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + notifyNewMessage: + auth: true + display-name: Notify Intercom of a new message in a custom channel conversation + docs: > + Notifies Intercom that a new message was sent in a conversation on your + custom channel/platform. This allows Intercom to process the message and + trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: NotificationSuccess + request: + body: Hello, I need help with my order. + contact: + email: john.smith@example.com + external_id: user_002 + name: John Smith + type: user + event_id: evt_54321 + external_conversation_id: conv_98765 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_new_message + request: + body: + extends: + - root.CustomChannelBaseEvent + properties: + body: + docs: The message content sent by the user. + type: string + content-type: application/json + name: NotifyNewMessageRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: root.CustomChannelNotificationResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + notifyQuickReplySelected: + auth: true + display-name: >- + Notify Intercom of a quick reply response in a custom channel + conversation + docs: > + Notifies Intercom that a user selected a quick reply option in your + custom channel/platform. This allows Intercom to process the response + and trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: NotificationSuccess + request: + contact: + email: alice@example.com + external_id: user_003 + name: Alice Example + type: user + event_id: evt_67890 + external_conversation_id: conv_13579 + quick_reply_option_id: '1234' + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_quick_reply_selected + request: + body: + extends: + - root.CustomChannelBaseEvent + properties: + quick_reply_option_id: + docs: Id of the selected quick reply option. + type: string + content-type: application/json + name: NotifyQuickReplySelectedRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: root.CustomChannelNotificationResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/customObjectInstances.yml b/fern/.definition/customObjectInstances.yml new file mode 100644 index 0000000..da72b3e --- /dev/null +++ b/fern/.definition/customObjectInstances.yml @@ -0,0 +1,278 @@ +imports: + root: __package__.yml +types: + CustomObjectInstance: + docs: >- + 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: + created_at: + docs: The time the attribute was created as a UTC Unix timestamp + type: optional + custom_attributes: + docs: The custom attributes you have set on the custom object instance. + type: optional> + external_created_at: + docs: >- + The time when the Custom Object instance was created in the external + system it originated from. + type: optional + external_id: + docs: The id you have defined for the custom object instance. + type: optional + external_updated_at: + docs: >- + The time when the Custom Object instance was last updated in the + external system it originated from. + type: optional + id: + docs: The Intercom defined id representing the custom object instance. + type: optional + type: + docs: >- + The identifier of the custom object type that defines the structure of + the custom object instance. + type: optional + updated_at: + docs: The time the attribute was last updated as a UTC Unix timestamp + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: | + Everything about your Custom Object instances. + {% admonition type="warning" name="Permission Requirements" %} + From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions. + {% /admonition %} +service: + auth: false + base-path: '' + display-name: Custom Object Instances + endpoints: + createCustomObjectInstances: + auth: true + display-name: Create or Update a Custom Object Instance + docs: Create or update a custom object instance + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + request: + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + response: + body: + created_at: 1734537745 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '22' + type: Order + updated_at: 1734537745 + method: POST + path: /custom_object_instances/{custom_object_type_identifier} + request: + body: + properties: + custom_attributes: + docs: >- + The custom attributes which are set for the Custom Object + instance. + type: optional>> + external_created_at: + docs: >- + The time when the Custom Object instance was created in the + external system it originated from. + type: optional + external_id: + docs: >- + A unique identifier for the Custom Object instance in the + external system it originated from. + type: optional + external_updated_at: + docs: >- + The time when the Custom Object instance was last updated in the + external system it originated from. + type: optional + content-type: application/json + name: CreateOrUpdateCustomObjectInstanceRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteCustomObjectInstancesByExternalId: + auth: true + display-name: Delete a Custom Object Instance by ID + docs: Delete a single Custom Object instance using the Intercom defined id. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + id: id + response: + body: + deleted: true + id: '26' + object: Order + method: DELETE + path: /custom_object_instances/{custom_object_type_identifier}/{id} + request: + name: DeleteCustomObjectInstancesByExternalIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + id: + docs: The Intercom defined id of the custom object instance + type: string + response: + docs: successful + status-code: 200 + type: root.CustomObjectInstanceDeleted + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteCustomObjectInstancesById: + auth: true + display-name: Delete a Custom Object Instance by External ID + docs: Delete a single Custom Object instance by external_id. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + query-parameters: + external_id: external_id + response: + body: + deleted: true + id: '26' + object: Order + method: DELETE + path: /custom_object_instances/{custom_object_type_identifier} + request: + name: DeleteCustomObjectInstancesByIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + query-parameters: + external_id: string + response: + docs: successful + status-code: 200 + type: root.CustomObjectInstanceDeleted + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getCustomObjectInstancesByExternalId: + auth: true + display-name: Get Custom Object Instance by External ID + docs: Fetch a Custom Object Instance by external_id. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + query-parameters: + external_id: external_id + response: + body: + created_at: 1734537748 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_id: '123' + id: '24' + type: Order + updated_at: 1734537748 + method: GET + path: /custom_object_instances/{custom_object_type_identifier} + request: + name: GetCustomObjectInstancesByExternalIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + query-parameters: + external_id: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getCustomObjectInstancesById: + auth: true + display-name: Get Custom Object Instance by ID + docs: Fetch a Custom Object Instance by id. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + id: id + response: + body: + created_at: 1734537750 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_id: '123' + id: '25' + type: Order + updated_at: 1734537750 + method: GET + path: /custom_object_instances/{custom_object_type_identifier}/{id} + request: + name: GetCustomObjectInstancesByIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + id: + docs: The id or external_id of the custom object instance + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataAttributes.yml b/fern/.definition/dataAttributes.yml new file mode 100644 index 0000000..1793e1c --- /dev/null +++ b/fern/.definition/dataAttributes.yml @@ -0,0 +1,800 @@ +imports: + root: __package__.yml +types: + DataAttribute: + docs: >- + 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: + admin_id: + docs: Teammate who created the attribute. Only applicable to CDAs + type: optional + api_writable: + docs: Can this attribute be updated through API + type: optional + archived: + docs: Is this attribute archived. (Only applicable to CDAs) + type: optional + created_at: + docs: The time the attribute was created as a UTC Unix timestamp + type: optional + custom: + docs: Set to true if this is a CDA + type: optional + data_type: + docs: The data type of the attribute. + type: DataAttributeDataType + description: + docs: Readable description of the attribute. + type: optional + full_name: + docs: >- + 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. + type: string + id: + docs: >- + The unique identifier for the data attribute which is given by + Intercom. Only available for custom attributes. + type: optional + label: + docs: Readable name of the attribute (i.e. name you see in the UI) + type: string + messenger_writable: + docs: Can this attribute be updated by the Messenger + type: optional + model: + docs: >- + Value is `contact` for user/lead attributes and `company` for company + attributes. + type: optional + name: + docs: Name of the attribute. + type: string + options: + docs: List of predefined options for attribute value. + type: optional> + type: + docs: Value is `data_attribute`. + type: literal<"data_attribute"> + ui_writable: + docs: Can this attribute be updated in the UI + type: optional + updated_at: + docs: The time the attribute was last updated as a UTC Unix timestamp + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataAttributeDataType: + docs: The data type of the attribute. + enum: + - string + - integer + - float + - boolean + - date + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataAttributeModel: + docs: >- + Value is `contact` for user/lead attributes and `company` for company + attributes. + enum: + - contact + - company + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataAttributesListRequestModel: + enum: + - contact + - company + - conversation + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Data Attributes +service: + auth: false + base-path: '' + display-name: Data Attributes + endpoints: + create: + auth: true + display-name: Create a data attribute + docs: You can create a data attributes for a `contact` or a `company`. + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: Successful + request: + data_type: string + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + - name: Same name already exists + request: + data_type: integer + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + - name: Invalid name + request: + data_type: string + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + - name: Attribute already exists + request: + data_type: string + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + - name: Invalid Data Type + request: + data_type: string + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + - name: Too few options for list + request: + options: + - value: 1-10 + response: + body: + admin_id: '991267786' + api_writable: true + archived: false + created_at: 1734537756 + custom: true + data_type: string + description: Whether the user is a paid subscriber. + full_name: custom_attributes.Mithril Shirt + id: 37 + label: Mithril Shirt + messenger_writable: false + model: company + name: Mithril Shirt + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537756 + method: POST + path: /data_attributes + request: + body: + type: root.CreateDataAttributeRequest + content-type: application/json + response: + docs: Successful + status-code: 200 + type: DataAttribute + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all data attributes + docs: >- + You can fetch a list of all data attributes belonging to a workspace for + contacts, companies or conversations. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + response: + body: + data: + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The name of a company + full_name: name + id: 12878 + label: Company name + messenger_writable: true + model: company + name: name + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: A number identifying a company + full_name: company_id + id: 12878 + label: Company ID + messenger_writable: true + model: company + name: company_id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The last day anyone from a company visited your site or app + full_name: last_request_at + id: 12878 + label: Company last seen + messenger_writable: true + model: company + name: last_request_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The day a company was added to Intercom + full_name: remote_created_at + id: 12878 + label: Company created at + messenger_writable: true + model: company + name: remote_created_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: The number of people in a company + full_name: user_count + id: 12878 + label: People + messenger_writable: true + model: company + name: user_count + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: >- + All visits from anyone in a company to your product's site + or app + full_name: session_count + id: 12878 + label: Company web sessions + messenger_writable: true + model: company + name: session_count + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: >- + A specific plan or level within your product that companies + have signed up to + full_name: plan.name + id: 12878 + label: Plan + messenger_writable: true + model: company + name: name + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: float + description: The monthly revenue you receive from a company + full_name: monthly_spend + id: 12878 + label: Monthly Spend + messenger_writable: true + model: company + name: monthly_spend + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: >- + The number of people employed in this company, expressed as + a single number + full_name: size + id: 12878 + label: Company size + messenger_writable: true + model: company + name: size + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: >- + The category or domain this company belongs to e.g. + 'ecommerce' or 'SaaS' + full_name: industry + id: 12878 + label: Company industry + messenger_writable: true + model: company + name: industry + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The web address for the company's primary marketing site + full_name: website + id: 12878 + label: Company website + messenger_writable: true + model: company + name: website + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '991267784' + api_writable: true + archived: false + created_at: 1734537753 + custom: true + data_type: string + description: >- + One ring to rule them all, one ring to find them, One ring + to bring them all and in the darkness bind them. + full_name: custom_attributes.The One Ring + id: 34 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537753 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the company + full_name: id + id: 12878 + label: ID + messenger_writable: true + model: company + name: id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The time the company was added to Intercom + full_name: created_at + id: 12878 + label: Created at + messenger_writable: true + model: company + name: created_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The last time the company was updated + full_name: updated_at + id: 12878 + label: Updated at + messenger_writable: true + model: company + name: updated_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the plan + full_name: plan.id + id: 12878 + label: Plan ID + messenger_writable: true + model: company + name: id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the app + full_name: app_id + id: 12878 + label: App ID + messenger_writable: true + model: company + name: app_id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + type: list + method: GET + path: /data_attributes + request: + name: ListDataAttributesRequest + query-parameters: + include_archived: + docs: >- + Include archived attributes in the list. By default we return only + non archived data attributes. + type: optional + model: + docs: Specify the data attribute model to return. + type: optional + response: + docs: Successful response + status-code: 200 + type: root.DataAttributeList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + data_attribute_id: data_attribute_id + method: PUT + path: /data_attributes/{data_attribute_id} + request: + name: UpdateDataAttributeRequest + path-parameters: + data_attribute_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateDataAttribute: + auth: true + display-name: Update a data attribute + docs: > + + 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. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.UnprocessableEntityError + examples: + - name: Successful + path-parameters: + id: 1 + request: + options: + - value: 1-10 + - value: 11-20 + response: + body: + admin_id: '991267793' + api_writable: true + archived: false + created_at: 1734537762 + custom: true + data_type: string + description: Just a plain old ring + full_name: custom_attributes.The One Ring + id: 44 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 1-10 + - 11-20 + type: data_attribute + ui_writable: false + updated_at: 1734537763 + - name: Too few options in list + path-parameters: + id: 1 + request: + options: + - value: 1-10 + - value: 11-50 + response: + body: + admin_id: '991267793' + api_writable: true + archived: false + created_at: 1734537762 + custom: true + data_type: string + description: Just a plain old ring + full_name: custom_attributes.The One Ring + id: 44 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 1-10 + - 11-20 + type: data_attribute + ui_writable: false + updated_at: 1734537763 + - name: Attribute Not Found + path-parameters: + id: 1 + request: + options: + - value: 1-10 + - value: 11-20 + response: + body: + admin_id: '991267793' + api_writable: true + archived: false + created_at: 1734537762 + custom: true + data_type: string + description: Just a plain old ring + full_name: custom_attributes.The One Ring + id: 44 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 1-10 + - 11-20 + type: data_attribute + ui_writable: false + updated_at: 1734537763 + - name: Has Dependant Object + path-parameters: + id: 1 + request: + archived: true + description: Trying to archieve + response: + body: + admin_id: '991267793' + api_writable: true + archived: false + created_at: 1734537762 + custom: true + data_type: string + description: Just a plain old ring + full_name: custom_attributes.The One Ring + id: 44 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 1-10 + - 11-20 + type: data_attribute + ui_writable: false + updated_at: 1734537763 + method: PUT + path: /data_attributes/{id} + request: + body: + type: root.UpdateDataAttributeRequest + content-type: application/json + name: UpdateDataAttributeRequest + path-parameters: + id: + docs: The data attribute id + type: integer + response: + docs: Successful + status-code: 200 + type: DataAttribute + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataEvents.yml b/fern/.definition/dataEvents.yml new file mode 100644 index 0000000..d185ce4 --- /dev/null +++ b/fern/.definition/dataEvents.yml @@ -0,0 +1,36 @@ +types: + DataEvent: + docs: Data events are used to notify Intercom of changes to your data. + properties: + created_at: + docs: The time the event occurred as a UTC Unix timestamp + type: integer + email: + docs: >- + An email address for your user. An email should only be used where + your application uses email to uniquely identify users. + type: optional + event_name: + docs: >- + 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`. + type: string + id: + docs: Your identifier for a lead or a user. + type: optional + intercom_user_id: + docs: The Intercom identifier for the user. + type: optional + metadata: + docs: Optional metadata about the event. + type: optional> + type: + docs: The type of the object + type: optional> + user_id: + docs: Your identifier for the user. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataExport.yml b/fern/.definition/dataExport.yml new file mode 100644 index 0000000..1a26a82 --- /dev/null +++ b/fern/.definition/dataExport.yml @@ -0,0 +1,216 @@ +types: + DataExport: + docs: >- + The data export api is used to view all message sent & viewed in a given + timeframe. + properties: + download_expires_at: + docs: The time after which you will not be able to access the data. + type: optional + download_url: + docs: The location where you can download your data. + type: optional + job_identfier: + docs: The identifier for your job. + type: optional + status: + docs: The current state of your job. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + DataExportStatus: + docs: The current state of your job. + enum: + - pending + - in_progress + - failed + - completed + - no_data + - canceled + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Data Exports +service: + auth: false + base-path: '' + display-name: Data Export + endpoints: + cancel: + auth: true + display-name: Cancel content data export + docs: You can cancel your job + examples: + - name: successful + path-parameters: + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: canceled + method: POST + path: /export/cancel/{job_identifier} + request: + name: CancelDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + create: + auth: true + display-name: Create content data export + docs: > + 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. + examples: + - name: successful + request: + created_at_after: 1734519776 + created_at_before: 1734537776 + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: pending + method: POST + path: /export/content/data + request: + body: + properties: + created_at_after: + docs: >- + The start date that you request data for. It must be formatted + as a unix timestamp. + type: integer + created_at_before: + docs: >- + The end date that you request data for. It must be formatted as + a unix timestamp. + type: integer + content-type: application/json + name: CreateDataExportRequest + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + download: + auth: true + display-name: Download content data export + docs: > + 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. + examples: + - path-parameters: + job_identifier: job_identifier + method: GET + path: /download/content/data/{job_identifier} + request: + name: DownloadDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + display-name: Show content data export + docs: > + 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. + examples: + - name: successful + path-parameters: + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: pending + method: GET + path: /export/content/data/{job_identifier} + request: + name: FindDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/events.yml b/fern/.definition/events.yml new file mode 100644 index 0000000..c8eea08 --- /dev/null +++ b/fern/.definition/events.yml @@ -0,0 +1,300 @@ +imports: + root: __package__.yml +types: + CreateDataEventSummariesRequestEventSummaries: + docs: >- + 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`. + inline: true + properties: + count: + docs: The number of times the event occurred. + type: optional + event_name: + docs: >- + 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`. + type: optional + first: + docs: The first time the event was sent + type: optional + last: + docs: The last time the event was sent + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + create: + auth: true + display-name: Submit a data event + docs: >+ + + 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. + + errors: + - root.UnauthorizedError + examples: + - request: + created_at: 1671028894 + event_name: invited-friend + id: 8a88a590-e1c3-41e2-a502-e0649dbf721c + method: POST + path: /events + request: + body: + type: root.CreateDataEventRequest + content-type: application/json + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all data events + docs: > + + > 🚧 + + > + + > 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. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + query-parameters: + type: type + response: + body: + email: user26@email.com + events: + - count: 1 + description: A user placed an order + first: '2014-01-16T23:12:21.000+00:00' + last: '2014-01-16T23:12:21.000+00:00 ' + name: placed-order + intercom_user_id: 6762f22b1bb69f9f2193bc12 + type: event.summary + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + method: GET + path: /events + request: + name: ListEventsRequest + query-parameters: + email: + docs: email query parameter + type: optional + intercom_user_id: + docs: intercom_user_id query parameter + type: optional + per_page: + docs: How many results to display per page. Defaults to 15 + type: optional + summary: + docs: summary flag + type: optional + type: + docs: The value must be user + type: string + user_id: + docs: user_id query parameter + type: optional + response: + docs: Successful response + status-code: 200 + type: root.DataEventSummary + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + summaries: + auth: true + display-name: Create event summaries + docs: >+ + 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. + + errors: + - root.UnauthorizedError + examples: + - request: {} + method: POST + path: /events/summaries + request: + body: + properties: + event_summaries: + docs: >- + 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`. + type: optional + user_id: + docs: Your identifier for the user. + type: optional + content-type: application/json + name: ListEventSummariesRequest + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/export.yml b/fern/.definition/export.yml new file mode 100644 index 0000000..5c5d069 --- /dev/null +++ b/fern/.definition/export.yml @@ -0,0 +1,186 @@ +imports: + root: __package__.yml +types: + GetExportReportingDataGetDatasetsResponse: + properties: + data: optional> + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + GetExportReportingDataGetDatasetsResponseDataItem: + inline: true + properties: + attributes: >- + optional> + default_time_attribute_id: optional + description: optional + id: optional + name: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + GetExportReportingDataGetDatasetsResponseDataItemAttributesItem: + inline: true + properties: + id: optional + name: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + GetExportReportingDataJobIdentifierResponse: + properties: + download_expires_at: optional + download_url: optional + job_identifier: optional + status: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + PostExportReportingDataEnqueueResponse: + properties: + download_expires_at: optional + download_url: optional + job_identifier: optional + status: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + downloadCompletedExportJobData: + auth: true + display-name: Download completed export job data + errors: + - root.NotFoundError + examples: + - path-parameters: + job_identifier: job_identifier + query-parameters: + app_id: app_id + job_identifier: job_identifier + method: GET + path: /download/reporting_data/{job_identifier} + request: + name: GetDownloadReportingDataJobIdentifierRequest + path-parameters: + job_identifier: string + query-parameters: + app_id: string + job_identifier: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + enqueueANewReportingDataExportJob: + auth: true + display-name: Enqueue a new reporting data export job + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.TooManyRequestsError + examples: + - request: + attribute_ids: + - conversation_id + - conversation_started_at + dataset_id: conversation + end_time: 1717510000 + start_time: 1717490000 + response: + body: + download_expires_at: download_expires_at + download_url: download_url + job_identifier: job1 + status: pending + method: POST + path: /export/reporting_data/enqueue + request: + body: + properties: + attribute_ids: list + dataset_id: string + end_time: long + start_time: long + content-type: application/json + name: PostExportReportingDataEnqueueRequest + response: + docs: Job enqueued successfully + status-code: 200 + type: PostExportReportingDataEnqueueResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getExportJobStatus: + auth: true + display-name: Get export job status + errors: + - root.NotFoundError + examples: + - name: With complete status + path-parameters: + job_identifier: job_identifier + query-parameters: + app_id: app_id + client_id: client_id + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identifier: job1 + status: complete + - name: With failed status + path-parameters: + job_identifier: job_identifier + query-parameters: + app_id: app_id + client_id: client_id + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identifier: job1 + status: failed + method: GET + path: /export/reporting_data/{job_identifier} + request: + name: GetExportReportingDataJobIdentifierRequest + path-parameters: + job_identifier: string + query-parameters: + app_id: + docs: >- + The Intercom defined code of the workspace the company is + associated to. + type: string + client_id: string + job_identifier: + docs: Unique identifier of the job. + type: string + response: + docs: Job status returned successfully + status-code: 200 + type: GetExportReportingDataJobIdentifierResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listAvailableDatasetsAndAttributes: + auth: true + display-name: List available datasets and attributes + examples: + - response: + body: + data: + - attributes: + - id: conversation_id + name: Conversation ID + default_time_attribute_id: conversation_started_at + description: 'Conversation-level details: status, channel, assignee.' + id: conversation + name: Conversation + type: list + method: GET + path: /export/reporting_data/get_datasets + response: + docs: List of datasets + status-code: 200 + type: GetExportReportingDataGetDatasetsResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenter.yml b/fern/.definition/helpCenter.yml new file mode 100644 index 0000000..25c9107 --- /dev/null +++ b/fern/.definition/helpCenter.yml @@ -0,0 +1,770 @@ +imports: + root: __package__.yml +types: + Collection: + docs: Collections are top level containers for Articles within the Help Center. + properties: + created_at: + docs: >- + The time when the article was created (seconds). For multilingual + articles, this will be the timestamp of creation of the default + language's content. + type: integer + default_locale: + docs: >- + The default locale of the help center. This field is only returned for + multilingual help centers. + type: optional + description: + docs: >- + The description of the collection. For multilingual help centers, this + will be the description of the collection for the default language. + type: optional + help_center_id: + docs: The id of the help center the collection is in. + type: optional + icon: + docs: The icon of the collection. + type: optional + id: + docs: The unique identifier for the collection which is given by Intercom. + type: string + name: + docs: >- + The name of the collection. For multilingual collections, this will be + the name of the default language's content. + type: string + order: + docs: >- + The order of the section in relation to others sections within a + collection. Values go from `0` upwards. `0` is the default if there's + no order. + type: integer + parent_id: + docs: >- + The id of the parent collection. If `null` then it is the first level + collection. + type: optional + translated_content: + type: optional + updated_at: + docs: >- + The time when the article was last updated (seconds). For multilingual + articles, this will be the timestamp of last update of the default + language's content. + type: optional + url: + docs: >- + The URL of the collection. For multilingual help centers, this will be + the URL of the collection for the default language. + type: optional + workspace_id: + docs: The id of the workspace which the collection belongs to. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + HelpCenter: + docs: Help Centers contain collections + properties: + created_at: + docs: The time when the Help Center was created. + type: optional + custom_domain: + docs: Custom domain configured for the help center + type: optional + display_name: + docs: The display name of the Help Center only seen by teammates. + type: optional + id: + docs: The unique identifier for the Help Center which is given by Intercom. + type: optional + identifier: + docs: >- + The identifier of the Help Center. This is used in the URL of the Help + Center. + type: optional + updated_at: + docs: The time when the Help Center was last updated. + type: optional + url: + docs: >- + The URL for the help center, if you have a custom domain then this + will show the URL using the custom domain. + type: optional + website_turned_on: + docs: >- + Whether the Help Center is turned on or not. This is controlled in + your Help Center settings. + type: optional + workspace_id: + docs: The id of the workspace which the Help Center belongs to. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + HelpCenterList: + docs: A list of Help Centers belonging to the App + properties: + data: + docs: An array of Help Center objects + type: optional> + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Help Center +service: + auth: false + base-path: '' + display-name: Help Center + endpoints: + deleteCollection: + auth: true + display-name: Delete a collection + docs: >- + You can delete a single collection by making a DELETE request to + `https://api.intercom.io/collections/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '182' + object: collection + method: DELETE + path: /help_center/collections/{id} + request: + name: DeleteCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: root.DeletedCollectionObject + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveCollection: + auth: true + display-name: Retrieve a collection + docs: >- + You can fetch the details of a single collection by making a GET request + to `https://api.intercom.io/help_center/collections/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Collection found + path-parameters: + id: 1 + response: + body: + created_at: 1734537315 + default_locale: en + description: english collection description + help_center_id: 84 + icon: bookmark + id: '170' + name: English collection title + order: 22 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537315 + url: http://help-center.test/myapp-106/collection-22 + workspace_id: this_is_an_id106_that_should_be_at_least_ + method: GET + path: /help_center/collections/{id} + request: + name: RetrieveCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: Collection found + status-code: 200 + type: Collection + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveHelpCenter: + auth: true + display-name: Retrieve a Help Center + docs: >- + You can fetch the details of a single Help Center by making a GET + request to `https://api.intercom.io/help_center/help_center/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Collection found + path-parameters: + id: 1 + response: + body: + created_at: 1734537325 + custom_domain: help.mycompany.com + display_name: Intercom Help Center + id: '93' + identifier: help-center-1 + updated_at: 1734537325 + url: https://help.mycompany.com + website_turned_on: false + workspace_id: this_is_an_id124_that_should_be_at_least_ + method: GET + path: /help_center/help_centers/{id} + request: + name: RetrieveHelpCenterRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: Collection found + status-code: 200 + type: HelpCenter + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateCollection: + auth: true + display-name: Update a collection + docs: >- + You can update the details of a single collection by making a PUT + request to `https://api.intercom.io/collections/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + name: Update collection name + response: + body: + created_at: 1734537318 + default_locale: en + description: english collection description + help_center_id: 87 + icon: folder + id: '176' + name: Update collection name + order: 25 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537319 + url: http://help-center.test/myapp-112/collection-25 + workspace_id: this_is_an_id112_that_should_be_at_least_ + - name: Collection Not Found + path-parameters: + id: 1 + request: + name: Update collection name + response: + body: + created_at: 1734537318 + default_locale: en + description: english collection description + help_center_id: 87 + icon: folder + id: '176' + name: Update collection name + order: 25 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537319 + url: http://help-center.test/myapp-112/collection-25 + workspace_id: this_is_an_id112_that_should_be_at_least_ + method: PUT + path: /help_center/collections/{id} + request: + body: + properties: + description: + docs: >- + The description of the collection. For multilingual collections, + this will be the description of the default language's content. + type: optional + name: + docs: >- + The name of the collection. For multilingual collections, this + will be the name of the default language's content. + type: optional + parent_id: + docs: >- + The id of the parent collection. If `null` then it will be + updated as the first level collection. + type: optional + translated_content: + type: optional + content-type: application/json + name: UpdateCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: Collection + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenters.yml b/fern/.definition/helpCenters.yml new file mode 100644 index 0000000..a2c9842 --- /dev/null +++ b/fern/.definition/helpCenters.yml @@ -0,0 +1,56 @@ +imports: + helpCenter: helpCenter.yml + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + find: + auth: true + examples: + - path-parameters: + help_center_id: help_center_id + method: GET + path: /help_center/help_centers/{help_center_id} + request: + name: FindHelpCenterRequest + path-parameters: + help_center_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all Help Centers + docs: >- + You can list all Help Centers by making a GET request to + `https://api.intercom.io/help_center/help_centers`. + errors: + - root.UnauthorizedError + examples: + - name: Help Centers found + response: + body: + data: + - created_at: 1672928359 + custom_domain: help.mycompany.com + display_name: Intercom Help Center + id: '123' + identifier: intercom + updated_at: 1672928610 + url: https://help.mycompany.com + website_turned_on: true + workspace_id: hfi1bx4l + type: list + method: GET + pagination: + offset: $request.page + results: $response.data + path: /help_center/help_centers + response: + docs: Help Centers found + status-code: 200 + type: helpCenter.HelpCenterList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenters/collections.yml b/fern/.definition/helpCenters/collections.yml new file mode 100644 index 0000000..d6b968f --- /dev/null +++ b/fern/.definition/helpCenters/collections.yml @@ -0,0 +1,484 @@ +imports: + helpCenter: ../helpCenter.yml + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + create: + auth: true + display-name: Create a collection + docs: >- + You can create a new collection by making a POST request to + `https://api.intercom.io/help_center/collections.` + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: collection created + request: + name: Thanks for everything + response: + body: + created_at: 1734537312 + default_locale: en + description: '' + help_center_id: 81 + icon: book-bookmark + id: '165' + name: Thanks for everything + order: 1 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537312 + url: http://help-center.test/myapp-100/ + workspace_id: this_is_an_id100_that_should_be_at_least_ + - name: Bad Request + request: + description: Missing required parameter + name: collection 51 + response: + body: + created_at: 1734537312 + default_locale: en + description: '' + help_center_id: 81 + icon: book-bookmark + id: '165' + name: Thanks for everything + order: 1 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537312 + url: http://help-center.test/myapp-100/ + workspace_id: this_is_an_id100_that_should_be_at_least_ + method: POST + path: /help_center/collections + request: + body: + properties: + description: + docs: >- + The description of the collection. For multilingual collections, + this will be the description of the default language's content. + type: optional + help_center_id: + docs: >- + The id of the help center where the collection will be created. + If `null` then it will be created in the default help center. + type: optional + name: + docs: >- + The name of the collection. For multilingual collections, this + will be the name of the default language's content. + type: string + parent_id: + docs: >- + The id of the parent collection. If `null` then it will be + created as the first level collection. + type: optional + translated_content: + type: optional + content-type: application/json + name: CreateCollectionRequest + response: + docs: collection created + status-code: 200 + type: helpCenter.Collection + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + collection_id: collection_id + method: DELETE + path: /help_center/collections/{collection_id} + request: + name: DeleteCollectionRequest + path-parameters: + collection_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + collection_id: collection_id + method: GET + path: /help_center/collections/{collection_id} + request: + name: FindCollectionRequest + path-parameters: + collection_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all collections + docs: > + You can fetch a list of all collections by making a GET request to + `https://api.intercom.io/help_center/collections`. + + + Collections 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 collections first. + errors: + - root.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - created_at: 1734537309 + default_locale: en + description: english collection description + help_center_id: 79 + icon: bookmark + id: '159' + name: English collection title + order: 17 + updated_at: 1734537309 + url: http://help-center.test/myapp-96/collection-17 + workspace_id: this_is_an_id96_that_should_be_at_least_4 + - created_at: 1734537309 + default_locale: en + icon: bookmark + id: '160' + name: English section title + order: 1 + parent_id: '159' + updated_at: 1734537309 + url: http://help-center.test/myapp-96/section-1 + workspace_id: this_is_an_id96_that_should_be_at_least_4 + pages: + next: next + page: 1 + per_page: 20 + total_pages: 1 + type: offset_pages + total_count: 2 + type: list + method: GET + pagination: + offset: $request.page + results: $response.data + path: /help_center/collections + response: + docs: Successful + status-code: 200 + type: root.CollectionList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + collection_id: collection_id + method: PUT + path: /help_center/collections/{collection_id} + request: + name: UpdateCollectionRequest + path-parameters: + collection_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/internalArticles.yml b/fern/.definition/internalArticles.yml new file mode 100644 index 0000000..91991c1 --- /dev/null +++ b/fern/.definition/internalArticles.yml @@ -0,0 +1,345 @@ +imports: + articles: articles.yml + root: __package__.yml +types: + InternalArticleListItem: + docs: The data returned about your internal articles when you list them. + properties: + author_id: + docs: The id of the author of the article. + type: optional + body: + docs: The body of the article in HTML. + type: optional + created_at: + docs: The time when the article was created. + type: optional + id: + docs: The unique identifier for the article which is given by Intercom. + type: optional + locale: + docs: The default locale of the article. + type: optional + owner_id: + docs: The id of the owner of the article. + type: optional + title: + docs: The title of the article. + type: optional + type: + docs: The type of object - `internal_article`. + type: optional> + updated_at: + docs: The time when the article was last updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + InternalArticleSearchResponse: + docs: The results of an Internal Article search + properties: + data: + docs: An object containing the results of the search. + type: optional + pages: + type: optional + total_count: + docs: The total number of Internal Articles matching the search query + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + InternalArticleSearchResponseData: + docs: An object containing the results of the search. + inline: true + properties: + internal_articles: + docs: An array of Internal Article objects + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Internal Articles +service: + auth: false + base-path: '' + display-name: Internal Articles + endpoints: + createInternalArticle: + auth: true + display-name: Create an internal article + docs: >- + You can create a new internal article by making a POST request to + `https://api.intercom.io/internal_articles`. + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: internal article created + request: + author_id: 991266252 + body: Body of the Article + owner_id: 991266252 + title: Thanks for everything + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '42' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + - name: Bad Request + request: + author_id: 1295 + body: Body of the Internal Article + owner_id: 1295 + title: Thanks for everything + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '42' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + method: POST + path: /internal_articles + request: + body: + type: optional + content-type: application/json + response: + docs: internal article created + status-code: 200 + type: articles.InternalArticle + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteInternalArticle: + auth: true + display-name: Delete an internal article + docs: >- + You can delete a single internal article by making a DELETE request to + `https://api.intercom.io/internal_articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '51' + object: internal_article + method: DELETE + path: /internal_articles/{id} + request: + name: DeleteInternalArticleRequest + path-parameters: + id: + docs: >- + The unique identifier for the internal article which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: root.DeletedInternalArticleObject + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listInternalArticles: + auth: true + display-name: List all articles + docs: >- + You can fetch a list of all internal articles by making a GET request to + `https://api.intercom.io/internal_articles`. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '39' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 25 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /internal_articles + response: + docs: successful + status-code: 200 + type: root.InternalArticleList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveInternalArticle: + auth: true + display-name: Retrieve an internal article + docs: >- + You can fetch the details of a single internal article by making a GET + request to `https://api.intercom.io/internal_articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Internal article found + path-parameters: + id: 1 + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '45' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + method: GET + path: /internal_articles/{id} + request: + name: RetrieveInternalArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: Internal article found + status-code: 200 + type: articles.InternalArticle + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + searchInternalArticles: + auth: true + display-name: Search for internal articles + docs: >- + You can search for internal articles by making a GET request to + `https://api.intercom.io/internal_articles/search`. + errors: + - root.UnauthorizedError + examples: + - name: Search successful + response: + body: + data: + internal_articles: + - author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '55' + locale: en + owner_id: 991266252 + updated_at: 1672928610 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /internal_articles/search + request: + name: SearchInternalArticlesRequest + query-parameters: + folder_id: + docs: The ID of the folder to search in. + type: optional + response: + docs: Search successful + status-code: 200 + type: InternalArticleSearchResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateInternalArticle: + auth: true + display-name: Update an internal article + docs: >- + You can update the details of a single internal article by making a PUT + request to `https://api.intercom.io/internal_articles/`. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '48' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + - name: Internal article not found + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '48' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + method: PUT + path: /internal_articles/{id} + request: + body: + type: optional + content-type: application/json + name: UpdateInternalArticleRequest + path-parameters: + id: + docs: >- + The unique identifier for the internal article which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: articles.InternalArticle + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/jobs.yml b/fern/.definition/jobs.yml new file mode 100644 index 0000000..f8b5f7b --- /dev/null +++ b/fern/.definition/jobs.yml @@ -0,0 +1,87 @@ +imports: + root: __package__.yml +types: + Jobs: + docs: >- + Jobs are tasks that are processed asynchronously by the Intercom system + after being enqueued via the API. This allows for efficient handling of + operations that may take time to complete, such as data imports or + exports. You can check the status of your jobs to monitor their progress + and ensure they are completed successfully. + properties: + id: + docs: The id of the job that's currently being processed or has completed. + type: string + resource_id: + docs: The id of the resource created during job execution (e.g. ticket id) + type: optional + resource_type: + docs: The type of resource created during job execution. + type: optional + resource_url: + docs: >- + The url of the resource created during job exeuction. Use this url to + fetch the resource. + type: optional + status: + docs: The status of the job execution. + type: optional + type: + docs: The type of the object + type: optional> + url: + docs: API endpoint URL to check the job status. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + JobsStatus: + docs: The status of the job execution. + enum: + - pending + - success + - failed + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about jobs +service: + auth: false + base-path: '' + display-name: Jobs + endpoints: + status: + auth: true + display-name: Retrieve job status + docs: Retrieve the status of job execution. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: job status retrieved + path-parameters: + id: id + response: + body: + id: '2' + resource_id: '20' + resource_type: ticket + resource_url: https://api.intercom.io/tickets/20 + status: success + type: job + url: https://api.intercom.io/jobs/status/20 + method: GET + path: /jobs/status/{id} + request: + name: JobsStatusRequest + path-parameters: + id: + docs: The unique identifier for the job which is given by Intercom + type: string + response: + docs: Job execution status + status-code: 200 + type: Jobs + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/messages.yml b/fern/.definition/messages.yml new file mode 100644 index 0000000..9acedf5 --- /dev/null +++ b/fern/.definition/messages.yml @@ -0,0 +1,293 @@ +imports: + root: __package__.yml +types: + Message: + docs: >- + Message are how you reach out to contacts in Intercom. They are created + when an admin sends an outbound message to a contact. + properties: + body: + docs: The message body, which may contain HTML. + type: string + conversation_id: + docs: The associated conversation_id + type: optional + created_at: + docs: The time the conversation was created. + type: integer + id: + docs: The id representing the message. + type: string + message_type: + docs: >- + The type of message that was sent. Can be email, inapp, facebook or + twitter. + type: MessageMessageType + subject: + docs: 'The subject of the message. Only present if message_type: email.' + type: optional + type: + docs: The type of the message + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + MessageMessageType: + docs: >- + The type of message that was sent. Can be email, inapp, facebook or + twitter. + enum: + - email + - inapp + - facebook + - twitter + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your messages +service: + auth: false + base-path: '' + display-name: Messages + endpoints: + create: + auth: true + display-name: Create a message + docs: > + 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. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.UnprocessableEntityError + examples: + - name: user_message_created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: lead_message_created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: admin_message_created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No body supplied for message + request: + body: Hello there + create_conversation_without_contact_reply: true + created_at: 1590000000 + from: + id: 394051 + type: admin + message_type: inapp + subject: heyy + template: plain + to: + id: 6762f23b1bb69f9f2193bc1a + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No subject supplied for email message + request: + body: hey there + create_conversation_without_contact_reply: true + created_at: 1590000000 + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No body supplied for email message + request: + body: Hello there + create_conversation_without_contact_reply: true + created_at: 1590000000 + from: + id: 394051 + type: admin + message_type: email + subject: heyy + template: plain + to: + id: 6762f23d1bb69f9f2193bc1c + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: user message created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: lead message created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '614' + created_at: 1734537783 + id: '403918397' + message_type: inapp + subject: Greetings + type: user_message + - name: admin message created + request: + body: Hello there + from: + id: 394051 + type: admin + message_type: email + subject: Thanks for everything + template: plain + to: + id: 536e564f316c83104c000020 + type: user + response: + body: + body: heyy + conversation_id: '64619700005570' + created_at: 1734537786 + id: '19' + message_type: inapp + subject: heyy + type: admin_message + method: POST + path: /messages + request: + body: + type: optional + content-type: application/json + response: + docs: admin message created + status-code: 200 + type: Message + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news.yml b/fern/.definition/news.yml new file mode 100644 index 0000000..14d233e --- /dev/null +++ b/fern/.definition/news.yml @@ -0,0 +1,378 @@ +imports: + root: __package__.yml +types: + Newsfeed: + docs: > + 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: + created_at: + docs: Timestamp for when the newsfeed was created. + type: optional + id: + docs: The unique identifier for the newsfeed which is given by Intercom. + type: optional + name: + docs: >- + The name of the newsfeed. This name will never be visible to your + users. + type: optional + updated_at: + docs: Timestamp for when the newsfeed was last updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NewsfeedAssignment: + docs: Assigns a news item to a newsfeed. + properties: + newsfeed_id: + docs: >- + 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). + type: optional + published_at: + docs: >- + 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". + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NewsItem: + docs: >- + 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: + body: + docs: The news item body, which may contain HTML. + type: optional + cover_image_url: + docs: URL of the image used as cover. Must have .jpg or .png extension. + type: optional + validation: + format: uri + created_at: + docs: Timestamp for when the news item was created. + type: optional + deliver_silently: + docs: >- + When set to true, the news item will appear in the messenger newsfeed + without showing a notification badge. + type: optional + id: + docs: The unique identifier for the news item which is given by Intercom. + type: optional + labels: + docs: Label names displayed to users to categorize the news item. + type: optional>> + newsfeed_assignments: + docs: A list of newsfeed_assignments to assign to the specified newsfeed. + type: optional> + reactions: + docs: >- + Ordered list of emoji reactions to the news item. When empty, + reactions are disabled. + type: optional>> + sender_id: + docs: >- + The id of the sender of the news item. Must be a teammate on the + workspace. + type: optional + state: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + type: optional + title: + docs: The title of the news item. + type: optional + updated_at: + docs: Timestamp for when the news item was last updated. + type: optional + workspace_id: + docs: The id of the workspace which the news item belongs to. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NewsItemState: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + enum: + - draft + - live + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your News +service: + auth: false + base-path: '' + display-name: News + endpoints: + deleteNewsItem: + auth: true + display-name: Delete a news item + docs: You can delete a single news item. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '40' + object: news-item + method: DELETE + path: /news/news_items/{id} + request: + name: DeleteNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: root.DeletedObject + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listLiveNewsfeedItems: + auth: true + display-name: List all live newsfeed items + docs: You can fetch a list of all news items that are live on a given newsfeed + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + data: + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 20 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /news/newsfeeds/{id}/items + request: + name: ListLiveNewsfeedItemsRequest + path-parameters: + id: + docs: >- + The unique identifier for the news feed item which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: root.PaginatedResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveNewsfeed: + auth: true + display-name: Retrieve a newsfeed + docs: You can fetch the details of a single newsfeed + errors: + - root.UnauthorizedError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + created_at: 1734537815 + id: '72' + name: Visitor Feed + updated_at: 1734537815 + method: GET + path: /news/newsfeeds/{id} + request: + name: RetrieveNewsfeedRequest + path-parameters: + id: + docs: >- + The unique identifier for the news feed item which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: Newsfeed + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveNewsItem: + auth: true + display-name: Retrieve a news item + docs: You can fetch the details of a single news item. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + body:

Hello there,

+ created_at: 1734537800 + deliver_silently: false + id: '34' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 55 + published_at: 1734537800 + reactions: + - 👍 + - 👍 + - 👍 + - 👍 + sender_id: 991267837 + state: live + title: We have news + updated_at: 1734537800 + workspace_id: this_is_an_id538_that_should_be_at_least_ + method: GET + path: /news/news_items/{id} + request: + name: RetrieveNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: NewsItem + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateNewsItem: + auth: true + display-name: Update a news item + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ reactions: + - 😝 + - 😂 + sender_id: 991267845 + title: Christmas is here! + response: + body: + body:

New gifts in store for the jolly season

+ created_at: 1734537803 + deliver_silently: false + id: '37' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 😝 + - 😂 + sender_id: 991267845 + state: live + title: Christmas is here! + updated_at: 1734537804 + workspace_id: this_is_an_id544_that_should_be_at_least_ + - name: News Item Not Found + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ reactions: + - 😝 + - 😂 + sender_id: 991267848 + title: Christmas is here! + response: + body: + body:

New gifts in store for the jolly season

+ created_at: 1734537803 + deliver_silently: false + id: '37' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 😝 + - 😂 + sender_id: 991267845 + state: live + title: Christmas is here! + updated_at: 1734537804 + workspace_id: this_is_an_id544_that_should_be_at_least_ + method: PUT + path: /news/news_items/{id} + request: + body: + type: root.NewsItemRequest + content-type: application/json + name: UpdateNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: NewsItem + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news/feeds.yml b/fern/.definition/news/feeds.yml new file mode 100644 index 0000000..3f800aa --- /dev/null +++ b/fern/.definition/news/feeds.yml @@ -0,0 +1,73 @@ +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + find: + auth: true + examples: + - path-parameters: + newsfeed_id: newsfeed_id + method: GET + path: /news/newsfeeds/{newsfeed_id} + request: + name: FindNewsFeedRequest + path-parameters: + newsfeed_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all newsfeeds + docs: You can fetch a list of all newsfeeds + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - created_at: 1674917488 + id: '12312' + name: My Newsfeed + type: newsfeed + updated_at: 1674917488 + - created_at: 1674917488 + id: '12312' + name: My Newsfeed + type: newsfeed + updated_at: 1674917488 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 2 + type: list + method: GET + path: /news/newsfeeds + response: + docs: successful + status-code: 200 + type: root.PaginatedResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listItems: + auth: true + examples: + - path-parameters: + newsfeed_id: newsfeed_id + method: GET + path: /news/newsfeeds/{newsfeed_id}/items + request: + name: ListNewsFeedItemsRequest + path-parameters: + newsfeed_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news/items.yml b/fern/.definition/news/items.yml new file mode 100644 index 0000000..dff6357 --- /dev/null +++ b/fern/.definition/news/items.yml @@ -0,0 +1,178 @@ +imports: + news: ../news.yml + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + create: + auth: true + display-name: Create a news item + docs: You can create a news item + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + body:

New costumes in store for this spooky season

+ deliver_silently: true + labels: + - Product + - Update + - New + newsfeed_assignments: + - newsfeed_id: 53 + published_at: 1664638214 + reactions: + - 😆 + - 😅 + sender_id: 991267834 + state: live + title: Halloween is here! + response: + body: + body:

New costumes in store for this spooky season

+ created_at: 1734537797 + deliver_silently: true + id: '33' + labels: + - New + - Product + - Update + newsfeed_assignments: + - newsfeed_id: 53 + published_at: 1664638214 + reactions: + - 😆 + - 😅 + sender_id: 991267834 + state: live + title: Halloween is here! + updated_at: 1734537797 + workspace_id: this_is_an_id534_that_should_be_at_least_ + method: POST + path: /news/news_items + request: + body: + type: root.NewsItemRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: news.NewsItem + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + news_item_id: news_item_id + method: DELETE + path: /news/news_items/{news_item_id} + request: + name: DeleteNewsItemRequest + path-parameters: + news_item_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + news_item_id: news_item_id + method: GET + path: /news/news_items/{news_item_id} + request: + name: FindNewsItemRequest + path-parameters: + news_item_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all news items + docs: You can fetch a list of all news items + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 2 + type: list + method: GET + path: /news/news_items + response: + docs: successful + status-code: 200 + type: root.PaginatedResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + news_item_id: news_item_id + method: PUT + path: /news/news_items/{news_item_id} + request: + name: UpdateNewsItemRequest + path-parameters: + news_item_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/notes.yml b/fern/.definition/notes.yml new file mode 100644 index 0000000..f65d16d --- /dev/null +++ b/fern/.definition/notes.yml @@ -0,0 +1,359 @@ +imports: + admins: admins.yml + root: __package__.yml +types: + Note: + docs: Notes allow you to annotate and comment on your contacts. + properties: + author: + docs: Optional. Represents the Admin that created the note. + type: optional + body: + docs: The body text of the note. + type: optional + contact: + docs: Represents the contact that the note was created about. + type: optional + created_at: + docs: The time the note was created. + type: optional + id: + docs: The id of the note. + type: optional + type: + docs: String representing the object's type. Always has the value `note`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + NoteContact: + docs: Represents the contact that the note was created about. + inline: true + properties: + id: + docs: The id of the contact. + type: optional + type: + docs: String representing the object's type. Always has the value `contact`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Notes +service: + auth: false + base-path: '' + display-name: Notes + endpoints: + create: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: POST + path: /contacts/{contact_id}/notes + request: + name: CreateContactNoteRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + createNote: + auth: true + display-name: Create a note + docs: You can add a note to a single contact. + errors: + - root.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: 6762f0ad1bb69f9f2193bb62 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + - name: Admin not found + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: 6762f0af1bb69f9f2193bb63 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + - name: Contact not found + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: '123' + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + method: POST + path: /contacts/{id}/notes + request: + body: + properties: + admin_id: + docs: The unique identifier of a given admin. + type: optional + body: + docs: The text of the note. + type: string + contact_id: + docs: The unique identifier of a given contact. + type: optional + content-type: application/json + name: CreateNoteRequest + path-parameters: + id: + docs: The unique identifier of a given contact. + type: integer + response: + docs: Successful response + status-code: 200 + type: Note + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + note_id: note_id + method: GET + path: /notes/{note_id} + request: + name: FindNoteRequest + path-parameters: + note_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + examples: + - path-parameters: + contact_id: contact_id + method: GET + pagination: + offset: $request.page + results: $response.data + path: /contacts/{contact_id}/notes + request: + name: ListContactNotesRequest + path-parameters: + contact_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + listNotes: + auth: true + display-name: List all notes + docs: You can fetch a list of notes that are associated to a contact. + errors: + - root.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + response: + body: + data: + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + team_ids: + - 814865 + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733932587 + id: '26' + type: note + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + team_ids: + - 814865 + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733846187 + id: '25' + type: note + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + team_ids: + - 814865 + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733846187 + id: '24' + type: note + total_count: 3 + type: list + method: GET + path: /contacts/{id}/notes + request: + name: ListNotesRequest + path-parameters: + id: + docs: The unique identifier of a contact. + type: integer + response: + docs: Successful response + status-code: 200 + type: root.NoteList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveNote: + auth: true + display-name: Retrieve a note + docs: You can fetch the details of a single note. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Note found + path-parameters: + id: 1 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin346@email.com + has_inbox_seat: true + id: '991267864' + job_title: Associate + name: Ciaran346 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

This is a note.

+ contact: + id: 6762f2591bb69f9f2193bc1f + type: contact + created_at: 1733846617 + id: '34' + type: note + method: GET + path: /notes/{id} + request: + name: RetrieveNoteRequest + path-parameters: + id: + docs: The unique identifier of a given note + type: integer + response: + docs: Note found + status-code: 200 + type: Note + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/phoneCallRedirects.yml b/fern/.definition/phoneCallRedirects.yml new file mode 100644 index 0000000..1525cba --- /dev/null +++ b/fern/.definition/phoneCallRedirects.yml @@ -0,0 +1,77 @@ +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + create: + auth: true + display-name: Create a phone Switch + docs: > + 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. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.UnprocessableEntityError + examples: + - name: successful + request: + custom_attributes: + issue_type: Billing + priority: High + phone: '+353832345678' + response: + body: + phone: +1 1234567890 + type: phone_call_redirect + - name: bad request - exception sending sms + request: + custom_attributes: + issue_type: Billing + priority: High + phone: '+353832345678' + response: + body: + phone: +1 1234567890 + type: phone_call_redirect + - name: bad request - invalid number + request: + custom_attributes: + issue_type: Billing + priority: High + phone: '+353832345678' + response: + body: + phone: +1 1234567890 + type: phone_call_redirect + - name: unprocessable entity + request: + custom_attributes: + issue_type: Billing + priority: High + phone: '+40241100100' + response: + body: + phone: +1 1234567890 + type: phone_call_redirect + method: POST + path: /phone_call_redirects + request: + body: + type: optional + content-type: application/json + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/segments.yml b/fern/.definition/segments.yml new file mode 100644 index 0000000..3e52e27 --- /dev/null +++ b/fern/.definition/segments.yml @@ -0,0 +1,136 @@ +imports: + root: __package__.yml +types: + Segment: + docs: A segment is a group of your contacts defined by the rules that you set. + properties: + count: + docs: >- + The number of items in the user segment. It's returned when + `include_count=true` is included in the request. + type: optional + created_at: + docs: The time the segment was created. + type: optional + id: + docs: The unique identifier representing the segment. + type: optional + name: + docs: The name of the segment. + type: optional + person_type: + docs: 'Type of the contact: contact (lead) or user.' + type: optional + type: + docs: The type of object. + type: optional> + updated_at: + docs: The time the segment was updated. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SegmentPersonType: + docs: 'Type of the contact: contact (lead) or user.' + enum: + - contact + - user + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Segments +service: + auth: false + base-path: '' + display-name: Segments + endpoints: + find: + auth: true + examples: + - path-parameters: + segment_id: segment_id + method: GET + path: /segments/{segment_id} + request: + name: FindSegmentRequest + path-parameters: + segment_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all segments + docs: You can fetch a list of all segments. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + response: + body: + pages: + key: value + segments: + - count: 3 + created_at: 1734537820 + id: 6762f25c1bb69f9f2193bc22 + name: John segment + person_type: user + type: segment + updated_at: 1734537820 + - count: 3 + created_at: 1734537820 + id: 6762f25c1bb69f9f2193bc23 + name: Jane segment + person_type: user + type: segment + updated_at: 1734537820 + type: segment.list + method: GET + path: /segments + request: + name: ListSegmentsRequest + query-parameters: + include_count: + docs: It includes the count of contacts that belong to each segment. + type: optional + response: + docs: Successful response + status-code: 200 + type: root.SegmentList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveSegment: + auth: true + display-name: Retrieve a segment + docs: You can fetch the details of a single segment. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful response + path-parameters: + id: '123' + response: + body: + count: 3 + created_at: 1734537823 + id: 6762f25f1bb69f9f2193bc26 + name: John segment + person_type: user + type: segment + updated_at: 1734537823 + method: GET + path: /segments/{id} + request: + name: RetrieveSegmentRequest + path-parameters: + id: + docs: The unique identified of a given segment. + type: string + response: + docs: Successful response + status-code: 200 + type: Segment + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/subscriptionTypes.yml b/fern/.definition/subscriptionTypes.yml new file mode 100644 index 0000000..cf2169e --- /dev/null +++ b/fern/.definition/subscriptionTypes.yml @@ -0,0 +1,153 @@ +imports: + root: __package__.yml +types: + SubscriptionType: + docs: >- + A subscription type lets customers easily opt out of non-essential + communications without missing what's important to them. + properties: + consent_type: + docs: Describes the type of consent. + type: optional + content_types: + docs: >- + The message types that this subscription supports - can contain + `email` or `sms_message`. + type: optional> + default_translation: + type: optional + id: + docs: The unique identifier representing the subscription type. + type: optional + state: + docs: The state of the subscription type. + type: optional + translations: + docs: >- + An array of translations objects with the localised version of the + subscription type in each available locale within your translation + settings. + type: optional> + type: + docs: The type of the object - subscription + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SubscriptionTypeConsentType: + docs: Describes the type of consent. + enum: + - opt_out + - opt_in + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SubscriptionTypeContentTypesItem: + enum: + - email + - sms_message + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + SubscriptionTypeState: + docs: The state of the subscription type. + enum: + - live + - draft + - archived + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about subscription types +service: + auth: false + base-path: '' + display-name: Subscription Types + endpoints: + detachSubscriptionTypeToContact: + auth: true + display-name: Remove subscription from a contact + docs: >- + 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. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '122' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + method: DELETE + path: /contacts/{contact_id}/subscriptions/{id} + request: + name: DetachSubscriptionTypeToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: >- + The unique identifier for the subscription type which is given by + Intercom + type: string + response: + docs: Successful + status-code: 200 + type: SubscriptionType + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List subscription types + docs: >- + You can list all subscription types. A list of subscription type objects + will be returned. + errors: + - root.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - consent_type: opt_out + content_types: + - email + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '135' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + type: list + method: GET + path: /subscription_types + response: + docs: Successful + status-code: 200 + type: root.SubscriptionTypeList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/tags.yml b/fern/.definition/tags.yml new file mode 100644 index 0000000..23a35a2 --- /dev/null +++ b/fern/.definition/tags.yml @@ -0,0 +1,697 @@ +imports: + root: __package__.yml +types: + Tag: + docs: >- + A tag allows you to label your contacts, companies, and conversations and + list them using that tag. + properties: + applied_at: + docs: The time when the tag was applied to the object + type: optional + applied_by: + type: optional + id: + docs: The id of the tag + type: string + name: + docs: The name of the tag + type: string + type: + docs: value is "tag" + type: literal<"tag"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagBasic: + docs: >- + A tag allows you to label your contacts, companies, and conversations and + list them using that tag. + properties: + id: + docs: The id of the tag + type: optional + name: + docs: The name of the tag + type: optional + type: + docs: value is "tag" + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TagsCreateRequestBody: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: root.CreateOrUpdateTagRequest + - type: root.TagCompanyRequest + - type: root.UntagCompanyRequest + - type: root.TagMultipleUsersRequest +docs: Everything about tags +service: + auth: false + base-path: '' + display-name: Tags + endpoints: + create: + auth: true + display-name: Create or update a tag, Tag or untag companies, Tag contacts + docs: | + 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. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Action successful + request: + name: test + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: Invalid parameters + request: + name: Independent + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: Company not found + request: + companies: + - company_id: '123' + name: test + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: User not found + request: + name: test + users: + - id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + method: POST + path: /tags + request: + body: TagsCreateRequestBody + content-type: application/json + response: + docs: Action successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + delete: + auth: true + examples: + - path-parameters: + tag_id: tag_id + method: DELETE + path: /tags/{tag_id} + request: + name: DeleteTagRequest + path-parameters: + tag_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteTag: + auth: true + display-name: Delete tag + docs: >- + You can delete the details of tags that are on the workspace by passing + in the id. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - path-parameters: + id: '123' + method: DELETE + path: /tags/{id} + request: + name: DeleteTagRequest + path-parameters: + id: + docs: The unique identifier of a given tag + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachTagFromContact: + auth: true + display-name: Remove tag from a contact + docs: >- + You can remove tag from a specific contact. This will return a tag + object for the tag that was removed from the contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '84' + name: Manual tag + type: tag + method: DELETE + path: /contacts/{contact_id}/tags/{id} + request: + name: DetachTagFromContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachTagFromConversation: + auth: true + display-name: Remove tag from a conversation + docs: >- + You can remove tag from a specific conversation. This will return a tag + object for the tag that was removed from the conversation. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + - name: Conversation not found + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + method: DELETE + path: /conversations/{conversation_id}/tags/{id} + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + content-type: application/json + name: DetachTagFromConversationRequest + path-parameters: + conversation_id: + docs: conversation_id + type: string + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + detachTagFromTicket: + auth: true + display-name: Remove tag from a ticket + docs: >- + You can remove tag from a specific ticket. This will return a tag object + for the tag that was removed from the ticket. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + - name: Ticket not found + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + method: DELETE + path: /tickets/{ticket_id}/tags/{id} + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + content-type: application/json + name: DetachTagFromTicketRequest + path-parameters: + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + ticket_id: + docs: ticket_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + find: + auth: true + examples: + - path-parameters: + tag_id: tag_id + method: GET + path: /tags/{tag_id} + request: + name: FindTagRequest + path-parameters: + tag_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + findTag: + auth: true + display-name: Find a specific tag + docs: | + You can fetch the details of tags that are on the workspace by their id. + This will return a tag object. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Tag found + path-parameters: + id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '113' + name: Manual tag + type: tag + method: GET + path: /tags/{id} + request: + name: FindTagRequest + path-parameters: + id: + docs: The unique identifier of a given tag + type: string + response: + docs: Tag found + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all tags + docs: |+ + You can fetch a list of all tags for a given workspace. + + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - applied_at: 1663597223 + applied_by: + type: contact + id: '102' + name: Manual tag 1 + type: tag + type: list + method: GET + path: /tags + response: + docs: successful + status-code: 200 + type: root.TagList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + tagContact: + auth: true + display-name: Add tag to a contact + docs: >- + You can tag a specific contact. This will return a tag object for the + tag that was added to the contact. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + - name: Contact not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + method: POST + path: /contacts/{contact_id}/tags + request: + body: + properties: + id: + docs: The unique identifier for the tag which is given by Intercom + name: tag_id + type: string + content-type: application/json + name: TagContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + tagConversation: + auth: true + display-name: Add tag to a conversation + docs: >- + You can tag a specific conversation. This will return a tag object for + the tag that was added to the conversation. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + conversation_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '86' + name: Manual tag + type: tag + - name: Conversation not found + path-parameters: + conversation_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '86' + name: Manual tag + type: tag + method: POST + path: /conversations/{conversation_id}/tags + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + name: tag_id + type: string + content-type: application/json + name: TagConversationRequest + path-parameters: + conversation_id: + docs: conversation_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + tagTicket: + auth: true + display-name: Add tag to a ticket + docs: >- + You can tag a specific ticket. This will return a tag object for the tag + that was added to the ticket. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + ticket_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '121' + name: Manual tag + type: tag + - name: Ticket not found + path-parameters: + ticket_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '121' + name: Manual tag + type: tag + method: POST + path: /tickets/{ticket_id}/tags + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + name: tag_id + type: string + content-type: application/json + name: TagTicketRequest + path-parameters: + ticket_id: + docs: ticket_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + untagContact: + auth: true + examples: + - path-parameters: + contact_id: contact_id + tag_id: tag_id + method: DELETE + path: /contacts/{contact_id}/tags/{tag_id} + request: + name: UntagContactRequest + path-parameters: + contact_id: string + tag_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + untagConversation: + auth: true + examples: + - path-parameters: + conversation_id: conversation_id + tag_id: tag_id + method: DELETE + path: /conversations/{conversation_id}/tags/{tag_id} + request: + name: UntagConversationRequest + path-parameters: + conversation_id: string + tag_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + untagTicket: + auth: true + examples: + - path-parameters: + tag_id: tag_id + ticket_id: ticket_id + method: DELETE + path: /tickets/{ticket_id}/tags/{tag_id} + request: + name: UntagTicketRequest + path-parameters: + tag_id: string + ticket_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/teams.yml b/fern/.definition/teams.yml new file mode 100644 index 0000000..65c6cd0 --- /dev/null +++ b/fern/.definition/teams.yml @@ -0,0 +1,107 @@ +imports: + root: __package__.yml +types: + Team: + docs: Teams are groups of admins in Intercom. + properties: + admin_ids: + docs: The list of admin IDs that are a part of the team. + type: optional> + admin_priority_level: + type: optional + id: + docs: The id of the team + type: optional + name: + docs: The name of the team + type: optional + type: + docs: Value is always "team" + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Teams +service: + auth: false + base-path: '' + display-name: Teams + endpoints: + find: + auth: true + examples: + - path-parameters: + team_id: team_id + method: GET + path: /teams/{team_id} + request: + name: FindTeamRequest + path-parameters: + team_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all teams + docs: This will return a list of team objects for the App. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + teams: + - admin_ids: + - 493881 + id: '814865' + name: Example Team + type: team + type: team.list + method: GET + path: /teams + response: + docs: successful + status-code: 200 + type: root.TeamList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + retrieveTeam: + auth: true + display-name: Retrieve a team + docs: >- + You can fetch the details of a single team, containing an array of + admins that belong to this team. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + admin_ids: + - 493881 + admin_priority_level: + primary_admin_ids: + - 493881 + secondary_admin_ids: + - 814865 + id: '991267902' + name: team 1 + type: team + method: GET + path: /teams/{id} + request: + name: RetrieveTeamRequest + path-parameters: + id: + docs: The unique identifier of a given team. + type: string + response: + docs: successful + status-code: 200 + type: Team + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketStates.yml b/fern/.definition/ticketStates.yml new file mode 100644 index 0000000..0b183ed --- /dev/null +++ b/fern/.definition/ticketStates.yml @@ -0,0 +1,204 @@ +imports: + root: __package__.yml +docs: Everything about your ticket states +service: + auth: false + base-path: '' + display-name: Ticket States + endpoints: + listTicketStates: + auth: true + display-name: List all ticket states + docs: You can get a list of all ticket states for a workspace. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - archived: false + category: submitted + external_label: Submitted + id: '8269' + internal_label: Submitted + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: in_progress + external_label: In progress + id: '8270' + internal_label: In progress + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: waiting_on_customer + external_label: Waiting on you + id: '8271' + internal_label: Waiting on customer + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: resolved + external_label: Resolved + id: '8272' + internal_label: Resolved + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: submitted + external_label: User label + id: '8273' + internal_label: Admin label 1 + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: submitted + external_label: User label + id: '8274' + internal_label: Admin label 2 + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + type: list + method: GET + path: /ticket_states + response: + docs: successful + status-code: 200 + type: root.TicketStateList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypeAttributes.yml b/fern/.definition/ticketTypeAttributes.yml new file mode 100644 index 0000000..0b341da --- /dev/null +++ b/fern/.definition/ticketTypeAttributes.yml @@ -0,0 +1,120 @@ +imports: + root: __package__.yml +docs: Everything about your ticket type attributes +service: + auth: false + base-path: '' + display-name: Ticket Type Attributes + endpoints: + updateTicketTypeAttribute: + auth: true + display-name: Update an existing attribute for a ticket type + docs: You can update an existing attribute for a ticket type. + errors: + - root.UnauthorizedError + examples: + - name: Ticket Type Attribute updated + path-parameters: + id: id + ticket_type_id: ticket_type_id + request: + description: New Attribute Description + response: + body: + archived: false + created_at: 1734537864 + data_type: string + default: false + description: New Attribute Description + id: '162' + input_options: + key: value + name: name + order: 0 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 65 + type: ticket_type_attribute + updated_at: 1734537864 + visible_on_create: false + visible_to_contacts: false + workspace_id: this_is_an_id644_that_should_be_at_least_ + method: PUT + path: /ticket_types/{ticket_type_id}/attributes/{id} + request: + body: + properties: + allow_multiple_values: + docs: >- + Whether the attribute allows multiple files to be attached to it + (only applicable to file attributes) + type: optional + archived: + docs: >- + Whether the attribute should be archived and not shown during + creation of the ticket (it will still be present on previously + created tickets) + type: optional + description: + docs: >- + The description of the attribute presented to the teammate or + contact + type: optional + list_items: + docs: >- + A comma delimited list of items for the attribute value (only + applicable to list attributes) + type: optional + multiline: + docs: >- + Whether the attribute allows multiple lines of text (only + applicable to string attributes) + type: optional + name: + docs: The name of the ticket type attribute + type: optional + required_to_create: + default: false + docs: >- + Whether the attribute is required to be filled in when teammates + are creating the ticket in Inbox. + type: optional + required_to_create_for_contacts: + default: false + docs: >- + Whether the attribute is required to be filled in when contacts + are creating the ticket in Messenger. + type: optional + visible_on_create: + default: true + docs: >- + Whether the attribute is visible to teammates when creating a + ticket in Inbox. + type: optional + visible_to_contacts: + default: true + docs: >- + Whether the attribute is visible to contacts when creating a + ticket in Messenger. + type: optional + content-type: application/json + name: UpdateTicketTypeAttributeRequest + path-parameters: + id: + docs: >- + The unique identifier for the ticket type attribute which is given + by Intercom. + type: string + ticket_type_id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket Type Attribute updated + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypes.yml b/fern/.definition/ticketTypes.yml new file mode 100644 index 0000000..b90829c --- /dev/null +++ b/fern/.definition/ticketTypes.yml @@ -0,0 +1,354 @@ +imports: + root: __package__.yml + tickets: tickets.yml +docs: Everything about your ticket types +service: + auth: false + base-path: '' + display-name: Ticket Types + endpoints: + create: + auth: true + display-name: Create a ticket type + docs: > + 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/) + errors: + - root.UnauthorizedError + examples: + - name: Ticket type created + request: + category: Customer + description: Customer Report Template + icon: 🎟️ + name: Customer Issue + response: + body: + archived: false + category: Customer + created_at: 1734537869 + description: Customer Report Template + icon: 🎟️ + id: '70' + name: Customer Issue + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8337' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8338' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8339' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8340' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + ticket_type_attributes: + - archived: false + default: true + description: Bug title. + id: '1' + input_options: + key: value + name: Title + order: 1 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 42 + type: ticket_type_attribute + visible_on_create: false + visible_to_contacts: false + workspace_id: ecahpwf5 + type: list + type: ticket_type + updated_at: 1734537869 + workspace_id: this_is_an_id652_that_should_be_at_least_ + method: POST + path: /ticket_types + request: + body: + type: optional + content-type: application/json + response: + docs: Ticket type created + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + get: + auth: true + examples: + - path-parameters: + ticket_type_id: ticket_type_id + method: GET + path: /ticket_types/{ticket_type_id} + request: + name: FindTicketTypeRequest + path-parameters: + ticket_type_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getTicketType: + auth: true + display-name: Retrieve a ticket type + docs: You can fetch the details of a single ticket type. + errors: + - root.UnauthorizedError + examples: + - name: Ticket type found + path-parameters: + id: id + response: + body: + archived: false + category: Customer + created_at: 1734537870 + description: Bug Report Template + icon: 🎟️ + id: '72' + name: Bug Report + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8353' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8354' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8355' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8356' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + ticket_type_attributes: + - archived: false + default: true + description: Bug title. + id: '1' + input_options: + key: value + name: Title + order: 1 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 42 + type: ticket_type_attribute + visible_on_create: false + visible_to_contacts: false + workspace_id: ecahpwf5 + type: list + type: ticket_type + updated_at: 1734537870 + workspace_id: this_is_an_id656_that_should_be_at_least_ + method: GET + path: /ticket_types/{id} + request: + name: GetTicketTypeRequest + path-parameters: + id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket type found + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + list: + auth: true + display-name: List all ticket types + docs: You can get a list of all ticket types for a workspace. + errors: + - root.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - archived: false + category: Customer + created_at: 1734537866 + description: Bug Report Template + icon: 🎟️ + id: '67' + name: Bug Report + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8321' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8322' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8323' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8324' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537866 + workspace_id: this_is_an_id648_that_should_be_at_least_ + type: list + method: GET + path: /ticket_types + response: + docs: successful + status-code: 200 + type: root.TicketTypeList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + ticket_type_id: ticket_type_id + method: PUT + path: /ticket_types/{ticket_type_id} + request: + name: UpdateTicketTypeRequest + path-parameters: + ticket_type_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateTicketType: + auth: true + display-name: Update a ticket type + docs: > + + 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/) + errors: + - root.UnauthorizedError + examples: + - name: Ticket type updated + path-parameters: + id: id + request: + name: Bug Report 2 + response: + body: + archived: false + category: Customer + created_at: 1734537873 + description: Bug Report Template + icon: 🎟️ + id: '74' + name: Bug Report 2 + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8369' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8370' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8371' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8372' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + ticket_type_attributes: + - archived: false + default: true + description: Bug title. + id: '1' + input_options: + key: value + name: Title + order: 1 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 42 + type: ticket_type_attribute + visible_on_create: false + visible_to_contacts: false + workspace_id: ecahpwf5 + type: list + type: ticket_type + updated_at: 1734537874 + workspace_id: this_is_an_id660_that_should_be_at_least_ + method: PUT + path: /ticket_types/{id} + request: + body: + type: optional + content-type: application/json + name: UpdateTicketTypeRequest + path-parameters: + id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket type updated + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypes/attributes.yml b/fern/.definition/ticketTypes/attributes.yml new file mode 100644 index 0000000..2311267 --- /dev/null +++ b/fern/.definition/ticketTypes/attributes.yml @@ -0,0 +1,141 @@ +imports: + root: ../__package__.yml +types: + CreateTicketTypeAttributeRequestDataType: + docs: The data type of the attribute + enum: + - string + - list + - integer + - decimal + - boolean + - datetime + - files + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + create: + auth: true + display-name: Create a new attribute for a ticket type + docs: You can create a new attribute for a ticket type. + errors: + - root.UnauthorizedError + examples: + - name: Ticket Type Attribute created + path-parameters: + ticket_type_id: ticket_type_id + request: + data_type: string + description: Attribute Description + name: Attribute Title + required_to_create: false + response: + body: + archived: false + created_at: 1734537862 + data_type: string + default: false + description: Attribute Description + id: '157' + input_options: + multiline: false + name: Attribute Title + order: 2 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 63 + type: ticket_type_attribute + updated_at: 1734537862 + visible_on_create: true + visible_to_contacts: true + workspace_id: this_is_an_id640_that_should_be_at_least_ + method: POST + path: /ticket_types/{ticket_type_id}/attributes + request: + body: + properties: + allow_multiple_values: + docs: >- + Whether the attribute allows multiple files to be attached to it + (only applicable to file attributes) + type: optional + data_type: + docs: The data type of the attribute + type: CreateTicketTypeAttributeRequestDataType + description: + docs: >- + The description of the attribute presented to the teammate or + contact + type: string + list_items: + docs: >- + A comma delimited list of items for the attribute value (only + applicable to list attributes) + type: optional + multiline: + docs: >- + Whether the attribute allows multiple lines of text (only + applicable to string attributes) + type: optional + name: + docs: The name of the ticket type attribute + type: string + required_to_create: + default: false + docs: >- + Whether the attribute is required to be filled in when teammates + are creating the ticket in Inbox. + type: optional + required_to_create_for_contacts: + default: false + docs: >- + Whether the attribute is required to be filled in when contacts + are creating the ticket in Messenger. + type: optional + visible_on_create: + default: true + docs: >- + Whether the attribute is visible to teammates when creating a + ticket in Inbox. + type: optional + visible_to_contacts: + default: true + docs: >- + Whether the attribute is visible to contacts when creating a + ticket in Messenger. + type: optional + content-type: application/json + name: CreateTicketTypeAttributeRequest + path-parameters: + ticket_type_id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket Type Attribute created + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + attribute_id: attribute_id + ticket_type_id: ticket_type_id + method: PUT + path: /ticket_types/{ticket_type_id}/attributes/{attribute_id} + request: + name: UpdateTicketTypeAttributeRequest + path-parameters: + attribute_id: string + ticket_type_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/tickets.yml b/fern/.definition/tickets.yml new file mode 100644 index 0000000..f656962 --- /dev/null +++ b/fern/.definition/tickets.yml @@ -0,0 +1,2120 @@ +imports: + jobs: jobs.yml + root: __package__.yml +types: + DeleteTicketResponse: + docs: Response when a ticket is deleted. + properties: + deleted: + docs: Whether the ticket is deleted or not. + type: optional + id: + docs: The unique identifier for the ticket. + type: optional + object: + docs: always ticket + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + ReplyTicketRequestBody: + discriminated: false + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - type: root.ContactReplyTicketRequest + - type: root.AdminReplyTicketRequest + Ticket: + docs: Tickets are how you track requests from your users. + properties: + admin_assignee_id: + docs: The id representing the admin assigned to the ticket. + type: optional + category: + docs: Category of the Ticket. + type: optional + contacts: + type: optional + created_at: + docs: The time the ticket was created as a UTC Unix timestamp. + type: optional + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: optional + is_shared: + docs: Whether or not the ticket is shared with the customer. + type: optional + linked_objects: + type: optional + open: + docs: Whether or not the ticket is open. If false, the ticket is closed. + type: optional + snoozed_until: + docs: >- + The time the ticket will be snoozed until as a UTC Unix timestamp. If + null, the ticket is not currently snoozed. + type: optional + team_assignee_id: + docs: The id representing the team assigned to the ticket. + type: optional + ticket_attributes: + type: optional + ticket_id: + docs: >- + The ID of the Ticket used in the Intercom Inbox and Messenger. Do not + use ticket_id for API queries. + type: optional + ticket_parts: + type: optional + ticket_state: + type: optional + ticket_type: + type: optional + type: + docs: Always ticket + type: optional> + updated_at: + docs: The last time the ticket was updated as a UTC Unix timestamp. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketCategory: + docs: Category of the Ticket. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketContacts: + docs: The list of contacts affected by a ticket. + properties: + contacts: + docs: The list of contacts affected by this ticket. + type: optional> + type: + docs: always contact.list + type: optional> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPart: + docs: A Ticket Part represents a message in the ticket. + properties: + app_package_code: + docs: >- + The app package code if this part was created via API. Note this field + won't show if the part was not created via API. + type: optional + assigned_to: + docs: >- + The id of the admin that was assigned the ticket by this ticket_part + (null if there has been no change in assignment.) + type: optional + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: The message body, which may contain HTML. + type: optional + created_at: + docs: The time the ticket part was created. + type: optional + external_id: + docs: The external id of the ticket part + type: optional + id: + docs: The id representing the ticket part. + type: optional + part_type: + docs: The type of ticket part. + type: optional + previous_ticket_state: + docs: The previous state of the ticket. + type: optional + redacted: + docs: Whether or not the ticket part has been redacted. + type: optional + ticket_state: + docs: The state of the ticket. + type: optional + type: + docs: Always ticket_part + type: optional + updated_at: + docs: The last time the ticket part was updated. + type: optional + updated_attribute_data: + docs: >- + The updated attribute data of the ticket part. Only present for + attribute update parts. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartPreviousTicketState: + docs: The previous state of the ticket. + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartTicketState: + docs: The state of the ticket. + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartUpdatedAttributeData: + docs: >- + The updated attribute data of the ticket part. Only present for attribute + update parts. + inline: true + properties: + attribute: + docs: Information about the attribute that was updated. + type: TicketPartUpdatedAttributeDataAttribute + value: + docs: The new value of the attribute. + type: TicketPartUpdatedAttributeDataValue + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartUpdatedAttributeDataAttribute: + docs: Information about the attribute that was updated. + inline: true + properties: + id: + docs: The unique identifier of the attribute. + type: string + label: + docs: The human-readable name of the attribute. + type: string + type: + docs: The type of the object. Always 'attribute'. + type: literal<"attribute"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartUpdatedAttributeDataValue: + docs: The new value of the attribute. + inline: true + properties: + id: TicketPartUpdatedAttributeDataValueId + label: TicketPartUpdatedAttributeDataValueLabel + type: + docs: The type of the object. Always 'value'. + type: literal<"value"> + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketPartUpdatedAttributeDataValueId: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - docs: >- + The value for text/number/decimal/boolean/date attributes, or the ID + of the list option for list attributes. + type: optional + - docs: Array of file IDs for file attributes. + type: list + TicketPartUpdatedAttributeDataValueLabel: + discriminated: false + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - docs: >- + The display value for text/number/decimal/boolean/date/list + attributes. + type: string + - docs: Array of file names for file attributes. + type: list + TicketState: + docs: A ticket state, used to define the state of a ticket. + properties: + category: + docs: The category of the ticket state + type: optional + external_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible to customers, in the messenger, email and tickets portal. + type: optional + id: + docs: The id of the ticket state + type: optional + internal_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible in Intercom + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_state`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketStateCategory: + docs: The category of the ticket state + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketStateDetailed: + docs: A ticket state, used to define the state of a ticket. + properties: + archived: + docs: Whether the ticket state is archived + type: optional + category: + docs: The category of the ticket state + type: optional + external_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible to customers, in the messenger, email and tickets portal. + type: optional + id: + docs: The id of the ticket state + type: optional + internal_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible in Intercom + type: optional + ticket_types: + docs: A list of ticket types associated with a given ticket state. + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_state`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketStateDetailedCategory: + docs: The category of the ticket state + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketStateDetailedTicketTypes: + docs: A list of ticket types associated with a given ticket state. + inline: true + properties: + data: + docs: A list of ticket type attributes associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketType: + docs: A ticket type, used to define the data fields to be captured in a ticket. + properties: + archived: + docs: Whether the ticket type is archived or not. + type: optional + category: + docs: Category of the Ticket Type. + type: optional + created_at: + docs: The date and time the ticket type was created. + type: optional + description: + docs: The description of the ticket type + type: optional + icon: + docs: The icon of the ticket type + type: optional + id: + docs: The id representing the ticket type. + type: optional + name: + docs: The name of the ticket type + type: optional + ticket_states: + docs: A list of ticket states associated with a given ticket type. + type: optional + ticket_type_attributes: + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type`. + type: optional + updated_at: + docs: The date and time the ticket type was last updated. + type: optional + workspace_id: + docs: The id of the workspace that the ticket type belongs to. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + TicketTypeTicketStates: + docs: A list of ticket states associated with a given ticket type. + inline: true + properties: + data: + docs: A list of ticket states associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your tickets +service: + auth: false + base-path: '' + display-name: Tickets + endpoints: + create: + auth: true + display-name: Create a ticket + docs: You can create a new ticket. + errors: + - root.UnauthorizedError + examples: + - name: Successful response + request: + contacts: + - id: 6762f2d81bb69f9f2193bc54 + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_type_id: '1234' + response: + body: + admin_assignee_id: '0' + category: Back-office + contacts: + contacts: + - external_id: '70' + id: 6762f2d81bb69f9f2193bc54 + type: contact + type: contact.list + created_at: 1734537944 + id: '626' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '33' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id688_that_should_be_at_least_@intercom.io + id: '991267999' + name: Fin + type: bot + created_at: 1734537945 + id: '175' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537945 + total_count: 1 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '8481' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537943 + description: my ticket type description is awesome. + icon: 🦁 + id: '88' + name: my-ticket-type-23 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537943 + workspace_id: this_is_an_id688_that_should_be_at_least_ + type: ticket + updated_at: 1734537946 + method: POST + path: /tickets + request: + body: + extends: + - root.CreateTicketRequest + properties: + skip_notifications: + docs: Option to disable notifications when a Ticket is created. + type: optional + content-type: application/json + name: CreateTicketRequest + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + deleteTicket: + auth: true + display-name: Delete a ticket + docs: You can delete a ticket using the Intercom provided ID. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + path-parameters: + id: id + response: + body: + deleted: true + id: '632' + object: ticket + method: DELETE + path: /tickets/{id} + request: + name: DeleteTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: DeleteTicketResponse + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + enqueueCreateTicket: + auth: true + display-name: Enqueue create ticket + docs: >- + Enqueues ticket creation for asynchronous processing, returning if the + job was enqueued successfully to be processed. We attempt to perform a + best-effort validation on inputs before tasks are enqueued. If the given + parameters are incorrect, we won't enqueue the job. + errors: + - root.BadRequestError + - root.UnauthorizedError + examples: + - name: Successful response + request: + contacts: + - id: 6762f2d81bb69f9f2193bc54 + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_type_id: '1234' + response: + body: + id: '20' + resource_type: ticket + status: pending + type: job + url: https://api.intercom.io/jobs/status/20 + method: POST + path: /tickets/enqueue + request: + body: + extends: + - root.CreateTicketRequest + properties: + skip_notifications: + docs: Option to disable notifications when a Ticket is created. + type: optional + content-type: application/json + name: EnqueueCreateTicketRequest + response: + docs: Successful response + status-code: 200 + type: jobs.Jobs + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + get: + auth: true + examples: + - path-parameters: + ticket_id: ticket_id + method: GET + path: /tickets/{ticket_id} + request: + name: FindTicketRequest + path-parameters: + ticket_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + getTicket: + auth: true + display-name: Retrieve a ticket + docs: You can fetch the details of a single ticket. + errors: + - root.UnauthorizedError + examples: + - name: Ticket found + path-parameters: + id: id + response: + body: + admin_assignee_id: '0' + category: Back-office + contacts: + contacts: + - external_id: b16afa36-2637-4880-adee-a46d145bc27f + id: 6762f2f61bb69f9f2193bc59 + type: contact + type: contact.list + created_at: 1734537974 + id: '631' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + _default_description_: + key: value + _default_title_: attribute_value + ticket_id: '38' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin509@email.com + id: '991268047' + name: Ciaran509 Lee + type: admin + created_at: 1734537975 + id: '185' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537975 + total_count: 1 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '8537' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537973 + description: my ticket type description is awesome. + icon: 🦁 + id: '95' + name: my-ticket-type-30 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537973 + workspace_id: this_is_an_id702_that_should_be_at_least_ + type: ticket + updated_at: 1734537976 + method: GET + path: /tickets/{id} + request: + name: GetTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: string + response: + docs: Ticket found + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + reply: + auth: true + method: POST + path: /tickets/{ticket_id}/reply + request: + body: unknown + content-type: application/json + name: ReplyToTicketRequest + path-parameters: + ticket_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + replyTicket: + auth: true + display-name: Reply to a ticket + docs: >- + You can reply to a ticket with a message from an admin or on behalf of a + contact, or with a note for admins. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: User reply + path-parameters: + id: '123' + request: + body: Thanks again :) + intercom_user_id: 6762f2971bb69f9f2193bc49 + message_type: comment + type: user + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + - name: Admin note reply + path-parameters: + id: '123' + request: + admin_id: '3156780' + body: >- +

An Unordered HTML List

    +
  • Coffee
  • Tea
  • Milk

An + Ordered HTML List

  1. Coffee
  2. Tea
  3. +
  4. Milk
+ message_type: note + type: admin + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + - name: Admin quick_reply reply + path-parameters: + id: '123' + request: + admin_id: '3156780' + message_type: quick_reply + reply_options: + - text: 'Yes' + uuid: 0df48b85-9a93-4c66-a167-753eff0baaec + - text: 'No' + uuid: 4f0b5145-4193-4b4f-8cad-ce19478a3938 + type: admin + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin423@email.com + id: '991267948' + name: Ciaran423 Lee + type: admin + body:

Okay!

+ created_at: 1734537890 + id: '158' + part_type: quick_reply + redacted: false + type: ticket_part + updated_at: 1734537890 + - name: Not found + path-parameters: + id: '123' + request: + body: Thanks again :) + intercom_user_id: 6762f2a41bb69f9f2193bc4c + message_type: comment + type: user + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + method: POST + path: /tickets/{id}/reply + request: + body: ReplyTicketRequestBody + content-type: application/json + name: ReplyTicketRequest + path-parameters: + id: string + response: + docs: Admin Reply to send Quick Reply Options + status-code: 200 + type: root.TicketReply + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + search: + auth: true + display-name: Search tickets + docs: > + You can search for multiple tickets by the value of their attributes in + order to fetch exactly which ones you want. + + + To search for tickets, you send a `POST` request to + `https://api.intercom.io/tickets/search`. + + + This will accept a query object in the body which will define your + filters. + + {% 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. + 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 multiples 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 Ticket 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 `"foobar"`). + + 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) + | + + | _default_title_ | + String + | + + | _default_description_ | + String + | + + | category | + String + | + + | ticket_type_id | + String + | + + | contact_ids | + String + | + + | teammate_ids | + String + | + + | admin_assignee_id | + String + | + + | team_assignee_id | + String + | + + | open | + Boolean + | + + | state | + String + | + + | snoozed_until | Date (UNIX + timestamp) + | + + | ticket_attribute.{id} | String or Boolean or Date + (UNIX timestamp) or Float or Integer | + + + {% admonition type="info" name="Searching by Category" %} + + When searching for tickets by the **`category`** field, specific terms + must be used instead of the category names: + + * For **Customer** category tickets, use the term `request`. + + * For **Back-office** category tickets, use the term `task`. + + * For **Tracker** category tickets, use the term `tracker`. + + {% /admonition %} + + + ### Accepted Operators + + + {% admonition type="info" name="Searching based on `created_at`" %} + You may use the `<=` or `>=` operators to search by `created_at`. + {% /admonition %} + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :----------------------------- | + :----------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In Shortcut for `OR` + queries Values most be in Array | + + | NIN | All | Not In Shortcut for `OR + !` queries Values must be in Array | + + | > | Integer Date (UNIX Timestamp) | Greater (or equal) + than | + + | < | Integer Date (UNIX Timestamp) | Lower (or equal) + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 1 + type: pages + tickets: + - admin_assignee_id: '0' + category: Back-office + contacts: + contacts: + - external_id: 9b913927-c084-4391-b1db-098341b5ffe3 + id: 6762f3061bb69f9f2193bc5b + type: contact + type: contact.list + created_at: 1734537990 + id: '633' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + _default_title_: attribute_value + ticket_id: '40' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin539@email.com + id: '991268079' + name: Ciaran539 Lee + type: admin + created_at: 1734537991 + id: '188' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537991 + total_count: 1 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '8577' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537989 + description: my ticket type description is awesome. + icon: 🦁 + id: '100' + name: my-ticket-type-35 + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537989 + workspace_id: this_is_an_id712_that_should_be_at_least_ + type: ticket + updated_at: 1734537992 + total_count: 1 + type: ticket.list + method: POST + pagination: + cursor: $request.pagination.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.tickets + path: /tickets/search + request: + body: + type: root.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: root.TicketList + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + examples: + - path-parameters: + ticket_id: ticket_id + method: PUT + path: /tickets/{ticket_id} + request: + name: UpdateTicketRequest + path-parameters: + ticket_id: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + updateTicket: + auth: true + display-name: Update a ticket + docs: You can update a ticket. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: Successful response + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + open: true + snoozed_until: 1673609604 + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: Admin not found + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: Assignee not found + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: >- + Ticket state id is not valid or is not associated with the ticket + type. + path-parameters: + id: id + request: + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + method: PUT + path: /tickets/{id} + request: + body: + properties: + admin_id: + docs: >- + The ID of the admin performing ticket update. Needed for + workflows execution and attributing actions to specific admins. + type: optional + assignee_id: + docs: >- + The ID of the admin or team to which the ticket is assigned. Set + this 0 to unassign it. + type: optional + company_id: + docs: >- + The ID of the company that the ticket is associated with. The + unique identifier for the company which is given by Intercom. + Set to nil to remove company. + type: optional + is_shared: + docs: Specify whether the ticket is visible to users. + type: optional + open: + docs: >- + Specify if a ticket is open. Set to false to close a ticket. + Closing a ticket will also unsnooze it. + type: optional + snoozed_until: + docs: The time you want the ticket to reopen. + type: optional + ticket_attributes: + docs: The attributes set on the ticket. + type: optional> + ticket_state_id: + docs: The ID of the ticket state associated with the ticket type. + type: optional + content-type: application/json + name: UpdateTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom + type: string + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/unstable/__package__.yml b/fern/.definition/unstable/__package__.yml new file mode 100644 index 0000000..251f3c0 --- /dev/null +++ b/fern/.definition/unstable/__package__.yml @@ -0,0 +1,5843 @@ +imports: + unstableAdmins: admins.yml + unstableAiContentSource: aiContentSource.yml + unstableArticles: articles.yml + unstableCalls: calls.yml + unstableCompanies: companies.yml + unstableContacts: contacts.yml + unstableConversations: conversations.yml + unstableCustomObjectInstances: customObjectInstances.yml + unstableDataAttributes: dataAttributes.yml + unstableDataEvents: dataEvents.yml + unstableHelpCenter: helpCenter.yml + unstableInternalArticles: internalArticles.yml + unstableNews: news.yml + unstableNotes: notes.yml + unstableSegments: segments.yml + unstableSubscriptionTypes: subscriptionTypes.yml + unstableTags: tags.yml + unstableTeams: teams.yml + unstableTickets: tickets.yml +types: + ActivityLog: + docs: Activities performed by Admins. + properties: + activity_description: + docs: A sentence or two describing the activity. + type: optional + activity_type: + type: optional + created_at: + docs: The time the activity was created. + type: optional + id: + docs: The id representing the activity. + type: optional + metadata: + type: optional + performed_by: + docs: Details about the Admin involved in the activity. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ActivityLogActivityType: + enum: + - admin_conversation_assignment_limit_change + - admin_ticket_assignment_limit_change + - admin_away_mode_change + - admin_deletion + - admin_deprovisioned + - admin_impersonation_end + - admin_impersonation_start + - admin_invite_change + - admin_invite_creation + - admin_invite_deletion + - admin_login_failure + - admin_login_success + - admin_logout + - admin_password_reset_request + - admin_password_reset_success + - admin_permission_change + - admin_provisioned + - admin_two_factor_auth_change + - admin_unauthorized_sign_in_method + - app_admin_join + - app_authentication_method_change + - app_data_deletion + - app_data_export + - app_google_sso_domain_change + - app_identity_verification_change + - app_name_change + - app_outbound_address_change + - app_package_installation + - app_package_token_regeneration + - app_package_uninstallation + - app_team_creation + - app_team_deletion + - app_team_membership_modification + - app_timezone_change + - app_webhook_creation + - app_webhook_deletion + - articles_in_messenger_enabled_change + - bulk_delete + - bulk_export + - campaign_deletion + - campaign_state_change + - conversation_part_deletion + - conversation_topic_change + - conversation_topic_creation + - conversation_topic_deletion + - help_center_settings_change + - inbound_conversations_change + - inbox_access_change + - message_deletion + - message_state_change + - messenger_look_and_feel_change + - messenger_search_required_change + - messenger_spaces_change + - office_hours_change + - role_change + - role_creation + - role_deletion + - ruleset_activation_title_preview + - ruleset_creation + - ruleset_deletion + - search_browse_enabled_change + - search_browse_required_change + - seat_change + - seat_revoke + - security_settings_change + - temporary_expectation_change + - upfront_email_collection_change + - welcome_message_change + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ActivityLogList: + docs: A paginated list of activity logs. + properties: + activity_logs: + docs: An array of activity logs + type: optional>> + pages: + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `activity_log.list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ActivityLogMetadata: + docs: Additional data provided about Admin activity. + properties: + auto_changed: + docs: Indicates if the status was changed automatically or manually. + type: optional + away_mode: + docs: >- + The away mode status which is set to true when away and false when + returned. + type: optional + away_status_reason: + docs: The reason the Admin is away. + type: optional + conversation_assignment_limit: + docs: The conversation assignment limit value for an admin. + type: optional + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + reassign_conversations: + docs: >- + Indicates if conversations should be reassigned while an Admin is + away. + type: optional + sign_in_method: + docs: The way the admin signed in. + type: optional + source: + docs: The action that initiated the status change. + type: optional + ticket_assignment_limit: + docs: The ticket assignment limit value for an admin. + type: optional + update_by: + docs: The ID of the Admin who initiated the activity. + type: optional + update_by_name: + docs: The name of the Admin who initiated the activity. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ActivityLogPerformedBy: + docs: Details about the Admin involved in the activity. + inline: true + properties: + email: + docs: The email of the admin. + type: optional + id: + docs: The id representing the admin. + type: optional + ip: + docs: The IP address of the admin. + type: optional + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AddressableList: + docs: A list used to access other resources from a parent model. + properties: + id: + docs: The id of the addressable object + type: optional + type: + docs: The addressable object type + type: optional + validation: + format: uri + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminList: + docs: A list of admins associated with a given workspace. + properties: + admins: + docs: A list of admins associated with a given workspace. + type: optional>> + type: + docs: >- + String representing the object's type. Always has the value + `admin.list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminPriorityLevel: + docs: Admin priority levels for the team + properties: + primary_admin_ids: + docs: The primary admin ids for the team + type: optional> + secondary_admin_ids: + docs: The secondary admin ids for the team + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminReplyConversationRequest: + docs: Payload of the request to reply on behalf of an admin + properties: + admin_id: + docs: The id of the admin who is authoring the comment. + type: string + attachment_files: + docs: >- + A list of files that will be added as attachments. You can include up + to 10 files + type: optional> + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: >- + The text body of the reply. Notes accept some HTML formatting. Must be + present for comment and note message types. + type: optional + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: AdminReplyConversationRequestMessageType + reply_options: + docs: >- + The quick reply options to display to the end user. Must be present + for quick_reply message types. + type: optional> + type: literal<"admin"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminReplyConversationRequestMessageType: + enum: + - comment + - note + - quick_reply + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminReplyTicketRequest: + docs: Payload of the request to reply on behalf of an admin + properties: + admin_id: + docs: The id of the admin who is authoring the comment. + type: string + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: >- + The text body of the reply. Notes accept some HTML formatting. Must be + present for comment and note message types. + type: optional + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: AdminReplyTicketRequestMessageType + reply_options: + docs: >- + The quick reply options to display. Must be present for quick_reply + message types. + type: optional> + type: literal<"admin"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminReplyTicketRequestMessageType: + enum: + - comment + - note + - quick_reply + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminReplyTicketRequestReplyOptionsItem: + inline: true + properties: + text: + docs: The text to display in this quick reply option. + type: string + uuid: + docs: >- + A unique identifier for this quick reply option. This value will be + available within the metadata of the comment ticket part that is + created when a user clicks on this reply option. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminWithApp: + docs: Admins are the teammate accounts that have access to a workspace + properties: + app: + docs: App that the admin belongs to. + type: optional + avatar: + docs: This object represents the avatar associated with the admin. + type: optional + away_mode_enabled: + docs: Identifies if this admin is currently set in away mode. + type: optional + away_mode_reassign: + docs: >- + Identifies if this admin is set to automatically reassign new + conversations to the apps default inbox. + type: optional + email: + docs: The email of the admin. + type: optional + email_verified: + docs: Identifies if this admin's email is verified. + type: optional + has_inbox_seat: + docs: >- + Identifies if this admin has a paid inbox seat to restrict/allow + features that require them. + type: optional + id: + docs: The id representing the admin. + type: optional + job_title: + docs: The job title of the admin. + type: optional + name: + docs: The name of the admin. + type: optional + team_ids: + docs: This is a list of ids of the teams that this admin is part of. + type: optional> + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AdminWithAppAvatar: + docs: This object represents the avatar associated with the admin. + inline: true + properties: + image_url: + docs: This object represents the avatar associated with the admin. + type: optional + validation: + format: uri + type: + default: avatar + docs: >- + This is a string that identifies the type of the object. It will + always have the value `avatar`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + App: + docs: App is a workspace on Intercom + properties: + created_at: + docs: When the app was created. + type: optional + id_code: + docs: The id of the app. + type: optional + identity_verification: + docs: Whether or not the app uses identity verification. + type: optional + name: + docs: The name of the app. + type: optional + region: + docs: The Intercom region the app is located in. + type: optional + timezone: + docs: The timezone of the region where the app is located. + type: optional + type: + default: app + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleContent: + docs: The Content of an Article. + properties: + author_id: + docs: The ID of the author of the article. + type: optional + body: + docs: The body of the article. + type: optional + created_at: + docs: The time when the article was created (seconds). + type: optional + description: + docs: The description of the article. + type: optional + state: + docs: Whether the article is `published` or is a `draft` . + type: optional + title: + docs: The title of the article. + type: optional + type: + docs: The type of object - `article_content` . + type: optional + updated_at: + docs: The time when the article was last updated (seconds). + type: optional + url: + docs: The URL of the article. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleContentState: + docs: Whether the article is `published` or is a `draft` . + enum: + - published + - draft + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleList: + docs: This will return a list of articles for the App. + properties: + data: + docs: An array of Article objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of articles. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleStatistics: + docs: The statistics of an article. + properties: + conversions: + docs: The number of conversations started from the article. + type: optional + happy_reaction_percentage: + docs: >- + The percentage of happy reactions the article has received against + other types of reaction. + type: optional + neutral_reaction_percentage: + docs: >- + The percentage of neutral reactions the article has received against + other types of reaction. + type: optional + reactions: + docs: The number of total reactions the article has received. + type: optional + sad_reaction_percentage: + docs: >- + The percentage of sad reactions the article has received against other + types of reaction. + type: optional + type: + docs: The type of object - `article_statistics`. + type: optional> + views: + docs: The number of total views the article has received. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleTranslatedContent: + docs: >- + The Translated Content of an Article. The keys are the locale codes and + the values are the translated content of the article. + properties: + ar: + docs: The content of the article in Arabic + type: optional + bg: + docs: The content of the article in Bulgarian + type: optional + bs: + docs: The content of the article in Bosnian + type: optional + ca: + docs: The content of the article in Catalan + type: optional + cs: + docs: The content of the article in Czech + type: optional + da: + docs: The content of the article in Danish + type: optional + de: + docs: The content of the article in German + type: optional + el: + docs: The content of the article in Greek + type: optional + en: + docs: The content of the article in English + type: optional + es: + docs: The content of the article in Spanish + type: optional + et: + docs: The content of the article in Estonian + type: optional + fi: + docs: The content of the article in Finnish + type: optional + fr: + docs: The content of the article in French + type: optional + he: + docs: The content of the article in Hebrew + type: optional + hr: + docs: The content of the article in Croatian + type: optional + hu: + docs: The content of the article in Hungarian + type: optional + id: + docs: The content of the article in Indonesian + type: optional + it: + docs: The content of the article in Italian + type: optional + ja: + docs: The content of the article in Japanese + type: optional + ko: + docs: The content of the article in Korean + type: optional + lt: + docs: The content of the article in Lithuanian + type: optional + lv: + docs: The content of the article in Latvian + type: optional + mn: + docs: The content of the article in Mongolian + type: optional + nb: + docs: The content of the article in Norwegian + type: optional + nl: + docs: The content of the article in Dutch + type: optional + pl: + docs: The content of the article in Polish + type: optional + pt: + docs: The content of the article in Portuguese (Portugal) + type: optional + pt-BR: + docs: The content of the article in Portuguese (Brazil) + type: optional + ro: + docs: The content of the article in Romanian + type: optional + ru: + docs: The content of the article in Russian + type: optional + sl: + docs: The content of the article in Slovenian + type: optional + sr: + docs: The content of the article in Serbian + type: optional + sv: + docs: The content of the article in Swedish + type: optional + tr: + docs: The content of the article in Turkish + type: optional + type: + docs: The type of object - article_translated_content. + type: optional + vi: + docs: The content of the article in Vietnamese + type: optional + zh-CN: + docs: The content of the article in Chinese (China) + type: optional + zh-TW: + docs: The content of the article in Chinese (Taiwan) + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AssignConversationRequest: + docs: Payload of the request to assign a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + assignee_id: + docs: >- + The `id` of the `admin` or `team` which will be assigned the + conversation. A conversation can be assigned both an admin and a + team.\nSet `0` if you want this assign to no admin or team (ie. + Unassigned). + type: string + body: + docs: >- + Optionally you can send a response in the conversation when it is + assigned. + type: optional + type: AssignConversationRequestType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AssignConversationRequestType: + enum: + - admin + - team + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AwayStatusReason: + properties: + created_at: + docs: The Unix timestamp when the status reason was created + type: optional + deleted: + docs: Whether the status reason has been soft deleted + type: optional + emoji: + docs: The emoji associated with the status reason + type: optional + id: + docs: The unique identifier for the away status reason + type: optional + label: + docs: The display text for the away status reason + type: optional + order: + docs: The display order of the status reason + type: optional + type: optional + updated_at: + docs: The Unix timestamp when the status reason was last updated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CallList: + docs: A paginated list of calls. + properties: + data: + docs: A list of calls. + type: optional> + pages: + type: optional + total_count: + docs: Total number of items available. + type: optional + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CloseConversationRequest: + docs: Payload of the request to close a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + body: + docs: >- + Optionally you can leave a message in the conversation to provide + additional context to the user and other teammates. + type: optional + type: literal<"admin"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CollectionList: + docs: This will return a list of Collections for the App. + properties: + data: + docs: An array of collection objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of collections. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyAttachedContacts: + docs: A list of Contact Objects + properties: + data: + docs: An array containing Contact Objects + type: optional> + pages: + type: optional + total_count: + docs: The total number of contacts + type: optional + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyAttachedSegments: + docs: A list of Segment Objects + properties: + data: + docs: An array containing Segment Objects + type: optional> + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyData: + docs: >- + An object containing data about the companies that a contact is associated + with. + properties: + id: + docs: The unique identifier for the company which is given by Intercom. + type: optional + type: + docs: The type of the object. Always company. + type: optional> + url: + docs: The relative URL of the company. + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyList: + docs: This will return a list of companies for the App. + properties: + data: + docs: An array containing Company Objects. + type: optional> + pages: + type: optional + total_count: + docs: The total number of companies. + type: optional + type: + docs: The type of object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyScroll: + docs: >- + Companies allow you to represent organizations using your product. Each + company will have its own description and be associated with contacts. You + can fetch, create, update and list companies. + properties: + data: + type: optional> + pages: + type: optional + scroll_param: + docs: >- + The scroll parameter to use in the next request to fetch the next page + of results. + type: optional + total_count: + docs: The total number of companies + type: optional + type: + docs: The type of object - `list` + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactArchived: + docs: archived contact object + extends: + - ContactReference + properties: + archived: + docs: Whether the contact is archived or not. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactAttachedCompanies: + docs: A list of Company Objects + properties: + companies: + docs: An array containing Company Objects + type: optional> + pages: + type: optional + total_count: + docs: The total number of companies associated to this contact + type: optional + type: + docs: The type of object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactBlocked: + docs: blocked contact object + extends: + - ContactReference + properties: + blocked: + docs: Always true. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactCompanies: + docs: >- + An object with metadata about companies attached to a contact . Up to 10 + will be displayed here. Use the url to get more. + properties: + data: + docs: An array of company data objects attached to the contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Integer representing the total number of companies attached to this + contact + type: optional + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactDeleted: + docs: deleted contact object + extends: + - ContactReference + properties: + deleted: + docs: Whether the contact is deleted or not. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactList: + docs: Contacts are your users in Intercom. + properties: + data: + docs: The list of contact objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always list + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactLocation: + docs: An object containing location meta data about a Intercom contact. + properties: + city: + docs: The city that the contact is located in + type: optional + country: + docs: The country that the contact is located in + type: optional + region: + docs: The overal region that the contact is located in + type: optional + type: + docs: Always location + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactNotes: + docs: >- + An object containing notes meta data about the notes that a contact has. + Up to 10 will be displayed here. Use the url to get more. + properties: + data: + docs: This object represents the notes attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Int representing the total number of companyies attached to this + contact + type: optional + url: + docs: Url to get more company resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReference: + docs: reference to contact object + properties: + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + id: + docs: The unique identifier for the contact which is given by Intercom. + type: optional + type: + docs: always contact + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyBaseRequest: + properties: + attachment_urls: + docs: >- + A list of image URLs that will be added as attachments. You can + include up to 10 URLs. + type: optional> + body: + docs: The text body of the comment. + type: string + created_at: + docs: >- + The time the reply was created. If not provided, the current time will + be used. + type: optional + message_type: literal<"comment"> + reply_options: + docs: >- + The quick reply selection the contact wishes to respond with. These + map to buttons displayed in the Messenger UI if sent by a bot, or the + reply options sent by an Admin via the API. + type: optional> + type: literal<"user"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyBaseRequestReplyOptionsItem: + inline: true + properties: + text: + docs: The text of the chosen reply option. + type: string + uuid: + docs: The unique identifier for the quick reply option selected. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyConversationRequest: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: ContactReplyIntercomUserIdRequest + - type: ContactReplyEmailRequest + - type: ContactReplyUserIdRequest + ContactReplyEmailRequest: + docs: Payload of the request to reply on behalf of a contact using their `email` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: A list of files that will be added as attachments. + type: optional> + email: + docs: The email you have defined for the user. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyIntercomUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `intercom_user_id` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: A list of files that will be added as attachments. + type: optional> + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyTicketEmailRequest: + docs: Payload of the request to reply on behalf of a contact using their `email` + extends: + - ContactReplyBaseRequest + properties: + email: + docs: The email you have defined for the user. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyTicketIntercomUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `intercom_user_id` + extends: + - ContactReplyBaseRequest + properties: + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyTicketRequest: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: ContactReplyTicketIntercomUserIdRequest + - type: ContactReplyTicketUserIdRequest + - type: ContactReplyTicketEmailRequest + ContactReplyTicketUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `user_id` + extends: + - ContactReplyBaseRequest + properties: + user_id: + docs: The external_id you have defined for the contact. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactReplyUserIdRequest: + docs: >- + Payload of the request to reply on behalf of a contact using their + `user_id` + extends: + - ContactReplyBaseRequest + properties: + attachment_files: + docs: >- + A list of files that will be added as attachments. You can include up + to 10 files. + type: optional> + user_id: + docs: The external_id you have defined for the contact. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactSegments: + docs: A list of segments objects attached to a specific contact. + properties: + data: + docs: Segment objects associated with the contact. + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactSocialProfiles: + docs: An object containing social profiles that a contact has. + properties: + data: + docs: A list of social profiles objects associated with the contact. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactSubscriptionTypes: + docs: >- + An object containing Subscription Types meta data about the + SubscriptionTypes that a contact has. + properties: + data: + docs: This object represents the subscriptions attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: >- + Int representing the total number of subscription types attached to + this contact + type: optional + url: + docs: Url to get more subscription type resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactTags: + docs: >- + An object containing tags meta data about the tags that a contact has. Up + to 10 will be displayed here. Use the url to get more. + properties: + data: + docs: This object represents the tags attached to a contact. + type: optional> + has_more: + docs: >- + Whether there's more Addressable Objects to be viewed. If true, use + the url to view all + type: optional + total_count: + docs: Int representing the total number of tags attached to this contact + type: optional + url: + docs: url to get more tag resources for this contact + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactUnarchived: + docs: unarchived contact object + extends: + - ContactReference + properties: + archived: + docs: Whether the contact is archived or not. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContentSourcesList: + properties: + content_sources: + docs: The content sources used by AI Agent in the conversation. + type: optional> + total_count: + docs: >- + The total number of content sources used by AI Agent in the + conversation. + type: optional + type: + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttachmentFiles: + docs: Properties of the attachment files in a conversation part + properties: + content_type: + docs: The content type of the file + type: optional + data: + docs: The base64 encoded file data. + type: optional + name: + docs: The name of the file. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByAdmin: + docs: >- + Contains details about Custom Data Attributes (CDAs) that were modified by + an admin (operator) for conversation part type + conversation_attribute_updated_by_admin. + properties: + attribute: + type: optional + value: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByAdminAttribute: + inline: true + properties: + name: + docs: Name of the CDA updated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByAdminValue: + inline: true + properties: + name: + docs: Value of the CDA updated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflow: + docs: >- + Contains details about the workflow that was triggered and any Custom Data + Attributes (CDAs) that were modified during the workflow execution for + conversation part type + conversation_attribute_updated_by_workflow. + properties: + attribute: + type: optional + value: + type: optional + workflow: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowAttribute: + inline: true + properties: + name: + docs: Name of the CDA updated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowValue: + inline: true + properties: + name: + docs: Value of the CDA updated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationAttributeUpdatedByWorkflowWorkflow: + inline: true + properties: + name: + docs: Name of the workflow + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationContacts: + docs: >- + The list of contacts (users or leads) involved in this conversation. This + will only contain one customer unless more were added via the group + conversation feature. + properties: + contacts: + docs: >- + The list of contacts (users or leads) involved in this conversation. + This will only contain one customer unless more were added via the + group conversation feature. + type: optional> + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationDeleted: + docs: deleted conversation object + properties: + deleted: + docs: Whether the conversation is deleted or not. + type: optional + id: + docs: The unique identifier for the conversation. + type: optional + object: + docs: always conversation + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationFirstContactReply: + docs: >- + An object containing information on the first users message. For a contact + initiated message this will represent the users original message. + properties: + created_at: + docs: '' + type: optional + type: + docs: '' + type: optional + url: + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationList: + docs: >- + 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. + properties: + conversations: + docs: The list of conversation objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always conversation.list + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPart: + docs: A Conversation Part represents a message in the conversation. + properties: + app_package_code: + docs: >- + The app package code if this part was created via API. null if the + part was not created via API. + type: optional + assigned_to: + docs: >- + The id of the admin that was assigned the conversation by this + conversation_part (null if there has been no change in assignment.) + type: optional + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: >- + The message body, which may contain HTML. For Twitter, this will show + a generic message regarding why the body is obscured. + type: optional + created_at: + docs: The time the conversation part was created. + type: optional + email_message_metadata: + type: optional + event_details: + type: optional + external_id: + docs: The external id of the conversation part + type: optional + id: + docs: The id representing the conversation part. + type: optional + metadata: + type: optional + notified_at: + docs: The time the user was notified with the conversation part. + type: optional + part_type: + docs: The type of conversation part. + type: optional + redacted: + docs: Whether or not the conversation part has been redacted. + type: optional + state: + docs: >- + Indicates the current state of conversation when the conversation part + was created. + type: optional + tags: + docs: A list of tags objects associated with the conversation part. + type: optional> + type: + docs: Always conversation_part + type: optional + updated_at: + docs: The last time the conversation part was updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPartAuthor: + docs: >- + 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: + email: + docs: The email of the author + type: optional + validation: + format: email + from_ai_agent: + docs: If this conversation part was sent by the AI Agent + type: optional + id: + docs: The id of the author + type: optional + is_ai_answer: + docs: If this conversation part body was generated by the AI Agent + type: optional + name: + docs: The name of the author + type: optional + type: + docs: The type of the author + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPartMetadata: + docs: Metadata for a conversation part + properties: + quick_reply_options: + docs: >- + The quick reply options sent by the Admin or bot, presented in this + conversation part. + type: optional> + quick_reply_uuid: + docs: >- + The unique identifier for the quick reply option that was clicked by + the end user. + type: optional + validation: + format: uuid + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPartMetadataQuickReplyOptionsItem: + extends: + - QuickReplyOption + inline: true + properties: + translations: + docs: The translations for the quick reply option. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationParts: + docs: >- + 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: + conversation_parts: + docs: >- + 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. + type: optional> + total_count: + docs: '' + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPartState: + docs: >- + Indicates the current state of conversation when the conversation part was + created. + enum: + - open + - closed + - snoozed + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationRating: + docs: >- + 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: + contact: + type: optional + created_at: + docs: The time the rating was requested in the conversation being rated. + type: optional + rating: + docs: The rating, between 1 and 5, for the conversation. + type: optional + remark: + docs: An optional field to add a remark to correspond to the number rating + type: optional + teammate: + type: optional + updated_at: + docs: The time the rating was last updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationResponseTime: + docs: Details of first response time of assigned team in seconds. + properties: + response_time: + docs: First response time of assigned team in seconds. + type: optional + team_id: + docs: Id of the assigned team. + type: optional + team_name: + docs: >- + Name of the assigned Team, null if team does not exist, Unassigned if + no team is assigned. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationSource: + docs: >- + The type of the conversation part that started this conversation. Can be + Contact, Admin, Campaign, Automated or Operator initiated. + properties: + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: >- + The message body, which may contain HTML. For Twitter, this will show + a generic message regarding why the body is obscured. + type: optional + delivered_as: + docs: >- + 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). + type: optional + id: + docs: The id representing the message. + type: optional + redacted: + docs: >- + Whether or not the source message has been redacted. Only applicable + for contact initiated messages. + type: optional + subject: + docs: >- + Optional. The message subject. For Twitter, this will show a generic + message regarding why the subject is obscured. + type: optional + type: + docs: >- + This includes conversation, email, facebook, instagram, phone_call, + phone_switch, push, sms, twitter and whatsapp. + type: optional + url: + docs: >- + The URL where the conversation was started. For Twitter, Email, and + Bots, this will be blank. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationSourceType: + docs: >- + This includes conversation, email, facebook, instagram, phone_call, + phone_switch, push, sms, twitter and whatsapp. + enum: + - conversation + - email + - facebook + - instagram + - phone_call + - phone_switch + - push + - sms + - twitter + - whatsapp + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationStatistics: + docs: >- + A Statistics object containing all information required for reporting, + with timestamps and calculated metrics. + properties: + assigned_team_first_response_time_by_team: + docs: An array of conversation response time objects + type: optional> + assigned_team_first_response_time_in_office_hours: + docs: An array of conversation response time objects within office hours + type: optional> + count_assignments: + docs: Number of assignments after first_contact_reply_at. + type: optional + count_conversation_parts: + docs: Total number of conversation parts. + type: optional + count_reopens: + docs: Number of reopens after first_contact_reply_at. + type: optional + first_admin_reply_at: + docs: Time of first admin reply after first_contact_reply_at. + type: optional + first_assignment_at: + docs: Time of first assignment after first_contact_reply_at. + type: optional + first_close_at: + docs: Time of first close after first_contact_reply_at. + type: optional + first_contact_reply_at: + docs: Time of first text conversation part from a contact. + type: optional + handling_time: + docs: Time from conversation assignment to conversation close in seconds. + type: optional + last_admin_reply_at: + docs: Time of the last conversation part from an admin. + type: optional + last_assignment_admin_reply_at: + docs: Time of first admin reply since most recent assignment. + type: optional + last_assignment_at: + docs: Time of last assignment after first_contact_reply_at. + type: optional + last_close_at: + docs: Time of the last conversation close. + type: optional + last_closed_by_id: + docs: >- + The last admin who closed the conversation. Returns a reference to an + Admin object. + type: optional + last_contact_reply_at: + docs: Time of the last conversation part from a contact. + type: optional + median_time_to_reply: + docs: >- + Median based on all admin replies after a contact reply. Subtracts out + of business hours. In seconds. + type: optional + time_to_admin_reply: + docs: >- + Duration until first admin reply. Subtracts out of business hours. In + seconds. + type: optional + time_to_assignment: + docs: Duration until last assignment before first admin reply. In seconds. + type: optional + time_to_first_close: + docs: >- + Duration until conversation was closed first time. Subtracts out of + business hours. In seconds. + type: optional + time_to_last_close: + docs: >- + Duration until conversation was closed last time. Subtracts out of + business hours. In seconds. + type: optional + type: + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationTeammates: + docs: >- + The list of teammates who participated in the conversation (wrote at least + one conversation part). + properties: + teammates: + docs: >- + The list of teammates who participated in the conversation (wrote at + least one conversation part). + type: optional> + type: + docs: The type of the object - `admin.list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateArticleRequest: + docs: You can create an Article + properties: + author_id: + docs: >- + 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. + type: integer + body: + docs: >- + The content of the article. For multilingual articles, this will be + the body of the default language's content. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + docs: >- + 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. + type: optional + title: + docs: >- + The title of the article.For multilingual articles, this will be the + title of the default language's content. + type: string + translated_content: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateArticleRequestState: + docs: >- + 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 + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateDataAttributeRequest: + discriminated: false + docs: '' + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: CreateDataAttributeRequestOptions + - type: CreateDataAttributeRequestOne + CreateDataAttributeRequestOne: + inline: true + properties: + data_type: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateDataAttributeRequestOneDataType: + enum: + - string + - integer + - float + - boolean + - datetime + - date + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateDataAttributeRequestOptions: + inline: true + properties: + data_type: + type: optional> + options: + docs: >- + Array of objects representing the options of the list, with `value` as + the key and the option as the value. At least two options are + required. + type: list + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateDataAttributeRequestOptionsOptionsItem: + inline: true + properties: + value: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateInternalArticleRequest: + docs: You can create an Internal Article + properties: + author_id: + docs: The id of the author of the article. + type: integer + body: + docs: The content of the article. + type: optional + owner_id: + docs: The id of the owner of the article. + type: integer + title: + docs: The title of the article. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateOrUpdateCompanyRequest: + docs: You can create or update a Company + properties: + company_id: + docs: The company id you have defined for the company. Can't be updated + type: optional + custom_attributes: + docs: >- + A hash of key/value pairs containing any other data about the company + you want Intercom to store. + type: optional> + industry: + docs: The industry that this company operates in. + type: optional + monthly_spend: + docs: >- + 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.. + type: optional + name: + docs: The name of the Company + type: optional + plan: + docs: The name of the plan you have associated with the company. + type: optional + remote_created_at: + docs: The time the company was created by you. + type: optional + size: + docs: The number of employees in this company. + type: optional + website: + docs: >- + The URL for this company's website. Please note that the value + specified here is not validated. Accepts any string. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateOrUpdateTagRequest: + docs: You can create or update an existing tag. + properties: + id: + docs: The id of tag to updates. + type: optional + name: + docs: >- + 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. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreatePhoneSwitchRequest: + docs: You can create an phone switch + properties: + custom_attributes: + type: optional + phone: + docs: >- + Phone number in E.164 format, that will receive the SMS to continue + the conversation in the Messenger. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketReplyWithCommentRequest: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: ContactReplyTicketRequest + - type: AdminReplyTicketRequest + CreateTicketRequestAssignment: + inline: true + properties: + admin_assignee_id: + docs: >- + The ID of the admin to which the ticket is assigned. If not provided, + the ticket will be unassigned. + type: optional + team_assignee_id: + docs: >- + The ID of the team to which the ticket is assigned. If not provided, + the ticket will be unassigned. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketRequestBody: + docs: You can create a Ticket + properties: + assignment: + type: optional + company_id: + docs: >- + The ID of the company that the ticket is associated with. The unique + identifier for the company which is given by Intercom + type: optional + contacts: + docs: >- + The list of contacts (users or leads) affected by this ticket. + Currently only one is allowed + type: list + conversation_to_link_id: + docs: >- + The ID of the conversation you want to link to the ticket. Here are + the valid ways of linking two tickets: + - conversation | back-office ticket + - customer tickets | non-shared back-office ticket + - conversation | tracker ticket + - customer ticket | tracker ticket + type: optional + created_at: + docs: >- + The time the ticket was created. If not provided, the current time + will be used. + type: optional + ticket_type_id: + docs: The ID of the type of ticket you want to create + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketRequestContactsItem: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: CreateTicketRequestContactsItemId + - type: CreateTicketRequestContactsItemExternalId + - type: CreateTicketRequestContactsItemEmail + CreateTicketRequestContactsItemEmail: + inline: true + properties: + email: + docs: >- + 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. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketRequestContactsItemExternalId: + inline: true + properties: + external_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketRequestContactsItemId: + inline: true + properties: + id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketTypeRequest: + docs: | + 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/) + properties: + category: + docs: Category of the Ticket Type. + type: optional + description: + docs: The description of the ticket type. + type: optional + icon: + default: 🎟️ + docs: The icon of the ticket type. + type: optional + is_internal: + default: false + docs: >- + 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. + type: optional + name: + docs: The name of the ticket type. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateTicketTypeRequestCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CursorPages: + docs: > + 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. + properties: + next: + type: optional + page: + docs: The current page + type: optional + per_page: + docs: Number of results per page + type: optional + total_pages: + docs: Total number of pages + type: optional + type: + docs: the type of object `pages`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomActionFinished: + docs: >- + Contains details about final status of the completed action for + conversation part type custom_action_finished. + properties: + action: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomActionFinishedAction: + inline: true + properties: + name: + docs: Name of the action + type: optional + result: + docs: Status of the action + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomActionFinishedActionResult: + docs: Status of the action + enum: + - success + - failed + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomActionStarted: + docs: >- + Contains details about name of the action that was initiated for + conversation part type custom_action_started. + properties: + action: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomActionStartedAction: + inline: true + properties: + name: + docs: Name of the action + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomAttributes: + docs: >- + 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. + type: map + CustomAttributesValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - string + - integer + - Datetime + - type: CustomObjectInstanceList + CustomChannelAttribute: + properties: + id: + docs: Identifier for the attribute being collected. + type: string + value: + docs: Value provided by the user for the attribute. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomChannelBaseEvent: + properties: + contact: + type: CustomChannelContact + event_id: + docs: Unique identifier for the event. + type: string + external_conversation_id: + docs: Identifier for the conversation in your application. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomChannelContact: + properties: + email: + docs: Email address of the contact. Required for user type. + type: optional + validation: + format: email + external_id: + docs: >- + External identifier for the contact. Intercom will take care of the + mapping of your external_id with our internal ones so you don't have + to worry about it. + type: string + name: + docs: Name of the contact. Required for user type. + type: optional + type: + docs: Type of contact, must be "user" or "lead". + type: CustomChannelContactType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomChannelContactType: + docs: Type of contact, must be "user" or "lead". + enum: + - user + - lead + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomChannelNotificationResponse: + properties: + contact_id: + docs: The Intercom contact ID mapped to the external contact ID + type: string + conversation_id: + docs: The Intercom conversation ID mapped to the external conversation ID + type: string + external_contact_id: + docs: The external contact ID provided in the notification request + type: string + external_conversation_id: + docs: The external conversation ID provided in the notification request + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomerRequest: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: CustomerRequestIntercomUserId + - type: CustomerRequestUserId + - type: CustomerRequestEmail + CustomerRequestEmail: + inline: true + properties: + email: + docs: >- + The email you have defined for the contact who is being added as a + participant. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomerRequestIntercomUserId: + inline: true + properties: + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomerRequestUserId: + inline: true + properties: + user_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomObjectInstanceDeleted: + docs: deleted custom object instance object + properties: + deleted: + docs: Whether the Custom Object instance is deleted or not. + type: optional + id: + docs: The Intercom defined id representing the Custom Object instance. + type: optional + object: + docs: >- + The unique identifier of the Custom Object type that defines the + structure of the Custom Object instance. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CustomObjectInstanceList: + docs: >- + The list of associated custom object instances for a given reference + attribute on the parent object. + properties: + instances: + docs: >- + The list of associated custom object instances for a given reference + attribute on the parent object. + type: >- + optional>> + type: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataAttributeList: + docs: >- + A list of all data attributes belonging to a workspace for contacts, + companies or conversations. + properties: + data: + docs: A list of data attributes + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataEventList: + docs: This will return a list of data events for the App. + properties: + events: + docs: A list of data events + type: optional> + pages: + docs: Pagination + type: optional + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataEventListPages: + docs: Pagination + inline: true + properties: + next: optional + since: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataEventSummary: + docs: This will return a summary of data events for the App. + properties: + email: + docs: The email address of the user + type: optional + events: + docs: A summary of data events + type: optional>> + intercom_user_id: + docs: The Intercom user ID of the user + type: optional + type: + docs: The type of the object + type: optional> + user_id: + docs: The user ID of the user + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataEventSummaryItem: + docs: This will return a summary of a data event for the App. + properties: + count: + docs: The number of times the event was sent + type: optional + description: + docs: The description of the event + type: optional + first: + docs: The first time the event was sent + type: optional + last: + docs: The last time the event was sent + type: optional + name: + docs: The name of the event + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataExportCsv: + docs: A CSV output file + properties: + company_id: + docs: >- + The company ID of the user in relation to the message that was sent. + Will return -1 if no company is present. + type: optional + content_id: + docs: >- + The specific content that was received. In an A/B test each version + has its own Content ID. + type: optional + content_title: + docs: The title of the content you see in your Intercom workspace. + type: optional + content_type: + docs: Email, Chat, Post etc. + type: optional + email: + docs: The users email who was sent the message. + type: optional + first_click: + docs: >- + The first time the series the user clicked on a link within this + message. + type: optional + first_completion: + docs: >- + The first time a user completed this message if the content was able + to be completed e.g. Tours, Surveys. + type: optional + first_dismisall: + docs: The first time the series the user dismissed this message. + type: optional + first_goal_success: + docs: >- + The first time the user met this messages associated goal if one + exists. + type: optional + first_hard_bounce: + docs: The first time this message hard bounced for this user + type: optional + first_open: + docs: The first time the user opened this message. + type: optional + first_reply: + docs: >- + The first time a user replied to this message if the content was able + to receive replies. + type: optional + first_series_completion: + docs: >- + The first time the series this message was a part of was completed by + the user. + type: optional + first_series_disengagement: + docs: >- + The first time the series this message was a part of was disengaged by + the user. + type: optional + first_series_exit: + docs: >- + The first time the series this message was a part of was exited by the + user. + type: optional + first_unsubscribe: + docs: The first time the user unsubscribed from this message. + type: optional + name: + docs: The full name of the user receiving the message + type: optional + node_id: + docs: >- + The id of the series node that this ruleset is associated with. Each + block in a series has a corresponding node_id. + type: optional + receipt_id: + docs: >- + ID for this receipt. Will be included with any related stats in other + files to identify this specific delivery of a message. + type: optional + received_at: + docs: Timestamp for when the receipt was recorded. + type: optional + ruleset_id: + docs: The id of the message. + type: optional + ruleset_version_id: + docs: >- + As you edit content we record new versions. This ID can help you + determine which version of a piece of content that was received. + type: optional + series_id: + docs: >- + The id of the series that this content is part of. Will return -1 if + not part of a series. + type: optional + series_title: + docs: The title of the series that this content is part of. + type: optional + user_external_id: + docs: The external_user_id of the user who was sent the message + type: optional + user_id: + docs: The user_id of the user who was sent the message. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Datetime: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - docs: A date and time following the ISO8601 notation. + type: datetime + - docs: A date and time as UNIX timestamp notation. + type: integer + DeletedArticleObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the article was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the article which you provided in the URL. + type: optional + object: + docs: The type of object which was deleted. - article + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DeletedCollectionObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the collection was deleted successfully or not. + type: optional + id: + docs: >- + The unique identifier for the collection which you provided in the + URL. + type: optional + object: + docs: The type of object which was deleted. - `collection` + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DeletedCompanyObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the company was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the company which is given by Intercom. + type: optional + object: + docs: The type of object which was deleted. - `company` + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DeletedInternalArticleObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the internal article was deleted successfully or not. + type: optional + id: + docs: >- + The unique identifier for the internal article which you provided in + the URL. + type: optional + object: + docs: The type of object which was deleted. - internal_article + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DeletedObject: + docs: Response returned when an object is deleted + properties: + deleted: + docs: Whether the news item was deleted successfully or not. + type: optional + id: + docs: The unique identifier for the news item which you provided in the URL. + type: optional + object: + docs: The type of object which was deleted - news-item. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + EmailAddressHeader: + docs: >- + Contains data for an email address header for a conversation part that was + sent as an email. + properties: + email_address: + docs: The email address + type: optional + name: + docs: The name associated with the email address + type: optional + type: + docs: The type of email address header + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + EmailMessageMetadata: + docs: Contains metadata if the message was sent as an email + properties: + email_address_headers: + docs: A list of an email address headers. + type: optional> + subject: + docs: The subject of the email + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Error: + docs: >- + The API will return an Error List for a failed request, which will contain + one or more Error objects. + properties: + errors: + docs: An array of one or more error objects + type: list + request_id: + docs: '' + type: optional + validation: + format: uuid + type: + docs: The type is error.list + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ErrorErrorsItem: + inline: true + properties: + code: + docs: >- + A string indicating the kind of error, used to further qualify the + HTTP response code + type: string + field: + docs: >- + Optional. Used to identify a particular field or query parameter that + was in error. + type: optional + message: + docs: Optional. Human readable description of the error. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + EventDetails: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: ConversationAttributeUpdatedByWorkflow + - type: ConversationAttributeUpdatedByAdmin + - type: CustomActionStarted + - type: CustomActionFinished + - type: OperatorWorkflowEvent + FileAttribute: + docs: The value describing a file upload set for a custom attribute + properties: + content_type: + docs: The type of file + type: optional + filesize: + docs: The size of the file in bytes + type: optional + height: + docs: The height of the file in pixels, if applicable + type: optional + name: + docs: The name of the file + type: optional + type: + type: optional + url: + docs: >- + The url of the file. This is a temporary URL and will expire after 30 + minutes. + type: optional + width: + docs: The width of the file in pixels, if applicable + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + GroupContent: + docs: The Content of a Group. + properties: + description: + docs: The description of the collection. Only available for collections. + type: optional + name: + docs: The name of the collection or section. + type: optional + type: + docs: The type of object - `group_content` . + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + GroupTranslatedContent: + docs: >- + The Translated Content of an Group. The keys are the locale codes and the + values are the translated content of the Group. + properties: + ar: + docs: The content of the group in Arabic + type: optional + bg: + docs: The content of the group in Bulgarian + type: optional + bs: + docs: The content of the group in Bosnian + type: optional + ca: + docs: The content of the group in Catalan + type: optional + cs: + docs: The content of the group in Czech + type: optional + da: + docs: The content of the group in Danish + type: optional + de: + docs: The content of the group in German + type: optional + el: + docs: The content of the group in Greek + type: optional + en: + docs: The content of the group in English + type: optional + es: + docs: The content of the group in Spanish + type: optional + et: + docs: The content of the group in Estonian + type: optional + fi: + docs: The content of the group in Finnish + type: optional + fr: + docs: The content of the group in French + type: optional + he: + docs: The content of the group in Hebrew + type: optional + hr: + docs: The content of the group in Croatian + type: optional + hu: + docs: The content of the group in Hungarian + type: optional + id: + docs: The content of the group in Indonesian + type: optional + it: + docs: The content of the group in Italian + type: optional + ja: + docs: The content of the group in Japanese + type: optional + ko: + docs: The content of the group in Korean + type: optional + lt: + docs: The content of the group in Lithuanian + type: optional + lv: + docs: The content of the group in Latvian + type: optional + mn: + docs: The content of the group in Mongolian + type: optional + nb: + docs: The content of the group in Norwegian + type: optional + nl: + docs: The content of the group in Dutch + type: optional + pl: + docs: The content of the group in Polish + type: optional + pt: + docs: The content of the group in Portuguese (Portugal) + type: optional + pt-BR: + docs: The content of the group in Portuguese (Brazil) + type: optional + ro: + docs: The content of the group in Romanian + type: optional + ru: + docs: The content of the group in Russian + type: optional + sl: + docs: The content of the group in Slovenian + type: optional + sr: + docs: The content of the group in Serbian + type: optional + sv: + docs: The content of the group in Swedish + type: optional + tr: + docs: The content of the group in Turkish + type: optional + type: + docs: The type of object - group_translated_content. + type: optional + vi: + docs: The content of the group in Vietnamese + type: optional + zh-CN: + docs: The content of the group in Chinese (China) + type: optional + zh-TW: + docs: The content of the group in Chinese (Taiwan) + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + IntercomVersion: + default: Unstable + docs: >- + Intercom API version.
By default, it's equal to the version set in the + app package. + enum: + - name: One0 + value: '1.0' + - name: One1 + value: '1.1' + - name: One2 + value: '1.2' + - name: One3 + value: '1.3' + - name: One4 + value: '1.4' + - name: Two0 + value: '2.0' + - name: Two1 + value: '2.1' + - name: Two2 + value: '2.2' + - name: Two3 + value: '2.3' + - name: Two4 + value: '2.4' + - name: Two5 + value: '2.5' + - name: Two6 + value: '2.6' + - name: Two7 + value: '2.7' + - name: Two8 + value: '2.8' + - name: Two9 + value: '2.9' + - name: Two10 + value: '2.10' + - name: Two11 + value: '2.11' + - name: Two12 + value: '2.12' + - name: Two13 + value: '2.13' + - name: Two14 + value: '2.14' + - Unstable + source: + openapi: ../descriptions/0/api.intercom.io.yaml + IntercomVersionUnstable: + docs: >- + Unstable Intercom API version. Used for closed beta endpoints or other + features under managed availability. + type: literal<"unstable"> + InternalArticleList: + docs: This will return a list of internal articles for the App. + properties: + data: + docs: An array of Internal Article objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of internal articles. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LinkedObject: + docs: A linked conversation or ticket. + properties: + category: + docs: Category of the Linked Ticket Object. + type: optional + id: + docs: The ID of the linked object + type: optional + type: + docs: ticket or conversation + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LinkedObjectList: + docs: >- + An object containing metadata about linked conversations and linked + tickets. Up to 1000 can be returned. + properties: + data: + docs: An array containing the linked conversations and linked tickets. + type: optional> + has_more: + docs: Whether or not there are more linked objects than returned. + type: optional + total_count: + docs: The total number of linked objects. + type: optional + type: + docs: Always list. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LinkedObjectType: + docs: ticket or conversation + enum: + - ticket + - conversation + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MultipleFilterSearchRequest: + docs: Search using Intercoms Search APIs with more than one filter. + properties: + operator: + docs: An operator to allow boolean inspection between multiple fields. + type: optional + value: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MultipleFilterSearchRequestOperator: + docs: An operator to allow boolean inspection between multiple fields. + enum: + - AND + - OR + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MultipleFilterSearchRequestValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - docs: Add mutiple filters. + type: list + - docs: Add a single filter field. + type: list + NewsItemRequest: + docs: >- + 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: + body: + docs: The news item body, which may contain HTML. + type: optional + deliver_silently: + docs: >- + When set to `true`, the news item will appear in the messenger + newsfeed without showing a notification badge. + type: optional + labels: + docs: Label names displayed to users to categorize the news item. + type: optional> + newsfeed_assignments: + docs: A list of newsfeed_assignments to assign to the specified newsfeed. + type: optional> + reactions: + docs: >- + Ordered list of emoji reactions to the news item. When empty, + reactions are disabled. + type: optional>> + sender_id: + docs: >- + The id of the sender of the news item. Must be a teammate on the + workspace. + type: integer + state: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + type: optional + title: + docs: The title of the news item. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NewsItemRequestState: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + enum: + - draft + - live + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NoteList: + docs: A paginated list of notes associated with a contact. + properties: + data: + docs: An array of notes. + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of notes. + type: optional + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NotFoundErrorBody: + properties: + errors: + docs: An array of one or more error objects + type: list + request_id: + docs: '' + type: optional + validation: + format: uuid + type: + docs: The type is error.list + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NotFoundErrorBodyErrorsItem: + inline: true + properties: + code: + docs: ticket_not_found + type: string + message: + docs: Ticket not found + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + OpenConversationRequest: + docs: Payload of the request to open a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + OperatorWorkflowEvent: + docs: >- + Contains details about name of the workflow for conversation part type + operator_workflow_event. + properties: + event: + type: optional + workflow: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + OperatorWorkflowEventEvent: + inline: true + properties: + result: + docs: Result of the workflow event + type: optional + type: + docs: Type of the workflow event initiated + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + OperatorWorkflowEventWorkflow: + inline: true + properties: + name: + docs: The name of the workflow + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PagesLink: + docs: > + 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: + next: + docs: >- + A link to the next page of results. A response that does not contain a + next link does not have further data to fetch. + type: optional + validation: + format: uri + page: + type: optional + per_page: + type: optional + total_pages: + type: optional + type: + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PaginatedResponse: + docs: Paginated Response + properties: + data: + docs: An array of Objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: The type of object + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PaginatedResponseDataItem: + base-properties: {} + discriminant: type + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + news-item: + type: unstableNews.NewsItem + newsfeed: + type: unstableNews.Newsfeed + PaginatedResponseType: + docs: The type of object + enum: + - list + - name: ConversationList + value: conversation.list + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PartAttachment: + docs: The file attached to a part + properties: + content_type: + docs: The content type of the attachment + type: optional + filesize: + docs: The size of the attachment + type: optional + height: + docs: The height of the attachment + type: optional + name: + docs: The name of the attachment + type: optional + type: + docs: The type of attachment + type: optional + url: + docs: The URL of the attachment + type: optional + width: + docs: The width of the attachment + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PhoneSwitch: + docs: Phone Switch Response + properties: + phone: + docs: >- + Phone number in E.164 format, that has received the SMS to continue + the conversation in the Messenger. + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + QuickReplyOption: + properties: + text: + docs: The text to display in this quick reply option. + type: string + uuid: + docs: >- + A unique identifier for this quick reply option. This value will be + available within the metadata of the comment conversation part that is + created when a user clicks on this reply option. + type: string + validation: + format: uuid + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Recipient: + docs: A recipient of a message + properties: + id: + docs: The identifier for the contact which is given by Intercom. + type: string + type: + docs: The role associated to the contact - `user` or `lead`. + type: RecipientType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + RecipientType: + docs: The role associated to the contact - `user` or `lead`. + enum: + - user + - lead + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + RedactConversationRequest: + base-properties: {} + discriminant: type + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + conversation_part: + docs: Payload of the request to redact a conversation part + type: RedactConversationRequestConversationPart + source: + docs: Payload of the request to redact a conversation source + type: RedactConversationRequestSource + RedactConversationRequestConversationPart: + docs: Payload of the request to redact a conversation part + inline: true + properties: + conversation_id: + docs: The id of the conversation. + type: string + conversation_part_id: + docs: The id of the conversation_part. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + RedactConversationRequestSource: + docs: Payload of the request to redact a conversation source + inline: true + properties: + conversation_id: + docs: The id of the conversation. + type: string + source_id: + docs: The id of the source. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Reference: + docs: reference to another object + properties: + id: + docs: '' + type: optional + type: + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ReplyConversationRequestBody: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: ContactReplyConversationRequest + - type: AdminReplyConversationRequest + SearchRequest: + docs: Search using Intercoms Search APIs. + properties: + pagination: + type: optional + query: SearchRequestQuery + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SearchRequestQuery: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: SingleFilterSearchRequest + - type: MultipleFilterSearchRequest + SegmentList: + docs: >- + This will return a list of Segment Objects. The result may also have a + pages object if the response is paginated. + properties: + pages: + docs: >- + A pagination object, which may be empty, indicating no further pages + to fetch. + type: optional> + segments: + docs: A list of Segment objects + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SingleFilterSearchRequest: + docs: Search using Intercoms Search APIs with a single filter. + properties: + field: + docs: The accepted field that you want to search on. + type: optional + operator: + docs: >- + The accepted operators you can use to define how you want to search + for the value. + type: optional + value: + docs: The value that you want to search on. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SingleFilterSearchRequestOperator: + docs: >- + The accepted operators you can use to define how you want to search for + the value. + enum: + - name: EQUAL_TO + value: '=' + - name: NOT_EQUALS + value: '!=' + - IN + - NIN + - name: LESS_THAN + value: < + - name: GREATER_THAN + value: '>' + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SingleFilterSearchRequestValue: + discriminated: false + docs: The value that you want to search on. + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - string + - integer + - list + SingleFilterSearchRequestValueItem: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - string + - integer + SlaApplied: + docs: > + 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: + sla_name: + docs: The name of the SLA as given by the teammate when it was created. + type: optional + sla_status: + docs: |- + 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. + type: optional + type: + docs: object type + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SlaAppliedSlaStatus: + docs: |- + 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. + enum: + - hit + - missed + - cancelled + - active + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SnoozeConversationRequest: + docs: Payload of the request to snooze a conversation + properties: + admin_id: + docs: The id of the admin who is performing the action. + type: string + snoozed_until: + docs: The time you want the conversation to reopen. + type: integer + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SocialProfile: + docs: >- + A Social Profile allows you to label your contacts, companies, and + conversations and list them using that Social Profile. + properties: + name: + docs: The name of the Social media profile + type: optional + type: + docs: value is "social_profile" + type: optional + url: + docs: The name of the Social media profile + type: optional + validation: + format: uri + source: + openapi: ../descriptions/0/api.intercom.io.yaml + StartingAfterPaging: + properties: + per_page: + docs: The number of results to fetch per page. + type: optional + starting_after: + docs: The cursor to use in the next request to get the next page of results. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SubscriptionTypeList: + docs: A list of subscription type objects. + properties: + data: + docs: A list of subscription type objects associated with the workspace . + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagCompanyRequest: + docs: You can tag a single company or a list of companies. + properties: + companies: + docs: The id or company_id of the company can be passed as input parameters. + type: list + name: + docs: The name of the tag, which will be created if not found. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagCompanyRequestCompaniesItem: + inline: true + properties: + company_id: + docs: The company id you have defined for the company. + type: optional + id: + docs: The Intercom defined id representing the company. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagList: + docs: A list of tags objects in the workspace. + properties: + data: + docs: A list of tags objects associated with the workspace . + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagMultipleUsersRequest: + docs: You can tag a list of users. + properties: + name: + docs: The name of the tag, which will be created if not found. + type: string + users: list + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagMultipleUsersRequestUsersItem: + inline: true + properties: + id: + docs: The Intercom defined id representing the user. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Tags: + docs: A list of tags objects associated with a conversation + properties: + tags: + docs: A list of tags objects associated with the conversation. + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TeamList: + docs: This will return a list of team objects for the App. + properties: + teams: + docs: A list of team objects + type: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TeamPriorityLevel: + docs: Admin priority levels for teams + properties: + primary_team_ids: + docs: The primary team ids for the team + type: optional> + secondary_team_ids: + docs: The secondary team ids for the team + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketCustomAttributes: + docs: >- + 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_`. + type: map + TicketCustomAttributesValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - optional + - double + - boolean + - list + - type: FileAttribute + TicketList: + docs: Tickets are how you track requests from your users. + properties: + pages: + type: optional + tickets: + docs: The list of ticket objects + type: optional>> + total_count: + docs: A count of the total number of objects. + type: optional + type: + docs: Always ticket.list + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartAuthor: + docs: >- + The author that wrote or triggered the part. Can be a bot, admin, team or + user. + properties: + email: + docs: The email of the author + type: optional + validation: + format: email + id: + docs: The id of the author + type: optional + name: + docs: The name of the author + type: optional + type: + docs: The type of the author + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartAuthorType: + docs: The type of the author + enum: + - admin + - bot + - team + - user + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketParts: + docs: >- + A list of Ticket Part objects for each note and event in the ticket. There + is a limit of 500 parts. + properties: + ticket_parts: + docs: >- + A list of Ticket Part objects for each ticket. There is a limit of 500 + parts. + type: optional> + total_count: + docs: '' + type: optional + type: + docs: '' + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketReply: + docs: A Ticket Part representing a note, comment, or quick_reply on a ticket + properties: + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: The message body, which may contain HTML. + type: optional + created_at: + docs: The time the note was created. + type: optional + id: + docs: The id representing the part. + type: optional + part_type: + docs: Type of the part + type: optional + redacted: + docs: Whether or not the ticket part has been redacted. + type: optional + type: + docs: Always ticket_part + type: optional> + updated_at: + docs: The last time the note was updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketReplyPartType: + docs: Type of the part + enum: + - note + - comment + - quick_reply + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketRequestCustomAttributes: + docs: >- + 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`). + type: map + TicketRequestCustomAttributesValue: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - optional + - double + - boolean + - list + TicketStateList: + docs: A list of ticket states associated with a given ticket type. + properties: + data: + docs: A list of ticket states associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketTypeAttribute: + docs: >- + Ticket type attribute, used to define each data field to be captured in a + ticket. + properties: + archived: + docs: Whether the ticket type attribute is archived or not. + type: optional + created_at: + docs: The date and time the ticket type attribute was created. + type: optional + data_type: + docs: >- + The type of the data attribute (allowed values: "string list integer + decimal boolean datetime files") + type: optional + default: + docs: Whether the attribute is built in or not. + type: optional + description: + docs: The description of the ticket type attribute + type: optional + id: + docs: The id representing the ticket type attribute. + type: optional + input_options: + docs: Input options for the attribute + type: optional> + name: + docs: The name of the ticket type attribute + type: optional + order: + docs: The order of the attribute against other attributes + type: optional + required_to_create: + default: false + docs: Whether the attribute is required or not for teammates. + type: optional + required_to_create_for_contacts: + default: false + docs: Whether the attribute is required or not for contacts. + type: optional + ticket_type_id: + docs: The id of the ticket type that the attribute belongs to. + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type_attribute`. + type: optional + updated_at: + docs: The date and time the ticket type attribute was last updated. + type: optional + visible_on_create: + default: true + docs: Whether the attribute is visible or not to teammates. + type: optional + visible_to_contacts: + default: true + docs: Whether the attribute is visible or not to contacts. + type: optional + workspace_id: + docs: The id of the workspace that the ticket type attribute belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketTypeAttributeList: + docs: A list of attributes associated with a given ticket type. + properties: + ticket_type_attributes: + docs: A list of ticket type attributes associated with a given ticket type. + type: optional>> + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type_attributes.list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketTypeList: + docs: A list of ticket types associated with a given workspace. + properties: + data: + docs: A list of ticket_types associated with a given workspace. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Translation: + docs: >- + A translation object contains the localised details of a subscription + type. + properties: + description: + docs: The localised description of the subscription type. + type: optional + locale: + docs: >- + The two character identifier for the language of the translation + object. + type: optional + name: + docs: The localised name of the subscription type. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UntagCompanyRequest: + docs: You can tag a single company or a list of companies. + properties: + companies: + docs: The id or company_id of the company can be passed as input parameters. + type: list + name: + docs: The name of the tag which will be untagged from the company + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UntagCompanyRequestCompaniesItem: + inline: true + properties: + company_id: + docs: The company id you have defined for the company. + type: optional + id: + docs: The Intercom defined id representing the company. + type: optional + untag: + docs: Always set to true + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateArticleRequestBody: + docs: You can Update an Article + properties: + author_id: + docs: >- + 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. + type: optional + body: + docs: >- + The content of the article. For multilingual articles, this will be + the body of the default language's content. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + docs: >- + 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. + type: optional + title: + docs: >- + The title of the article.For multilingual articles, this will be the + title of the default language's content. + type: optional + translated_content: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateArticleRequestState: + docs: >- + 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 + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateDataAttributeRequest: + discriminated: false + docs: '' + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: UpdateDataAttributeRequestOptions + - unknown + UpdateDataAttributeRequestOptions: + inline: true + properties: + options: + docs: >- + Array of objects representing the options of the list, with `value` as + the key and the option as the value. At least two options are + required. + type: list + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateDataAttributeRequestOptionsOptionsItem: + inline: true + properties: + value: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateTicketTypeRequestBody: + docs: > + 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/) + properties: + archived: + docs: The archived status of the ticket type. + type: optional + category: + docs: Category of the Ticket Type. + type: optional + description: + docs: The description of the ticket type. + type: optional + icon: + default: 🎟️ + docs: The icon of the ticket type. + type: optional + is_internal: + default: false + docs: >- + 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. + type: optional + name: + docs: The name of the ticket type. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateTicketTypeRequestCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Visitor: + docs: >- + 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. + properties: + anonymous: + docs: Identifies if this visitor is anonymous. + type: optional + app_id: + docs: The id of the app the visitor is associated with. + type: optional + avatar: + type: optional + companies: + type: optional + created_at: + docs: The time the Visitor was added to Intercom. + type: optional + custom_attributes: + docs: The custom attributes you have set on the Visitor. + type: optional> + do_not_track: + docs: Identifies if this visitor has do not track enabled. + type: optional + email: + docs: The email of the visitor. + type: optional + validation: + format: email + has_hard_bounced: + docs: Identifies if this visitor has had a hard bounce. + type: optional + id: + docs: The Intercom defined id representing the Visitor. + type: optional + las_request_at: + docs: The time the Lead last recorded making a request. + type: optional + location_data: + type: optional + marked_email_as_spam: + docs: Identifies if this visitor has marked an email as spam. + type: optional + name: + docs: The name of the visitor. + type: optional + owner_id: + docs: The id of the admin that owns the Visitor. + type: optional + phone: + docs: The phone number of the visitor. + type: optional + pseudonym: + docs: The pseudonym of the visitor. + type: optional + referrer: + docs: The referer of the visitor. + type: optional + remote_created_at: + docs: The time the Visitor was added to Intercom. + type: optional + segments: + type: optional + session_count: + docs: The number of sessions the Visitor has had. + type: optional + signed_up_at: + docs: The time the Visitor signed up for your product. + type: optional + social_profiles: + type: optional + tags: + type: optional + type: + default: visitor + docs: Value is 'visitor' + type: optional + unsubscribed_from_emails: + docs: Whether the Visitor is unsubscribed from emails. + type: optional + updated_at: + docs: The last time the Visitor was updated. + type: optional + user_id: + docs: Automatically generated identifier for the Visitor. + type: optional + utm_campaign: + docs: The utm_campaign of the visitor. + type: optional + utm_content: + docs: The utm_content of the visitor. + type: optional + utm_medium: + docs: The utm_medium of the visitor. + type: optional + utm_source: + docs: The utm_source of the visitor. + type: optional + utm_term: + docs: The utm_term of the visitor. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorAvatar: + inline: true + properties: + image_url: + docs: This object represents the avatar associated with the visitor. + type: optional + validation: + format: uri + type: + default: avatar + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorCompanies: + inline: true + properties: + companies: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorDeletedObject: + docs: Response returned when an object is deleted + properties: + id: + docs: The unique identifier for the visitor which is given by Intercom. + type: optional + type: + docs: The type of object which was deleted + type: optional> + user_id: + docs: Automatically generated identifier for the Visitor. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorLocationData: + inline: true + properties: + city_name: + docs: The city name of the visitor. + type: optional + continent_code: + docs: The continent code of the visitor. + type: optional + country_code: + docs: The country code of the visitor. + type: optional + country_name: + docs: The country name of the visitor. + type: optional + postal_code: + docs: The postal code of the visitor. + type: optional + region_name: + docs: The region name of the visitor. + type: optional + timezone: + docs: The timezone of the visitor. + type: optional + type: + default: location_data + docs: '' + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorSegments: + inline: true + properties: + segments: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorSocialProfiles: + inline: true + properties: + social_profiles: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorTags: + inline: true + properties: + tags: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + VisitorTagsTagsItem: + inline: true + properties: + id: + docs: The id of the tag. + type: optional + name: + docs: The name of the tag. + type: optional + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + WhatsappMessageStatusList: + properties: + events: list + pages: WhatsappMessageStatusListPages + ruleset_id: + docs: The provided ruleset ID + type: string + total_count: + docs: Total number of events + type: integer + type: literal<"list"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + WhatsappMessageStatusListEventsItem: + inline: true + properties: + conversation_id: + docs: ID of the conversation + type: string + created_at: + docs: Creation timestamp + type: integer + id: + docs: Event ID + type: string + status: + docs: Current status of the message + type: WhatsappMessageStatusListEventsItemStatus + template_name: + docs: Name of the WhatsApp template used + type: optional + type: + docs: Event type + type: literal<"broadcast_outbound"> + updated_at: + docs: Last update timestamp + type: integer + whatsapp_message_id: + docs: WhatsApp's message identifier + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + WhatsappMessageStatusListEventsItemStatus: + docs: Current status of the message + enum: + - sent + - delivered + - read + - failed + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + WhatsappMessageStatusListPages: + inline: true + properties: + next: + docs: Information for fetching next page (null if no more pages) + type: optional + per_page: + docs: Number of results per page + type: integer + total_pages: + docs: Total number of pages + type: integer + type: literal<"pages"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + WhatsappMessageStatusListPagesNext: + docs: Information for fetching next page (null if no more pages) + inline: true + properties: + starting_after: + docs: Cursor for the next page + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +errors: + BadRequestError: + docs: Bad Request + examples: + - name: Example of an invalid away_status_reason_id + value: + errors: + - code: parameter_invalid + message: Away status reason is deleted + type: error.list + - name: >- + Example of a missing away_status_reason_id when away reasons are + mandatory + value: + errors: + - code: away_status_reason_mandatory + message: Away status reason is mandatory + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: >- + author_id must be in the main body or default locale + translated_content object + request_id: e522ca8a-cd15-404e-84b3-7f7536003d4a + type: error.list + - name: No dataset_id + value: + errors: + - code: bad_request + message: '''dataset_id'' is a required parameter' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Invalid dataset_id + value: + errors: + - code: bad_request + message: imaginary is not a valid dataset_id + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: No attribute_ids + value: + errors: + - code: bad_request + message: '''attribute_ids'' is a required parameter' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Empty attribute_ids + value: + errors: + - code: bad_request + message: attribute_ids must contain at least one attribute_id + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Non array attribute_ids + value: + errors: + - code: bad_request + message: '''attribute_ids'' not an array must be of type Array' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Invalid attribute_ids + value: + errors: + - code: bad_request + message: 'attribute_ids invalid for conversation dataset: non_existent' + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: Name is a required parameter. + request_id: 816186b3-3187-4b47-adf8-e201bea32208 + type: error.list + - name: Bad Request + value: + errors: + - code: bad_request + message: bad 'test' parameter + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_not_found + message: company not specified + request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a + type: error.list + - name: Bad request + value: + errors: + - code: parameter_invalid + message: Ticket type is not a customer ticket type + request_id: 450e0b22-ccc2-40dd-bf54-bc0faaa28f57 + type: error.list + - name: BadRequest + value: + errors: + - code: data_invalid + message: Contact not found or could not be created + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Same name already exists + value: + 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. + request_id: da2a7037-11f4-4fcc-8d19-27da3b3a4336 + type: error.list + - name: Invalid name + value: + errors: + - code: parameter_invalid + message: >- + Your name for this attribute must only contain alphanumeric + characters, currency symbols, and hyphens + request_id: 1c45cfd9-ffd1-4e3e-9f7a-2ac99abdf03d + type: error.list + - name: Attribute already exists + value: + 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. + request_id: 55999605-a170-4894-a3d0-090c4fee8d11 + type: error.list + - name: Invalid Data Type + value: + errors: + - code: parameter_invalid + message: Data Type isn't an option + request_id: e0a9ccc7-a540-4ef0-8ffc-28ab86658b04 + type: error.list + - name: Too few options for list + value: + errors: + - code: parameter_invalid + message: The Data Attribute model field must be either contact or company + request_id: 6544ccf8-435d-49e1-91ed-e49356f14255 + type: error.list + - name: Too few options in list + value: + errors: + - code: parameter_invalid + message: Options isn't an array + request_id: 37cff4c5-5e1a-4958-a2ba-149b09d1915c + type: error.list + - name: Invalid parameter + value: + errors: + - code: parameter_invalid + message: Invalid updated_since timestamp + request_id: bc300b1a-492a-405f-924e-a5881cb72e3a + type: error.list + - name: No body supplied for message + value: + errors: + - code: parameter_invalid + message: Body is required + request_id: 3f3e74cc-65af-4408-9bf5-9e71b55c8166 + type: error.list + - name: No body supplied for email message + value: + errors: + - code: parameter_invalid + message: Body is required + request_id: 2d6abc61-1441-4860-9ef0-777852f8b24f + type: error.list + - name: Invalid body supplied for sms message + value: + errors: + - code: parameter_invalid + message: Invalid SMS message body + request_id: d7997515-65af-4860-9bf5-777852f8b24f + type: error.list + - name: missing ruleset_id + value: + message: ruleset_id is required + request_id: req_123 + type: error + - name: bad request - exception sending sms + value: + error_key: sms_failed + message: SMS was not sent due to an unknown error + - name: bad request - invalid number + value: + error_key: invalid_phone_number + message: Invalid phone number + - name: too_many_ids + value: + errors: + - code: conversation_id_limit_exceeded + message: A list of up to 20 conversation IDs is required + type: error.list + - name: Invalid parameters + value: + errors: + - code: parameter_invalid + message: invalid tag parameters + request_id: 33a05108-3bf7-411f-a270-72db40b5a31c + type: error.list + - name: Tag has dependent objects + value: + errors: + - code: tag_has_dependent_objects + message: 'Unable to delete Tag with dependent objects. Segments: Seg 1.' + request_id: 28960d1e-a056-46c0-bf18-a0d798eb889f + type: error.list + - name: User reply + value: + errors: + - code: parameter_mismatch + message: User replies are not allowed on Backoffice tickets + request_id: 603ce1da-f2bf-4641-a1ee-d1f13ebf9172 + type: error.list + - name: Bad Request + value: + errors: + - code: parameter_invalid + message: Missing required ticket attributes + request_id: c7bf358f-135e-48d7-8286-a4988a8a1456 + type: error.list + - name: >- + Ticket state id is not valid or is not associated with the ticket + type. + value: + errors: + - code: ticket_state_id_invalid + message: >- + Ticket state id is not valid or is not associated with the + ticket type + request_id: 28b71de1-b451-433a-a08c-845f2b1736b6 + type: error.list + status-code: 400 + type: unknown + ForbiddenError: + docs: API plan restricted + examples: + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b9 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: dcf1b373-3e66-4026-a987-98c16f00a908 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 8b3deed3-fd8b-43d6-b6a8-428c9e17aabb + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 34072e07-6b70-4f59-96bf-3106a3563a24 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 7a80b950-b392-499f-85db-ea7c6c424d37 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 48ad16d0-525c-40bf-b733-89239feb70e3 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: a57737d0-63a7-42bd-aa65-8380ef828124 + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 99f72599-ac98-4b1e-af96-808654b6383e + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 6fe4106b-967a-46ba-b1c9-9996aff6e8c3 + type: error.list + - name: OAuth token lacks read_conversations scope + value: + errors: + - code: forbidden + message: >- + You do not have the required scope (read_conversations) to + access this resource + request_id: f097e446-9ae6-44a8-8e13-2bf3008b87ef + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 72b6821e-54ff-4a25-adf9-abdfef5fe72b + type: error.list + - name: API plan restricted + value: + errors: + - code: api_plan_restricted + message: Active subscription needed. + request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b0 + type: error.list + status-code: 403 + type: Error + InternalServerError: + docs: Internal server error + examples: + - value: + errors: + - code: unauthorized + type: error.list + status-code: 500 + type: Error + NotFoundError: + docs: Admin not found + examples: + - name: Admin not found + value: + errors: + - code: admin_not_found + message: Admin for admin_id not found + request_id: efcd0531-798b-4c22-bccd-68877ed7faa4 + type: error.list + - name: Admin not found + value: + errors: + - code: admin_not_found + message: Admin not found + request_id: c59f7ca5-1639-4284-a66d-50e34ed98ab3 + type: error.list + - name: Article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 + type: error.list + - name: Article Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 + type: error.list + - name: Collection not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: a074a09e-97d1-44e2-b164-b703559c9f23 + type: error.list + - name: Collection Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 198e3add-d017-4e18-b478-fbe2cb8c538b + type: error.list + - name: collection Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: f0d0ea9b-ffaf-48f5-95d0-e99531c379e2 + type: error.list + - name: Collection not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bbd5de60-49c4-4850-afff-1226cdaa0beb + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 + type: error.list + - name: Internal article not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 57d57564-b5e2-4064-abfe-4653e5ac24c0 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: daa64b43-3e3c-4fc4-aef9-91eb40c7885c + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 4f41d1d6-7a42-45e3-a24e-544deb62da47 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 5dde0b79-8c81-4d9e-a4d4-736a44cf2f00 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: de5d939e-77fb-46d7-a3b9-f34199d9f25a + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 981799ea-f19b-432d-828c-491a3b29ad29 + type: error.list + - name: Company Not Found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: dcfc3465-8a51-4d78-b24c-2f215d48f339 + type: error.list + - name: Contact Not Found + value: + errors: + - code: not_found + message: User Not Found + request_id: b5a1f332-1bf1-44bd-a068-2634244b6051 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 57055cde-3d0d-4c67-b5c9-b20b80340bf0 + type: error.list + - name: Admin not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 168f1bc3-d198-4797-8422-9f93fe8af5ad + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 6f372239-0259-428f-9943-91b8f7a92162 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 61c119c7-b2f0-4158-8457-fd53e83f936a + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: c9b793ad-ff39-436c-80c9-db6f24d0d444 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 0c2871af-abed-4bce-a5c5-77efbe721711 + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 2774db46-34d9-4925-a24d-8203d4a39f65 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 82b37940-b43f-46ee-a492-11543a317c97 + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: c18422ca-5454-42af-9e1d-dd92066e6e9d + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 302049fb-b8c1-4dc8-a327-a8f6e1923484 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: f22a7847-ee33-449f-80c0-707efd295a53 + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 8a3e4f88-ae65-433a-b4eb-46780ffc5402 + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: b3d41080-5b35-42b8-8584-31e4660d355f + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 02871f7a-860e-433a-8545-6a73fbbe5e22 + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Conversation not found + request_id: c6e8c74f-a354-4dfd-a5be-6061d2d26341 + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Conversation not found + request_id: 84db22c5-0fef-465a-a909-2643d8a22c69 + type: error.list + - name: Tag not found + value: + errors: + - code: tag_not_found + message: Tag not found + request_id: 1fe3e9ec-6a5b-4abc-b51c-a515f77d9577 + type: error.list + - name: Contact Not Found + value: + errors: + - code: not_found + message: User Not Found + request_id: d7eb553e-74ae-4341-820b-5d38a94d4a99 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 8c288c4f-b699-4209-9de4-064398f02785 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: de1be01d-a0d3-48a6-9ea6-9789931a6887 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 06234918-c245-4caa-a2cc-90247983c6ff + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: e056b3c3-fae3-4a3c-9bcf-836b84efa331 + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 86fd8b2e-7048-4fbd-9fb0-d73085d7210b + type: error.list + - name: Conversation not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 89835b60-6756-4d2a-b148-26ca0cb49f9f + type: error.list + - name: Contact not found + value: + errors: + - code: not_found + message: User Not Found + request_id: ab1b9371-3185-417f-a53a-dcae35892980 + type: error.list + - name: Not found + value: + errors: + - code: conversation_part_or_message_not_found + message: Conversation part or message not found + request_id: 5b7bb755-4031-4bfe-8897-54d0f1872bbc + type: error.list + - name: ObjectNotFound + value: + errors: + - code: not_found + message: Object not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: CustomObjectNotFound + value: + errors: + - code: not_found + message: Custom object instance not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: IntegrationNotFound + value: + errors: + - code: data_invalid + message: Integration not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: TypeNotFound + value: + errors: + - code: not_found + message: Custom object type `undefined` not found + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Attribute Not Found + value: + errors: + - code: field_not_found + message: We couldn't find that data attribute to update + request_id: eee16d31-0b0a-4b5f-b95a-25d37528c80f + type: error.list + - name: Job not found + value: + errors: + - code: job_not_found + message: Job Not Found + request_id: 123e4567-e89b-12d3-a456-426614174000 + type: error.list + - name: Macro not found + value: + errors: + - code: not_found + message: Macro not found + request_id: bc300b1a-492a-405f-924e-a5881cb72e3a + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: da84e250-8626-47e8-815c-62b33f0f2c36 + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 2014d867-b634-495a-9b4f-ce56c4d657a9 + type: error.list + - name: News Item Not Found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 23728e22-7b9f-44a9-9b8d-5028811b9cd0 + type: error.list + - name: Note not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bc300b1a-492a-405f-924e-a5881cb72e3a + type: error.list + - name: Segment not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: bd697cc6-7757-488c-a89f-16e6feaf7585 + type: error.list + - name: Not Found + value: + errors: + - code: not_found + message: Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Not Found + value: + errors: + - code: not_found + message: Recording Not Found + request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 + type: error.list + - name: Company not found + value: + errors: + - code: company_not_found + message: Company Not Found + request_id: 23c998cc-32b8-435d-9653-932c15809460 + type: error.list + - name: User not found + value: + errors: + - code: not_found + message: User Not Found + request_id: 7358f78d-f122-45dd-a2e1-c2261300c38a + type: error.list + - name: Tag not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: e20c89d2-29c6-4abb-aa3d-c860e1cec1ca + type: error.list + - name: Resource not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 49536975-bbc5-4a2f-ab8b-7928275cb4d3 + type: error.list + - name: Team not found + value: + errors: + - code: team_not_found + message: Team not found + request_id: 3ff156ba-a66e-40d4-93ff-cb6e6afc3c9d + type: error.list + - name: Not found + value: + errors: + - code: not_found + message: Resource Not Found + request_id: 24561472-06a4-41b2-aca2-97b3ccd9ca19 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: b44cff1d-c6f8-4d60-ab6f-33522cd739d8 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: 734019dc-1d61-4fad-a86e-e3fb06244c4d + type: error.list + - name: Tag not found + value: + errors: + - code: tag_not_found + message: Tag not found + request_id: a3658b9a-3562-48a7-8afe-362284632d67 + type: error.list + - name: Admin not found + value: + errors: + - code: assignee_not_found + message: Assignee not found + request_id: f9757add-b48a-4519-a6e0-04b2ef9c8c6c + type: error.list + - name: Assignee not found + value: + errors: + - code: assignee_not_found + message: Assignee not found + request_id: 39cf6495-768c-450c-a2c4-c9c3c4ea2e01 + type: error.list + - name: Ticket not found + value: + errors: + - code: ticket_not_found + message: Ticket not found + request_id: 34a070f1-122e-42dc-a94e-9b86768df26c + type: error.list + - name: Visitor not found + value: + errors: + - code: not_found + message: Visitor Not Found + request_id: 3c1b017d-39fb-4d13-8cc9-540ad0d37106 + type: error.list + - name: visitor Not Found + value: + errors: + - code: not_found + message: Visitor Not Found + request_id: 6a6d5522-54e2-437d-8fd0-1109686af965 + type: error.list + - name: Brand not found + value: + errors: + - code: not_found + message: Brand not found + request_id: req_12345 + type: error.list + - name: Email setting not found + value: + errors: + - code: not_found + message: Email setting not found + request_id: req_12345 + type: error.list + status-code: 404 + type: unknown + TooManyRequestsError: + docs: Too many jobs in progress + examples: + - name: Unauthorized + value: + errors: + - code: rate_limit_exceeded + message: Exceeded rate limit of 5 pending reporting dataset export jobs + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + status-code: 429 + type: Error + UnauthorizedError: + docs: Unauthorized + examples: + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e76b2df0-2413-4215-8a5a-b5f6ebd4e642 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 57cc6148-2c0a-471b-bd9e-859538110958 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5ef5682e-f66e-40a4-b828-8592175f83b8 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff783bc1-754f-4a9f-887b-22f94fec18f0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9e554e0f-ed0a-4fc6-b141-105d70c9d485 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 31262ee6-aa3b-4748-a260-a1084754ebae + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5556d3dd-d4e2-4424-9757-2ad0accb52e5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: cb4a6795-2cdb-44f9-adb7-0624702f7e8a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 093e1dd9-996a-4154-a64c-80803a5c2084 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: bd0c53dd-d3fd-4095-be25-94537a8ba364 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 205ffc13-1b25-43b2-a176-cb817af5f899 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 504cde98-f786-4f64-b373-e26a6a41fd11 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 8217b189-b908-4562-962d-2a19a7b77f25 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2380cdd5-c4a0-451a-b07d-a6f4b720add3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2e760b85-9020-471b-89dc-f579ec8a0104 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 85e91429-72df-4e69-8a12-b55793dff59f + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2eab07fb-5092-49a4-ba74-44094f31f264 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c6e86ce8-9402-4196-89c5-f1b2912b4bac + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c70746a8-a5b2-4772-afba-1a4b487ea75d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b68959ea-6328-4f70-83cb-e7913dba1542 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 12c2d3a0-77ef-462e-a5ed-e67ddff50b6e + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 25d96ec2-641f-4354-b24e-83a85d33bd30 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a29395a5-181c-4f3b-b069-5b2f32604c58 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b286edcc-453d-43af-bf2f-40f303708c61 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d0d16fb5-93e6-45ca-b07d-f98fb92fd733 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7c301f6-9206-418b-9792-98821970e48b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 76edbbb7-e463-4f6a-817a-b7905d467535 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d1ea223d-bb62-42e3-8bcf-30fdcf7dbd99 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2fa563ba-f9c9-4281-a76b-10bfd777dfd7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 8a9f415f-e9df-41e9-ba1f-739914f66551 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: caf73ce4-bda6-4f2b-bbfb-0d984d430335 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 4748eb32-3261-4798-ace0-a5825edf4eb5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7b13fd9c-31be-40de-94e1-d71f260a3458 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f7586690-c217-47db-9042-cb9550b81260 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 91f04dce-5759-4d80-981e-f598ec989d1a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 537ccc45-2cae-4e72-ac2f-849f1422a771 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ca269b05-8c42-4615-a28d-7df0eb1687c5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9bc1e0cc-5cc4-412d-8037-57e073375ab0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 0273c219-51b7-4938-95d2-19996b2e2734 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7323b97b-9ba4-4c54-946c-38cecea65b3c + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f615465d-fd5f-4d68-8498-389130b897e4 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7de741d-dc8f-49b1-8cbe-791668ade76c + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ca3c5e6e-c743-428b-aa8a-ac371a50cc39 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9b1c9966-caeb-485a-8419-d707fd472c63 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 491beaa4-a452-4940-85e0-498c0ca5528d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 45b30bd1-75d2-40cc-bb39-74ac133a2836 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 89ce96d9-aae9-4eec-ace2-d68cc4f74879 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a947b2f0-23d3-419d-9ec4-cdd191cea676 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff328c7c-6140-48eb-84dd-bb8960b66cd0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f0dc95f1-9e46-4e8d-8150-89365c2c5195 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e097e446-9ae6-44a8-8e13-2bf3008b87ef + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ff2353d3-d3d6-4f20-8268-847869d01e73 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1fb28be7-cda6-4029-b4da-447ef61cb61a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 617bb25d-4dea-4a68-ae74-2fb8f4e87b39 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: df73b7b4-2352-44fd-8d14-4ea8536ad138 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b14d75ab-7d26-4191-b33f-77ca0a4d4ede + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 68e42c33-8220-48ea-906f-75584c3ec440 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1350c241-0f22-48ca-bab9-169080340870 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: de63ddb2-c525-4ebf-ad38-82ed8b44c896 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 310f55b0-2660-43e8-bed4-7e82b2f40920 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 50f1e8d1-cf1a-450c-a7b5-87a264076241 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 623bbbb8-f6fb-45f3-a2e2-4106ff3a4349 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 9dc7c1a0-b818-472c-adf6-3e327f22f541 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 89ef64b2-d1f9-40c3-89e9-d39175d3d647 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 4814668f-5d31-4bf7-8f66-b426aac054db + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6d231766-b44b-4e78-bc9e-9c268ff19671 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: fa71b91c-4a25-4fe6-88a9-884f6950860e + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c60ce63d-1c74-4fe2-8e21-31d1f817a0c2 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e6f50446-be4a-40ac-8c8d-6fb91e1040fd + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 212c8206-e7a6-44c8-8f27-5f0ad7f1d243 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 7a7d8425-2c1b-46ab-8133-c043fc1e5711 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2c8a20ee-ed09-42c0-a31d-a1b4f5d2742d + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d7997515-cd92-4fe4-966c-cb1f4bdda1d4 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5142ad8e-883e-4b71-9adb-6494851e9b77 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 33ff62c6-ceb7-4bde-93d6-301bed6f24b2 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5838c54e-dd15-460b-82dd-794c4d0e12c5 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e5357876-89be-4a04-80c3-16735b7f53ff + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 022ff8b0-d16f-437c-8217-754c13e16dee + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: caa26d8b-6512-445d-9418-9fc5849ca304 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6d9a1bf5-aa08-4c93-a61a-5a21130b6553 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 81384687-5818-4df9-b421-fba77edd6c17 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b1939528-98f0-4a63-a442-2cc9203fc8c7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: be0d5309-d722-4d2a-aae9-77f4bc0a2cd0 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 06d15b1f-19b0-42cc-aff9-a9d9db39402b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: e1ed4f34-9477-492a-8ddb-22f10af39734 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2859da57-c83f-405c-8166-240a312442a3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: f230e3a7-00a9-456b-bf1c-2ad4b7dc49f6 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c1c0477c-5b80-4874-be65-01ec8a9ffe14 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 90a369be-14bb-48d1-8ed6-6287976f6a64 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a77dadbc-1f1e-4875-bac3-f0d09bbc214a + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: fc4b741b-b9f1-4ef9-92c7-eb71e9811df3 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 5e0bd231-7307-42e6-a6ee-babf05bd163b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 6c9836ed-8485-4f1d-929d-b9d7e153daed + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: cd303186-b33e-4409-8bfc-5814b176d6e1 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: a63507c2-3b3b-4a1a-aafa-f08b87eb2c12 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 36b79d0c-b78f-4e1d-bd6d-bfc3dcc71f53 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c9a2c3da-7536-4eba-bde7-c38c2d9e2942 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: ed4305b3-4364-4fab-9f8d-e07e9a8190ab + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2bed74fe-1b04-4c07-8813-02c700e8dcad + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 2e87c98e-4ffc-407e-b7bc-065d4d456ea7 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: c7bf358f-135e-48d7-8286-a4988a8a1d9b + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: d719ad4f-5ae2-492f-88d6-98ba0a9ab6cc + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 17db783e-1e43-41c9-b4db-0c05da78a909 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 50348131-55cd-4ca1-a65f-de093b232adb + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 1d7f49b3-10bc-4bf8-a28a-1ac95de3a6ff + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: 3f474ec4-4e61-42ee-9acc-eac64982e393 + type: error.list + - name: Unauthorized + value: + errors: + - code: unauthorized + message: Access Token Invalid + request_id: b3e71306-0600-41e4-9f44-83b52906d2b7 + type: error.list + - value: + errors: + - code: unauthorized + type: error.list + status-code: 401 + type: Error + UnprocessableEntityError: + docs: Last customer + examples: + - name: Last customer + value: + errors: + - code: parameter_invalid + message: Removing the last customer is not allowed + request_id: 8275e92f-66b7-40f9-82a8-9647ca8d7eb4 + type: error.list + - name: ValidationError + value: + errors: + - code: data_invalid + message: Invalid or duplicated record reference + request_id: 12a938a3-314e-4939-b773-5cd45738bd21 + type: error.list + - name: Has Dependant Object + value: + errors: + - code: data_invalid + message: >- + The Data Attribute you are trying to archive has a dependant + object + request_id: f04b6b14-1c5b-46e1-9c95-4a914557062c + type: error.list + - name: No subject supplied for email message + value: + errors: + - code: parameter_not_found + message: No subject supplied for email message + request_id: 97db463e-7070-4ac9-9846-9a5d31933772 + type: error.list + - name: unprocessable entity + value: + error_key: some_error + status-code: 422 + type: unknown diff --git a/fern/.definition/unstable/admins.yml b/fern/.definition/unstable/admins.yml new file mode 100644 index 0000000..dc1882c --- /dev/null +++ b/fern/.definition/unstable/admins.yml @@ -0,0 +1,360 @@ +imports: + unstableRoot: __package__.yml +types: + Admin: + docs: Admins are teammate accounts that have access to a workspace. + properties: + avatar: + docs: Image for the associated team or teammate + type: optional + validation: + format: uri + away_mode_enabled: + docs: Identifies if this admin is currently set in away mode. + type: optional + away_mode_reassign: + docs: >- + Identifies if this admin is set to automatically reassign new + conversations to the apps default inbox. + type: optional + away_status_reason_id: + docs: The unique identifier of the away status reason + type: optional + email: + docs: The email of the admin. + type: optional + has_inbox_seat: + docs: >- + Identifies if this admin has a paid inbox seat to restrict/allow + features that require them. + type: optional + id: + docs: The id representing the admin. + type: optional + job_title: + docs: The job title of the admin. + type: optional + name: + docs: The name of the admin. + type: optional + team_ids: + docs: This object represents the avatar associated with the admin. + type: optional> + team_priority_level: + type: optional + type: + docs: String representing the object's type. Always has the value `admin`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Admins +service: + auth: false + base-path: '' + display-name: Admins + endpoints: + identifyAdmin: + auth: true + display-name: Identify an admin + docs: > + + 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. + examples: + - name: Successful response + response: + body: + app: + created_at: 1734537243 + id_code: this_is_an_id1_that_should_be_at_least_40 + identity_verification: false + name: MyApp 1 + region: US + timezone: America/Los_Angeles + type: app + avatar: + image_url: >- + https://static.intercomassets.com/assets/default-avatars/admins/128.png + type: avatar + away_mode_enabled: false + away_mode_reassign: false + email: admin1@email.com + email_verified: true + has_inbox_seat: true + id: '991267459' + job_title: Associate + name: Ciaran1 Lee + team_ids: + - 814865 + type: admin + method: GET + path: /me + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listActivityLogs: + auth: true + display-name: List all activity logs + docs: You can get a log of activities by all admins in an app. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + query-parameters: + created_at_after: '1677253093' + created_at_before: '1677861493' + response: + body: + activity_logs: + - activity_description: Ciaran5 Lee changed your app name from before to after. + activity_type: app_name_change + created_at: 1734537253 + id: fca05814-4b72-4dce-ad4f-77a786a2c136 + performed_by: + email: admin5@email.com + id: '991267464' + ip: 127.0.0.1 + type: admin + - activity_description: >- + Ciaran5 Lee changed your Initial message title message from + Initial message title to Eventual message title. + activity_type: message_state_change + created_at: 1734537253 + id: f48c653b-0185-48ac-a276-23d11006bafb + performed_by: + email: admin5@email.com + id: '991267464' + ip: 127.0.0.1 + type: admin + pages: + page: 1 + per_page: 20 + total_pages: 1 + type: pages + type: activity_log.list + method: GET + path: /admins/activity_logs + request: + name: ListActivityLogsRequest + query-parameters: + created_at_after: + docs: >- + The start date that you request data for. It must be formatted as + a UNIX timestamp. + type: string + created_at_before: + docs: >- + The end date that you request data for. It must be formatted as a + UNIX timestamp. + type: optional + response: + docs: Successful response + status-code: 200 + type: unstableRoot.ActivityLogList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listAdmins: + auth: true + display-name: List all admins + docs: You can fetch a list of admins for a given workspace. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + response: + body: + admins: + - avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin7@email.com + has_inbox_seat: true + id: '991267466' + job_title: Associate + name: Ciaran7 Lee + team_ids: + - 814865 + type: admin + type: admin.list + method: GET + path: /admins + response: + docs: Successful response + status-code: 200 + type: unstableRoot.AdminList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveAdmin: + auth: true + display-name: Retrieve an admin + docs: You can retrieve the details of a single admin. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Admin found + path-parameters: + id: 1 + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + email: admin9@email.com + has_inbox_seat: true + id: '991267468' + job_title: Associate + name: Ciaran9 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + method: GET + path: /admins/{id} + request: + name: RetrieveAdminRequest + path-parameters: + id: + docs: The unique identifier of a given admin + type: integer + response: + docs: Admin found + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + setAwayAdmin: + auth: true + display-name: Set an admin to away + docs: You can set an Admin as away for the Inbox. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + - name: Admin not found + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + - name: Unauthorized + path-parameters: + id: 1 + request: + away_mode_enabled: true + away_mode_reassign: true + response: + body: + avatar: https://picsum.photos/200/300 + away_mode_enabled: true + away_mode_reassign: true + away_status_reason_id: 12345 + email: admin2@email.com + has_inbox_seat: true + id: '991267460' + job_title: Associate + name: Ciaran2 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + method: PUT + path: /admins/{id}/away + request: + body: + properties: + away_mode_enabled: + default: true + docs: Set to "true" to change the status of the admin to away. + type: boolean + away_mode_reassign: + default: false + docs: >- + Set to "true" to assign any new conversation replies to your + default inbox. + type: boolean + away_status_reason_id: + docs: The unique identifier of the away status reason + type: optional + content-type: application/json + name: SetAwayAdminRequest + path-parameters: + id: + docs: The unique identifier of a given admin + type: integer + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiAgent.yml b/fern/.definition/unstable/aiAgent.yml new file mode 100644 index 0000000..85ecb4b --- /dev/null +++ b/fern/.definition/unstable/aiAgent.yml @@ -0,0 +1,56 @@ +imports: + unstableRoot: __package__.yml +types: + AiAgent: + docs: Data related to AI Agent involvement in the conversation. + properties: + content_sources: + type: optional + created_at: + docs: The time when the AI agent rating was created. + type: optional + last_answer_type: + docs: >- + The type of the last answer delivered by AI Agent. If no answer was + delivered then this will return `null` + type: optional + rating: + docs: The customer satisfaction rating given to AI Agent, from 1-5. + type: optional + rating_remark: + docs: The customer satisfaction rating remark given to AI Agent. + type: optional + resolution_state: + docs: >- + The resolution state of AI Agent. If no AI or custom answer has been + delivered then this will return `null`. + type: optional + source_title: + docs: >- + The title of the source that triggered AI Agent involvement in the + conversation. If this is `essentials_plan_setup` then it will return + `null`. + type: optional + source_type: + docs: >- + The type of the source that triggered AI Agent involvement in the + conversation. + type: optional + updated_at: + docs: The time when the AI agent rating was last updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AiAgentSourceType: + docs: >- + The type of the source that triggered AI Agent involvement in the + conversation. + enum: + - essentials_plan_setup + - profile + - workflow + - workflow_preview + - fin_preview + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiContent.yml b/fern/.definition/unstable/aiContent.yml new file mode 100644 index 0000000..1c4d9ef --- /dev/null +++ b/fern/.definition/unstable/aiContent.yml @@ -0,0 +1,773 @@ +imports: + unstableRoot: __package__.yml +types: + ContentImportSource: + docs: >- + An external source for External Pages that you add to your Fin Content + Library. + properties: + created_at: + docs: The time when the content import source was created. + type: integer + id: + docs: >- + The unique identifier for the content import source which is given by + Intercom. + type: integer + last_synced_at: + docs: The time when the content import source was last synced. + type: integer + status: + default: active + docs: The status of the content import source. + type: ContentImportSourceStatus + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, this + should be set to `api`. + type: ContentImportSourceSyncBehavior + type: + docs: Always external_page + type: literal<"content_import_source"> + updated_at: + docs: The time when the content import source was last updated. + type: integer + url: + docs: The URL of the root of the external source. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContentImportSourcesList: + docs: This will return a list of the content import sources for the App. + properties: + data: + docs: An array of Content Import Source objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of content import sources. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContentImportSourceStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContentImportSourceSyncBehavior: + docs: >- + If you intend to create or update External Pages via the API, this should + be set to `api`. + enum: + - api + - automatic + - manual + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateContentImportSourceRequestStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ExternalPage: + docs: External pages that you have added to your Fin Content Library. + properties: + ai_agent_availability: + docs: >- + Whether the external page should be used to answer questions by AI + Agent. + type: boolean + ai_copilot_availability: + docs: >- + Whether the external page should be used to answer questions by AI + Copilot. + type: boolean + created_at: + docs: The time when the external page was created. + type: integer + external_id: + docs: >- + The identifier for the external page which was given by the source. + Must be unique for the source. + type: string + fin_availability: + docs: >- + Deprecated. Use ai_agent_availability and ai_copilot_availability + instead. + type: optional + html: + docs: The body of the external page in HTML. + type: string + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + last_ingested_at: + docs: The time when the external page was last ingested. + type: integer + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which was + given by Intercom. Every external page must be associated with a + Content Import Source which represents the place it comes from and + from which it inherits a default audience (configured in the UI). For + a new source, make a POST request to the Content Import Source + endpoint and an ID for the source will be returned in the response. + type: integer + title: + docs: The title of the external page. + type: string + type: + docs: Always external_page + type: literal<"external_page"> + updated_at: + docs: The time when the external page was last updated. + type: integer + url: + docs: >- + The URL of the external page. This will be used by Fin to link end + users to the page it based its answer on. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ExternalPagesList: + docs: This will return a list of external pages for the App. + properties: + data: + docs: An array of External Page objects + type: optional> + pages: + type: optional + total_count: + docs: A count of the total number of external pages. + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateContentImportSourceRequestStatus: + default: active + docs: The status of the content import source. + enum: + - active + - deactivated + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateContentImportSourceRequestSyncBehavior: + docs: >- + If you intend to create or update External Pages via the API, this should + be set to `api`. You can not change the value to or from api. + enum: + - api + - automated + - manual + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: > + With the AI Content APIs, you can create and manage External Pages and Content + Import Sources for your Fin Content Library. + + +   + + + *External Pages* are pages that you want Fin to be able to answer questions + about. The API for External Pages is a great way to ingest into your Fin + Content Library pages that are not publicly accessible and hence can't be + crawled by Intercom. + + +   + + + *Content Import Sources* are the sources of those pages, and they are used to + determine the default audience for the pages (configured via the UI). You + should create a Content Import Source for each source of External Pages that + you want to ingest into your Fin Content Library. + + +   + + + You can then iterate through the content from that source via its API and POST + it to the External Pages endpoint. That endpoint has an *external_id* + parameter which allows you to specify the identifier from the source. The + endpoint will then either create a new External Page or update an existing one + as appropriate.", +service: + auth: false + base-path: '' + display-name: AI Content + endpoints: + createContentImportSource: + auth: true + display-name: Create a content import source + docs: >- + You can create a new content import source by sending a POST request to + this endpoint. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + sync_behavior: api + url: https://www.example.com + response: + body: + created_at: 1734537261 + id: 36 + last_synced_at: 1734537261 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537261 + url: https://www.example.com + method: POST + path: /ai/content_import_sources + request: + body: + properties: + status: + default: active + docs: The status of the content import source. + type: optional + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, + this should be set to `api`. + type: literal<"api"> + url: + docs: The URL of the content import source. + type: string + content-type: application/json + name: CreateContentImportSourceRequest + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/0/api.intercom.io.yaml + createExternalPage: + auth: true + display-name: Create an external page (or update an external page by external ID) + docs: >- + You can create a new external page by sending a POST request to this + endpoint. If an external page already exists with the specified + source_id and external_id, it will be updated instead. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + external_id: abc1234 + html:

Test

+ locale: en + source_id: 44 + title: Test + url: https://www.example.com + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537273 + external_id: abc1234 + fin_availability: true + html:

Test

+ id: '21' + last_ingested_at: 1734537274 + locale: en + source_id: 44 + title: Test + type: external_page + updated_at: 1734537274 + url: https://www.example.com + method: POST + path: /ai/external_pages + request: + body: + properties: + ai_agent_availability: + default: false + docs: >- + Whether the external page should be used to answer questions by + AI Agent. Will not default when updating an existing external + page. + type: optional + ai_copilot_availability: + default: false + docs: >- + Whether the external page should be used to answer questions by + AI Copilot. Will not default when updating an existing external + page. + type: optional + external_id: + docs: >- + The identifier for the external page which was given by the + source. Must be unique for the source. + type: string + html: + docs: The body of the external page in HTML. + type: string + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which + was given by Intercom. Every external page must be associated + with a Content Import Source which represents the place it comes + from and from which it inherits a default audience (configured + in the UI). For a new source, make a POST request to the Content + Import Source endpoint and an ID for the source will be returned + in the response. + type: integer + title: + docs: The title of the external page. + type: string + url: + docs: >- + The URL of the external page. This will be used by Fin to link + end users to the page it based its answer on. When a URL is not + present, Fin will not reference the source. + type: optional + content-type: application/json + name: CreateExternalPageRequest + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteContentImportSource: + auth: true + display-name: Delete a content import source + docs: >- + You can delete a content import source by making a DELETE request this + endpoint. This will also delete all external pages that were imported + from this source. + errors: + - unstableRoot.UnauthorizedError + examples: + - path-parameters: + id: id + method: DELETE + path: /ai/content_import_sources/{id} + request: + name: DeleteContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteExternalPage: + auth: true + display-name: Delete an external page + docs: >- + Sending a DELETE request for an external page will remove it from the + content library UI and from being used for AI answers. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537276 + external_id: '4' + fin_availability: true + html: '' + id: '22' + last_ingested_at: 1734537276 + locale: en + source_id: 45 + title: My External Content + type: external_page + updated_at: 1734537276 + url: https://support.example.com/us/5 + method: DELETE + path: /ai/external_pages/{id} + request: + name: DeleteExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getContentImportSource: + auth: true + display-name: Retrieve a content import source + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + created_at: 1734537265 + id: 38 + last_synced_at: 1734537265 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537265 + url: https://support.example.com/us/5 + method: GET + path: /ai/content_import_sources/{id} + request: + name: GetContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getExternalPage: + auth: true + display-name: Retrieve an external page + docs: You can retrieve an external page. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537278 + external_id: '5' + fin_availability: true + html:

Hello world

This is external content

+ id: '23' + last_ingested_at: 1734537278 + locale: en + source_id: 46 + title: My External Content + type: external_page + updated_at: 1734537278 + url: https://support.example.com/us/6 + method: GET + path: /ai/external_pages/{id} + request: + name: GetExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listContentImportSources: + auth: true + display-name: List content import sources + docs: You can retrieve a list of all content import sources for a workspace. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - created_at: 1734537259 + id: 33 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/1 + - created_at: 1734537259 + id: 34 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/2 + - created_at: 1734537259 + id: 35 + last_synced_at: 1734537259 + status: active + sync_behavior: automatic + type: content_import_source + updated_at: 1734537259 + url: https://support.example.com/us/3 + pages: + next: next + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 3 + type: list + method: GET + path: /ai/content_import_sources + response: + docs: successful + status-code: 200 + type: ContentImportSourcesList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listExternalPages: + auth: true + display-name: List external pages + docs: You can retrieve a list of all external pages for a workspace. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '3' + fin_availability: true + html:

Hello world

This is external content

+ id: '19' + last_ingested_at: 1734537269 + locale: en + source_id: 42 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/3 + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '2' + fin_availability: true + html:

Hello world

This is external content

+ id: '18' + last_ingested_at: 1734537269 + locale: en + source_id: 41 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/2 + - ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537269 + external_id: '1' + fin_availability: true + html:

Hello world

This is external content

+ id: '17' + last_ingested_at: 1734537269 + locale: en + source_id: 40 + title: My External Content + type: external_page + updated_at: 1734537269 + url: https://support.example.com/us/1 + pages: + next: next + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 3 + type: list + method: GET + path: /ai/external_pages + response: + docs: successful + status-code: 200 + type: ExternalPagesList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateContentImportSource: + auth: true + display-name: Update a content import source + docs: You can update an existing content import source. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + request: + sync_behavior: api + url: https://www.example.com + response: + body: + created_at: 1734537267 + id: 39 + last_synced_at: 1734537267 + status: active + sync_behavior: api + type: content_import_source + updated_at: 1734537267 + url: https://www.example.com + method: PUT + path: /ai/content_import_sources/{id} + request: + body: + properties: + status: + default: active + docs: The status of the content import source. + type: optional + sync_behavior: + docs: >- + If you intend to create or update External Pages via the API, + this should be set to `api`. You can not change the value to or + from api. + type: UpdateContentImportSourceRequestSyncBehavior + url: + docs: >- + The URL of the content import source. This may only be different + from the existing value if the sync behavior is API. + type: string + content-type: application/json + name: UpdateContentImportSourceRequest + path-parameters: + id: + docs: >- + The unique identifier for the content import source which is given + by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ContentImportSource + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateExternalPage: + auth: true + display-name: Update an external page + docs: >- + You can update an existing external page (if it was created via the + API). + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: id + request: + external_id: '5678' + html:

Test

+ locale: en + source_id: 47 + title: Test + url: https://www.example.com + response: + body: + ai_agent_availability: true + ai_copilot_availability: true + created_at: 1734537280 + external_id: '5678' + fin_availability: true + html:

Test

+ id: '24' + last_ingested_at: 1734537281 + locale: en + source_id: 47 + title: Test + type: external_page + updated_at: 1734537281 + url: https://www.example.com + method: PUT + path: /ai/external_pages/{id} + request: + body: + properties: + external_id: + docs: >- + The identifier for the external page which was given by the + source. Must be unique for the source. + type: optional + fin_availability: + default: true + docs: >- + Whether the external page should be used to answer questions by + Fin. + type: optional + html: + docs: The body of the external page in HTML. + type: string + locale: + docs: Always en + type: literal<"en"> + source_id: + docs: >- + The unique identifier for the source of the external page which + was given by Intercom. Every external page must be associated + with a Content Import Source which represents the place it comes + from and from which it inherits a default audience (configured + in the UI). For a new source, make a POST request to the Content + Import Source endpoint and an ID for the source will be returned + in the response. + type: integer + title: + docs: The title of the external page. + type: string + url: + docs: >- + The URL of the external page. This will be used by Fin to link + end users to the page it based its answer on. + type: string + content-type: application/json + name: UpdateExternalPageRequest + path-parameters: + id: + docs: >- + The unique identifier for the external page which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: ExternalPage + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiContentSource.yml b/fern/.definition/unstable/aiContentSource.yml new file mode 100644 index 0000000..a8345a3 --- /dev/null +++ b/fern/.definition/unstable/aiContentSource.yml @@ -0,0 +1,29 @@ +types: + ContentSource: + docs: The content source used by AI Agent in the conversation. + properties: + content_type: + docs: The type of the content source. + type: optional + locale: + docs: The ISO 639 language code of the content source. + type: optional + title: + docs: The title of the content source. + type: optional + url: + docs: The internal URL linking to the content source for teammates. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContentSourceContentType: + docs: The type of the content source. + enum: + - file + - article + - external_content + - content_snippet + - workflow_connector_action + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/articles.yml b/fern/.definition/unstable/articles.yml new file mode 100644 index 0000000..8178da8 --- /dev/null +++ b/fern/.definition/unstable/articles.yml @@ -0,0 +1,810 @@ +imports: + unstableInternalArticles: internalArticles.yml + unstableRoot: __package__.yml +types: + Article: + docs: >- + The Articles API is a central place to gather all information and take + actions on your articles. Articles can live within collections and + sections, or alternatively they can stand alone. + extends: + - ArticleListItem + properties: + statistics: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleListItem: + docs: The data returned about your articles when you list them. + properties: + author_id: + docs: >- + 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. + type: optional + body: + docs: >- + The body of the article in HTML. For multilingual articles, this will + be the body of the default language's content. + type: optional + created_at: + docs: >- + The time when the article was created. For multilingual articles, this + will be the timestamp of creation of the default language's content in + seconds. + type: optional + default_locale: + docs: >- + The default locale of the help center. This field is only returned for + multilingual help centers. + type: optional + description: + docs: >- + The description of the article. For multilingual articles, this will + be the description of the default language's content. + type: optional + id: + docs: The unique identifier for the article which is given by Intercom. + type: optional + parent_id: + docs: >- + The id of the article's parent collection or section. An article + without this field stands alone. + type: optional + parent_ids: + docs: >- + The ids of the article's parent collections or sections. An article + without this field stands alone. + type: optional> + parent_type: + docs: The type of parent, which can either be a `collection` or `section`. + type: optional + state: + default: draft + docs: >- + Whether the article is `published` or is a `draft`. For multilingual + articles, this will be the state of the default language's content. + type: optional + title: + docs: >- + The title of the article. For multilingual articles, this will be the + title of the default language's content. + type: optional + translated_content: + type: optional + type: + docs: The type of object - `article`. + type: optional> + updated_at: + docs: >- + The time when the article was last updated. For multilingual articles, + this will be the timestamp of last update of the default language's + content in seconds. + type: optional + url: + docs: >- + The URL of the article. For multilingual articles, this will be the + URL of the default language's content. + type: optional + workspace_id: + docs: The id of the workspace which the article belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleListItemState: + default: draft + docs: >- + Whether the article is `published` or is a `draft`. For multilingual + articles, this will be the state of the default language's content. + enum: + - published + - draft + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchHighlights: + docs: >- + The highlighted results of an Article search. In the examples provided my + search query is always "my query". + properties: + article_id: + docs: The ID of the corresponding article. + type: optional + highlighted_summary: + docs: An Article description and body text highlighted. + type: >- + optional>> + highlighted_title: + docs: An Article title highlighted. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedSummaryItemItem: + docs: An instance of highlighted summary text. + inline: true + properties: + text: + docs: The text of the title. + type: optional + type: + docs: The type of text - `highlight` or `plain`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedSummaryItemItemType: + docs: The type of text - `highlight` or `plain`. + enum: + - highlight + - plain + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedTitleItem: + docs: A highlighted article title. + inline: true + properties: + text: + docs: The text of the title. + type: optional + type: + docs: The type of text - `highlight` or `plain`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchHighlightsHighlightedTitleItemType: + docs: The type of text - `highlight` or `plain`. + enum: + - highlight + - plain + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchResponse: + docs: The results of an Article search + properties: + data: + docs: An object containing the results of the search. + type: optional + pages: + type: optional + total_count: + docs: The total number of Articles matching the search query + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ArticleSearchResponseData: + docs: An object containing the results of the search. + inline: true + properties: + articles: + docs: An array of Article objects + type: optional> + highlights: + docs: A corresponding array of highlighted Article content + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + InternalArticle: + docs: >- + The Internal Articles API is a central place to gather all information and + take actions on your internal articles. + type: unstableInternalArticles.InternalArticleListItem +docs: Everything about your Articles +service: + auth: false + base-path: '' + display-name: Articles + endpoints: + createArticle: + auth: true + display-name: Create an article + docs: >- + You can create a new article by making a POST request to + `https://api.intercom.io/articles`. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + method: POST + path: /articles + request: + body: unknown + content-type: application/json + response: + docs: article created + status-code: 200 + type: Article + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteArticle: + auth: true + display-name: Delete an article + docs: >- + You can delete a single article by making a DELETE request to + `https://api.intercom.io/articles/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '51' + object: article + method: DELETE + path: /articles/{id} + request: + name: DeleteArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: unstableRoot.DeletedArticleObject + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listArticles: + auth: true + display-name: List all articles + docs: > + 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. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - author_id: 991267492 + body: '' + created_at: 1734537283 + default_locale: en + description: '' + id: '39' + parent_id: 143 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + title: This is the article title + type: article + updated_at: 1734537283 + url: >- + http://help-center.test/myapp-64/en/articles/39-this-is-the-article-title + workspace_id: this_is_an_id64_that_should_be_at_least_4 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 25 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /articles + response: + docs: successful + status-code: 200 + type: unstableRoot.ArticleList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveArticle: + auth: true + display-name: Retrieve an article + docs: >- + You can fetch the details of a single article by making a GET request to + `https://api.intercom.io/articles/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Article found + path-parameters: + id: 1 + response: + body: + author_id: 991267502 + body: '' + created_at: 1734537292 + default_locale: en + description: '' + id: '45' + parent_id: 148 + parent_ids: + - 18 + - 19 + parent_type: collection + state: published + statistics: + conversions: 0 + happy_reaction_percentage: 0 + neutral_reaction_percentage: 0 + reactions: 0 + sad_reaction_percentage: 0 + type: article_statistics + views: 0 + title: This is the article title + translated_content: + ar: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bg: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + bs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ca: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + cs: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + da: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + de: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + el: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + en: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + es: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + et: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + fr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + he: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + hu: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + id: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + it: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ja: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ko: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + lv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + mn: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nb: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + nl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + pt-BR: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ro: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + ru: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sl: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + sv: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + tr: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article_translated_content + vi: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-CN: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + zh-TW: + author_id: 1 + body: This is the body of the article. + created_at: 1663597223 + description: This article will show you how to create a new article. + state: published + title: How to create a new article + type: article_content + updated_at: 1663597260 + url: http://intercom.test/help/en/articles/3-default-language + type: article + updated_at: 1734537292 + url: >- + http://help-center.test/myapp-74/en/articles/45-this-is-the-article-title + workspace_id: this_is_an_id74_that_should_be_at_least_4 + method: GET + path: /articles/{id} + request: + name: RetrieveArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: Article found + status-code: 200 + type: Article + source: + openapi: ../descriptions/0/api.intercom.io.yaml + searchArticles: + auth: true + display-name: Search for articles + docs: >- + You can search for articles by making a GET request to + `https://api.intercom.io/articles/search`. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Search successful + query-parameters: + phrase: Getting started + state: published + response: + body: + data: + articles: + - author_id: 991267521 + body: '' + created_at: 1734537306 + default_locale: en + description: '' + id: '55' + parent_ids: + - 18 + - 19 + state: draft + title: Title 1 + type: article + updated_at: 1734537306 + workspace_id: this_is_an_id92_that_should_be_at_least_4 + highlights: + - article_id: '123' + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /articles/search + request: + name: SearchArticlesRequest + query-parameters: + help_center_id: + docs: The ID of the Help Center to search in. + type: optional + highlight: + docs: >- + Return a highlighted version of the matching content within your + articles. Refer to the response schema for more details. + type: optional + phrase: + docs: The phrase within your articles to search for. + type: optional + state: + docs: >- + The state of the Articles returned. One of `published`, `draft` or + `all`. + type: optional + response: + docs: Search successful + status-code: 200 + type: ArticleSearchResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/awayStatusReasons.yml b/fern/.definition/unstable/awayStatusReasons.yml new file mode 100644 index 0000000..64eaf4b --- /dev/null +++ b/fern/.definition/unstable/awayStatusReasons.yml @@ -0,0 +1,37 @@ +imports: + unstableRoot: __package__.yml +docs: Everything about your Away Status Reasons +service: + auth: false + base-path: '' + display-name: Away Status Reasons + endpoints: + listAwayStatusReasons: + auth: true + display-name: List all away status reasons + docs: >- + Returns a list of all away status reasons configured for the workspace, + including deleted ones. + errors: + - unstableRoot.UnauthorizedError + examples: + - response: + body: + - created_at: 1734537243 + deleted: false + emoji: ☕ + id: id + label: On a break + order: 1 + type: away_status_reason + updated_at: 1734537243 + method: GET + path: /away_status_reasons + response: + docs: Successful response + status-code: 200 + type: list + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/brands.yml b/fern/.definition/unstable/brands.yml new file mode 100644 index 0000000..738eac4 --- /dev/null +++ b/fern/.definition/unstable/brands.yml @@ -0,0 +1,123 @@ +imports: + unstableRoot: __package__.yml +types: + Brand: + docs: Represents a branding configuration for the workspace + properties: + created_at: + docs: Unix timestamp of brand creation + type: optional + default_address_settings_id: + docs: Default email settings ID for this brand + type: optional + help_center_id: + docs: Associated help center identifier + type: optional + id: + docs: Unique brand identifier. For default brand, matches the workspace ID + type: optional + is_default: + docs: Whether this is the workspace's default brand + type: optional + name: + docs: Display name of the brand + type: optional + type: + docs: The type of object + type: optional + updated_at: + docs: Unix timestamp of last modification + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + BrandList: + docs: A list of brands + properties: + data: + type: optional> + type: + docs: The type of object + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Brands +service: + auth: false + base-path: '' + display-name: Brands + endpoints: + listBrands: + auth: true + display-name: List all brands + docs: | + Retrieves all brands for the workspace, including the default brand. + The default brand id always matches the workspace + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + response: + body: + data: + - created_at: 1673778600 + default_address_settings_id: '13' + help_center_id: '11' + id: tlkp1d91 + is_default: true + name: Default Brand + type: brand + updated_at: 1711031100 + - created_at: 1686387300 + default_address_settings_id: '15' + help_center_id: '10' + id: '3' + is_default: false + name: Premium Brand + type: brand + updated_at: 1709229600 + type: list + method: GET + path: /brands + response: + docs: Successful response + status-code: 200 + type: BrandList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveBrand: + auth: true + display-name: Retrieve a brand + docs: Fetches a specific brand by its unique identifier + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: id + response: + body: + created_at: 1686387300 + default_address_settings_id: '15' + help_center_id: '20' + id: '15' + is_default: false + name: Premium Brand + type: brand + updated_at: 1709229600 + method: GET + path: /brands/{id} + request: + name: RetrieveBrandRequest + path-parameters: + id: + docs: The unique identifier of the brand + type: string + response: + docs: Successful response + status-code: 200 + type: Brand + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/calls.yml b/fern/.definition/unstable/calls.yml new file mode 100644 index 0000000..dea3950 --- /dev/null +++ b/fern/.definition/unstable/calls.yml @@ -0,0 +1,291 @@ +imports: + unstableRoot: __package__.yml +types: + Call: + docs: Represents a phone call in Intercom + properties: + admin_id: + docs: The id of the admin associated with the call, if any. + type: optional + answered_at: + type: optional + call_type: + docs: The type of call. + type: optional + contact_id: + docs: The id of the contact associated with the call, if any. + type: optional + conversation_id: + docs: The id of the conversation associated with the call, if any. + type: optional + created_at: + type: optional + direction: + docs: The direction of the call. + type: optional + ended_at: + type: optional + ended_reason: + docs: The reason for the call end, if applicable. + type: optional + fin_recording_url: + docs: API URL to the AI Agent (Fin) call recording if available. + type: optional + validation: + format: uri + fin_transcription_url: + docs: API URL to the AI Agent (Fin) call transcript if available. + type: optional + validation: + format: uri + id: + docs: The id of the call. + type: optional + initiated_at: + type: optional + phone: + docs: The phone number involved in the call, in E.164 format. + type: optional + recording_url: + docs: API URL to download or redirect to the call recording if available. + type: optional + validation: + format: uri + state: + docs: The current state of the call. + type: optional + type: + docs: String representing the object's type. Always has the value `call`. + type: optional + updated_at: + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ListCallsWithTranscriptsResponse: + properties: + data: optional> + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ListCallsWithTranscriptsResponseDataItem: + extends: + - Call + inline: true + properties: + transcript: + docs: The call transcript if available, otherwise an empty array. + type: optional>> + transcript_status: + docs: The status of the transcript if available. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + listCalls: + auth: true + display-name: List all calls + docs: | + Retrieve a paginated list of calls. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - admin_id: '789' + answered_at: '2024-01-15T09:30:00Z' + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '456' + created_at: '2024-01-15T09:30:00Z' + direction: outbound + ended_at: '2024-01-15T09:30:00Z' + ended_reason: completed + fin_recording_url: fin_recording_url + fin_transcription_url: fin_transcription_url + id: '123' + initiated_at: '2024-01-15T09:30:00Z' + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + type: call + updated_at: '2024-01-15T09:30:00Z' + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 25 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /calls + request: + name: ListCallsRequest + query-parameters: + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to display per page. Defaults to 25. Max 25. + type: optional + response: + docs: successful + status-code: 200 + type: unstableRoot.CallList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listCallsWithTranscripts: + auth: true + display-name: List calls with transcripts + docs: > + Retrieve calls by a list of conversation ids and include transcripts + when available. + + A maximum of 20 `conversation_ids` can be provided. If none are provided + or more than 20 are provided, a 400 error is returned. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + conversation_ids: + - '64619700005694' + - '64619700005695' + response: + body: + data: + - admin_id: '789' + answered_at: '2024-01-15T09:30:00Z' + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '64619700005694' + created_at: '2024-01-15T09:30:00Z' + direction: outbound + ended_at: '2024-01-15T09:30:00Z' + ended_reason: completed + fin_recording_url: fin_recording_url + fin_transcription_url: fin_transcription_url + id: '123' + initiated_at: '2024-01-15T09:30:00Z' + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + transcript: + - key: value + transcript_status: completed + type: call + updated_at: '2024-01-15T09:30:00Z' + type: list + method: POST + path: /calls/search + request: + body: + properties: + conversation_ids: + docs: A list of conversation ids to fetch calls for. Maximum 20. + type: list + content-type: application/json + name: ListCallsWithTranscriptsRequest + response: + docs: successful + status-code: 200 + type: ListCallsWithTranscriptsResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + showCall: + auth: true + display-name: Get a call + docs: Retrieve a single call by id. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: id + response: + body: + admin_id: '789' + answered_at: 1734537440 + call_type: phone + contact_id: 6762f0dd1bb69f9f2193bb83 + conversation_id: '456' + created_at: 1734537437 + direction: outbound + ended_at: 1734537530 + ended_reason: answered + fin_recording_url: https://api.intercom.io/calls/124/recording + fin_transcription_url: https://api.intercom.io/calls/124/transcript + id: '123' + initiated_at: 1734537437 + phone: '+15551234567' + recording_url: https://api.intercom.io/calls/123/recording + state: completed + type: call + updated_at: 1734537531 + method: GET + path: /calls/{id} + request: + name: ShowCallRequest + path-parameters: + id: + docs: The id of the call to retrieve + type: string + response: + docs: successful + status-code: 200 + type: Call + source: + openapi: ../descriptions/0/api.intercom.io.yaml + showCallRecording: + auth: true + display-name: Get call recording by call id + docs: Redirects to a signed URL for the call's recording if it exists. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - path-parameters: + id: id + method: GET + path: /calls/{id}/recording + request: + name: ShowCallRecordingRequest + path-parameters: + id: + docs: The id of the call + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + showCallTranscript: + auth: true + display-name: Get call transcript by call id + docs: > + Returns the transcript for the specified call as a downloadable text + file. + errors: + - unstableRoot.NotFoundError + method: GET + path: /calls/{id}/transcript + request: + name: ShowCallTranscriptRequest + path-parameters: + id: + docs: The id of the call + type: string + response: + docs: successful + status-code: 200 + type: text + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/companies.yml b/fern/.definition/unstable/companies.yml new file mode 100644 index 0000000..55807ac --- /dev/null +++ b/fern/.definition/unstable/companies.yml @@ -0,0 +1,901 @@ +imports: + unstableRoot: __package__.yml + unstableSegments: segments.yml +types: + Company: + docs: >- + Companies allow you to represent organizations using your product. Each + company will have its own description and be associated with contacts. You + can fetch, create, update and list companies. + properties: + app_id: + docs: >- + The Intercom defined code of the workspace the company is associated + to. + type: optional + company_id: + docs: The company id you have defined for the company. + type: optional + created_at: + docs: The time the company was added in Intercom. + type: optional + custom_attributes: + docs: The custom attributes you have set on the company. + type: optional> + id: + docs: The Intercom defined id representing the company. + type: optional + industry: + docs: The industry that the company operates in. + type: optional + last_request_at: + docs: The time the company last recorded making a request. + type: optional + monthly_spend: + docs: How much revenue the company generates for your business. + type: optional + name: + docs: The name of the company. + type: optional + plan: + type: optional + remote_created_at: + docs: The time the company was created by you. + type: optional + segments: + docs: The list of segments associated with the company + type: optional + session_count: + docs: How many sessions the company has recorded. + type: optional + size: + docs: The number of employees in the company. + type: optional + tags: + docs: The list of tags associated with the company + type: optional + type: + docs: Value is `company` + type: optional> + updated_at: + docs: The last time the company was updated. + type: optional + user_count: + docs: The number of users in the company. + type: optional + website: + docs: The URL for the company website. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyPlan: + inline: true + properties: + id: + docs: The id of the plan + type: optional + name: + docs: The name of the plan + type: optional + type: + docs: Value is always "plan" + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanySegments: + docs: The list of segments associated with the company + inline: true + properties: + segments: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CompanyTags: + docs: The list of tags associated with the company + inline: true + properties: + tags: optional> + type: + docs: The type of the object + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Companies +service: + auth: false + base-path: '' + display-name: Companies + endpoints: + attachContactToACompany: + auth: true + display-name: Attach a Contact to a Company + docs: You can attach a company to a single contact. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: id + request: + company_id: 6762f09a1bb69f9f2193bb34 + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + - name: Bad Request + path-parameters: + id: id + request: + company_id: 58a430d35458202d41b1e65b + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + - name: Company Not Found + path-parameters: + id: id + request: + company_id: '123' + response: + body: + app_id: this_is_an_id197_that_should_be_at_least_ + company_id: '1' + created_at: 1734537370 + custom_attributes: + key: value + id: 6762f09a1bb69f9f2193bb34 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company6 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537370 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537370 + user_count: 1 + website: https://www.intercom.com + method: POST + path: /contacts/{id}/companies + request: + body: + properties: + company_id: + docs: The unique identifier for the company which is given by Intercom + type: string + content-type: application/json + name: AttachContactToACompanyRequest + path-parameters: + id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/0/api.intercom.io.yaml + createOrUpdateCompany: + auth: true + display-name: Create or Update a company + docs: > + You can create or update a company. + + + Companies will be only visible in Intercom when there is at least one + associated user. + + + Companies are looked up via `company_id` in a `POST` request, if not + found via `company_id`, the new company will be created, if found, that + company will be updated. + + + {% admonition type="warning" name="Using `company_id`" %} + You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. + {% /admonition %} + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + method: POST + path: /companies + request: + body: unknown + content-type: application/json + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteCompany: + auth: true + display-name: Delete a company + docs: You can delete a single company. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + deleted: true + id: 6762f0881bb69f9f2193bb09 + object: company + method: DELETE + path: /companies/{id} + request: + name: DeleteCompanyRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: unstableRoot.DeletedCompanyObject + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachContactFromACompany: + auth: true + display-name: Detach a contact from a company + docs: You can detach a company from a single contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 58a430d35458202d41b1e65b + id: 58a430d35458202d41b1e65b + response: + body: + app_id: this_is_an_id205_that_should_be_at_least_ + company_id: '1' + created_at: 1734537376 + custom_attributes: + key: value + id: 6762f0a01bb69f9f2193bb44 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company8 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537376 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537377 + user_count: 0 + website: https://www.intercom.com + method: DELETE + path: /contacts/{contact_id}/companies/{id} + request: + name: DetachContactFromACompanyRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listAllCompanies: + auth: true + display-name: List all companies + docs: > + You can list companies. The company list is sorted by the + `last_request_at` field and by default is ordered descending, most + recently requested first. + + + Note that the API does not include companies who have no associated + users in list responses. + + + When using the Companies endpoint and the pages object to iterate + through the returned companies, there is a limit of 10,000 Companies + that can be returned. If you need to list or iterate on more than 10,000 + Companies, please use the [Scroll + API](https://developers.intercom.com/reference#iterating-over-all-companies). + + {% admonition type="warning" name="Pagination" %} + You can use pagination to limit the number of results returned. The default is `20` results per page. + See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful + query-parameters: + order: desc + response: + body: + data: + - app_id: this_is_an_id189_that_should_be_at_least_ + company_id: remote_companies_scroll_2 + created_at: 1734537364 + custom_attributes: + key: value + id: 6762f0941bb69f9f2193bb25 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: IntercomQATest1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537364 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + type: tag.list + type: company + updated_at: 1734537364 + user_count: 4 + website: https://www.intercom.com + pages: + page: 1 + per_page: 15 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: POST + path: /companies/list + request: + name: ListAllCompaniesRequest + query-parameters: + order: + docs: >- + `asc` or `desc`. Return the companies in ascending or descending + order. Defaults to desc + type: optional + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to return per page. Defaults to 15 + type: optional + response: + docs: Successful + status-code: 200 + type: unstableRoot.CompanyList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ListAttachedContacts: + auth: true + display-name: List attached contacts + docs: You can fetch a list of all contacts that belong to a company. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: + type: avatar + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + formatted_phone: '+1123456789' + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 50 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /companies/{id}/contacts + request: + name: ListAttachedContactsRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: unstableRoot.CompanyAttachedContacts + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ListAttachedSegmentsForCompanies: + auth: true + display-name: List attached segments for companies + docs: You can fetch a list of all segments that belong to a company. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + data: + - count: 3 + created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + person_type: contact + type: segment + updated_at: 1394622004 + type: list + method: GET + path: /companies/{id}/segments + request: + name: ListAttachedSegmentsForCompaniesRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: unstableRoot.CompanyAttachedSegments + source: + openapi: ../descriptions/0/api.intercom.io.yaml + RetrieveACompanyById: + auth: true + display-name: Retrieve a company by ID + docs: You can fetch a single company. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + app_id: this_is_an_id159_that_should_be_at_least_ + company_id: '1' + created_at: 1734537343 + custom_attributes: + key: value + id: 6762f07f1bb69f9f2193baf5 + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537343 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537343 + user_count: 1 + website: https://www.intercom.com + method: GET + path: /companies/{id} + request: + name: RetrieveACompanyByIdRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveCompany: + auth: true + display-name: Retrieve companies + docs: > + You can fetch a single company by passing in `company_id` or `name`. + + `https://api.intercom.io/companies?name={name}` + + `https://api.intercom.io/companies?company_id={company_id}` + + You can fetch all companies and filter by `segment_id` or `tag_id` as a + query parameter. + + `https://api.intercom.io/companies?tag_id={tag_id}` + + `https://api.intercom.io/companies?segment_id={segment_id}` + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + query-parameters: + company_id: '12345' + name: my company + segment_id: '98765' + tag_id: '678910' + response: + body: + data: + - app_id: this_is_an_id153_that_should_be_at_least_ + company_id: remote_companies_scroll_2 + created_at: 1734537338 + custom_attributes: + key: value + id: 6762f07a1bb69f9f2193baea + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: IntercomQATest1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537338 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + type: tag.list + type: company + updated_at: 1734537338 + user_count: 4 + website: https://www.intercom.com + pages: + page: 1 + per_page: 15 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /companies + request: + name: RetrieveCompanyRequest + query-parameters: + company_id: + docs: The `company_id` of the company to filter by. + type: optional + name: + docs: The `name` of the company to filter by. + type: optional + page: + docs: The page of results to fetch. Defaults to first page + type: optional + per_page: + docs: How many results to display per page. Defaults to 15 + type: optional + segment_id: + docs: The `segment_id` of the company to filter by. + type: optional + tag_id: + docs: The `tag_id` of the company to filter by. + type: optional + response: + docs: Successful + status-code: 200 + type: unstableRoot.CompanyList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + scrollOverAllCompanies: + auth: true + display-name: Scroll over all companies + docs: >2 + The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. + + - Each app can only have 1 scroll open at a time. You'll get an error + message if you try to have more than one open per app. + + - If the scroll isn't used for 1 minute, it expires and calls with that + scroll param will fail + + - If the end of the scroll is reached, "companies" will be empty and the + scroll parameter will expire + + + {% admonition type="info" name="Scroll Parameter" %} + You can get the first page of companies by simply sending a GET request to the scroll endpoint. + For subsequent requests you will need to use the scroll parameter from the response. + {% /admonition %} + + {% admonition type="danger" name="Scroll network timeouts" %} + Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: + "Request failed due to an internal network error. Please restart the scroll operation." + If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - app_id: this_is_an_id193_that_should_be_at_least_ + company_id: remote_companies_scroll_2 + created_at: 1734537367 + custom_attributes: + key: value + id: 6762f0971bb69f9f2193bb2b + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: IntercomQATest1 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537367 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + type: tag.list + type: company + updated_at: 1734537367 + user_count: 4 + website: https://www.intercom.com + scroll_param: 69352cd2-ab5b-42ac-b004-a13d4e55e9b0 + type: list + method: GET + path: /companies/scroll + request: + name: ScrollOverAllCompaniesRequest + query-parameters: + scroll_param: + docs: '' + type: optional + response: + docs: Successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateCompany: + auth: true + display-name: Update a company + docs: | + You can update a single company using the Intercom provisioned `id`. + + {% admonition type="warning" name="Using `company_id`" %} + When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + response: + body: + app_id: this_is_an_id165_that_should_be_at_least_ + company_id: '1' + created_at: 1734537348 + custom_attributes: + key: value + id: 6762f0841bb69f9f2193baff + industry: Software + last_request_at: 1663597223 + monthly_spend: 0 + name: company2 + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1734537348 + segments: + segments: + - created_at: 1394621988 + id: 56203d253cba154d39010062 + name: Active + updated_at: 1394622004 + type: segment.list + session_count: 0 + size: 100 + tags: + tags: + - key: value + type: tag.list + type: company + updated_at: 1734537348 + user_count: 1 + website: https://www.intercom.com + method: PUT + path: /companies/{id} + request: + name: UpdateCompanyRequest + path-parameters: + id: + docs: The unique identifier for the company which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: Company + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/contacts.yml b/fern/.definition/unstable/contacts.yml new file mode 100644 index 0000000..4562879 --- /dev/null +++ b/fern/.definition/unstable/contacts.yml @@ -0,0 +1,1417 @@ +imports: + root: ../__package__.yml + unstableRoot: __package__.yml +types: + Contact: + docs: Contacts represent your leads and users in Intercom. + properties: + android_app_name: + docs: The name of the Android app which the contact is using. + type: optional + android_app_version: + docs: The version of the Android app which the contact is using. + type: optional + android_device: + docs: The Android device which the contact is using. + type: optional + android_last_seen_at: + docs: >- + (UNIX timestamp) The time when the contact was last seen on an Android + device. + type: optional + android_os_version: + docs: The version of the Android OS which the contact is using. + type: optional + android_sdk_version: + docs: The version of the Android SDK which the contact is using. + type: optional + avatar: + type: optional + browser: + docs: The name of the browser which the contact is using. + type: optional + browser_language: + docs: The language set by the browser which the contact is using. + type: optional + browser_version: + docs: The version of the browser which the contact is using. + type: optional + companies: + type: optional + created_at: + docs: (UNIX timestamp) The time when the contact was created. + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact. + type: optional> + email: + docs: The contact's email. + type: optional + email_domain: + docs: The contact's email domain. + type: optional + external_id: + docs: The unique identifier for the contact which is provided by the Client. + type: optional + formatted_phone: + docs: The contacts phone number normalized to the E164 format + type: optional + has_hard_bounced: + docs: Whether the contact has had an email sent to them hard bounce. + type: optional + id: + docs: The unique identifier for the contact which is given by Intercom. + type: optional + ios_app_name: + docs: The name of the iOS app which the contact is using. + type: optional + ios_app_version: + docs: The version of the iOS app which the contact is using. + type: optional + ios_device: + docs: The iOS device which the contact is using. + type: optional + ios_last_seen_at: + docs: (UNIX timestamp) The last time the contact used the iOS app. + type: optional + ios_os_version: + docs: The version of iOS which the contact is using. + type: optional + ios_sdk_version: + docs: The version of the iOS SDK which the contact is using. + type: optional + language_override: + docs: >- + A preferred language setting for the contact, used by the Intercom + Messenger even if their browser settings change. + type: optional + last_contacted_at: + docs: (UNIX timestamp) The time when the contact was last messaged. + type: optional + last_email_clicked_at: + docs: >- + (UNIX timestamp) The time when the contact last clicked a link in an + email. + type: optional + last_email_opened_at: + docs: (UNIX timestamp) The time when the contact last opened an email. + type: optional + last_replied_at: + docs: (UNIX timestamp) The time when the contact last messaged in. + type: optional + last_seen_at: + docs: >- + (UNIX timestamp) The time when the contact was last seen (either where + the Intercom Messenger was installed or when specified manually). + type: optional + location: + type: optional + marked_email_as_spam: + docs: Whether the contact has marked an email sent to them as spam. + type: optional + name: + docs: The contacts name. + type: optional + notes: + type: optional + os: + docs: The operating system which the contact is using. + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of the + contact. + type: optional + phone: + docs: The contacts phone. + type: optional + role: + docs: The role of the contact. + type: optional + signed_up_at: + docs: (UNIX timestamp) The time specified for when a contact signed up. + type: optional + social_profiles: + type: optional + tags: + type: optional + type: + docs: The type of object. + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails. + type: optional + updated_at: + docs: (UNIX timestamp) The time when the contact was last updated. + type: optional + workspace_id: + docs: The id of the workspace which the contact belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ContactAvatar: + inline: true + properties: + image_url: + docs: An image URL containing the avatar of a contact. + type: optional + validation: + format: uri + type: + docs: The type of object + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MergeContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ShowContactByExternalIdResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ShowContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateContactResponse: + extends: + - Contact + properties: + enabled_push_messaging: + docs: If the user has enabled push messaging. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your contacts +service: + auth: false + base-path: '' + display-name: Contacts + endpoints: + ArchiveContact: + auth: true + display-name: Archive contact + docs: You can archive a single contact. + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + archived: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/archive + request: + name: ArchiveContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactArchived + source: + openapi: ../descriptions/0/api.intercom.io.yaml + BlockContact: + auth: true + display-name: Block contact + docs: >- + Block a single contact.
**Note:** conversations of the contact will + also be archived during the process.
More details in [FAQ How do I + block Inbox + spam?](https://www.intercom.com/help/en/articles/8838656-inbox-faqs) + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + blocked: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/block + request: + name: BlockContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactBlocked + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateContact: + auth: true + display-name: Create contact + docs: You can create a new contact (ie. user or lead). + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + email: joebloggs@intercom.io + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/companies + created_at: 1734537437 + custom_attributes: + key: value + email: joebloggs@intercom.io + email_domain: example.com + has_hard_bounced: false + id: 6762f0dd1bb69f9f2193bb83 + location: + type: location + marked_email_as_spam: false + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/notes + role: user + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0dd1bb69f9f2193bb83/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537437 + workspace_id: this_is_an_id303_that_should_be_at_least_ + method: POST + path: /contacts + request: + body: root.CreateContactRequestTwo + content-type: application/json + response: + docs: successful + status-code: 200 + type: CreateContactResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DeleteContact: + auth: true + display-name: Delete a contact + docs: You can delete a single contact. + errors: + - unstableRoot.UnauthorizedError + examples: + - path-parameters: + id: id + response: + body: + deleted: true + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: DELETE + path: /contacts/{id} + request: + name: DeleteContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactDeleted + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listCompaniesForAContact: + auth: true + display-name: List attached companies for contact + docs: You can fetch a list of companies that are associated to a contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: custom_attributes + paid_subscriber: custom_attributes + team_mates: custom_attributes + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + plan: + id: '269315' + name: Pro + type: plan + remote_created_at: 1663597223 + session_count: 100 + size: 100 + type: company + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + pages: + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /contacts/{id}/companies + request: + name: ListCompaniesForAContactRequest + path-parameters: + id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactAttachedCompanies + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ListContacts: + auth: true + display-name: List all contacts + docs: > + You can fetch a list of all contacts (ie. users or leads) in your + workspace. + + {% admonition type="warning" name="Pagination" %} + You can use 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/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: + type: avatar + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + formatted_phone: '+1123456789' + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /contacts + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listSegmentsForAContact: + auth: true + display-name: List attached segments for contact + docs: You can fetch a list of segments that are associated to a contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - count: 3 + created_at: 1734537394 + id: 6762f0b21bb69f9f2193bb65 + name: segment + person_type: user + type: segment + updated_at: 1734537394 + type: list + method: GET + path: /contacts/{contact_id}/segments + request: + name: ListSegmentsForAContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactSegments + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listSubscriptionsForAContact: + auth: true + display-name: List subscriptions for a contact + docs: > + 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. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - consent_type: opt_out + content_types: + - email + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '91' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '93' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + type: list + method: GET + path: /contacts/{contact_id}/subscriptions + request: + name: ListSubscriptionsForAContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: unstableRoot.SubscriptionTypeList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listTagsForAContact: + auth: true + display-name: List tags attached to a contact + docs: >- + You can fetch a list of all tags that are attached to a specific + contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + response: + body: + data: + - applied_at: 1663597223 + applied_by: + type: contact + id: '80' + name: Manual tag + type: tag + type: list + method: GET + path: /contacts/{contact_id}/tags + request: + name: ListTagsForAContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.TagList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MergeContact: + auth: true + display-name: Merge a lead and a user + docs: >- + You can merge a contact with a `role` of `lead` into a contact with a + `role` of `user`. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + from: 6762f0d51bb69f9f2193bb7f + into: 6762f0d51bb69f9f2193bb80 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/companies + created_at: 1734537429 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0d51bb69f9f2193bb80 + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/notes + role: user + signed_up_at: 1734537429 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d51bb69f9f2193bb80/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537430 + workspace_id: this_is_an_id291_that_should_be_at_least_ + method: POST + path: /contacts/merge + request: + body: + properties: + from: + docs: >- + The unique identifier for the contact to merge away from. Must + be a lead. + type: optional + into: + docs: >- + The unique identifier for the contact to merge into. Must be a + user. + type: optional + content-type: application/json + name: MergeContactsRequest + response: + docs: successful + status-code: 200 + type: MergeContactResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SearchContacts: + auth: true + display-name: Search contacts + docs: > + 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 | String
Accepts user or lead | + + | name | String | + + | avatar | String | + + | owner_id | Integer | + + | email | String | + + | email_domain | String | + + | phone | String | + + | formatted_phone | String | + + | external_id | String | + + | created_at | Date (UNIX Timestamp) | + + | signed_up_at | Date (UNIX Timestamp) | + + | updated_at | Date (UNIX Timestamp) | + + | last_seen_at | Date (UNIX Timestamp) | + + | last_contacted_at | Date (UNIX Timestamp) | + + | last_replied_at | Date (UNIX Timestamp) | + + | last_email_opened_at | Date (UNIX Timestamp) | + + | last_email_clicked_at | Date (UNIX Timestamp) | + + | language_override | String | + + | browser | String | + + | browser_language | String | + + | os | String | + + | location.country | String | + + | location.region | String | + + | location.city | String | + + | unsubscribed_from_emails | Boolean | + + | marked_email_as_spam | Boolean | + + | has_hard_bounced | Boolean | + + | ios_last_seen_at | Date (UNIX Timestamp) | + + | ios_app_version | String | + + | ios_device | String | + + | ios_app_device | String | + + | ios_os_version | String | + + | ios_app_name | String | + + | ios_sdk_version | String | + + | android_last_seen_at | Date (UNIX Timestamp) | + + | android_app_version | String | + + | android_device | String | + + | android_app_name | String | + + | andoid_sdk_version | String | + + | segment_id | String | + + | tag_id | String | + + | custom_attributes.{attribute_name} | String | + + + ### Accepted Operators + + + {% admonition type="warning" name="Searching based on `created_at`" %} + You cannot use the `<=` or `>=` operators to search by `created_at`. + {% /admonition %} + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :------------------------------- | + :--------------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In
Shortcut for `OR` + queries
Values must be in Array | + + | NIN | All | Not In
Shortcut for + `OR !` queries
Values must be in Array | + + | > | Integer
Date (UNIX Timestamp) | Greater + than | + + | < | Integer
Date (UNIX Timestamp) | Lower + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + data: + - android_app_name: Intercom + android_app_version: 5.0.0 + android_device: Pixel 3 + android_last_seen_at: 1571672154 + android_os_version: '10' + android_sdk_version: '28' + avatar: + type: avatar + browser: Chrome + browser_language: en-US + browser_version: 80.0.3987.132 + companies: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/companies + created_at: 1571672154 + custom_attributes: + key: value + email: joe@example.com + email_domain: example.com + external_id: f3b87a2e09d514c6c2e79b9a + formatted_phone: '+1123456789' + has_hard_bounced: true + id: 5ba682d23d7cf92bef87bfd4 + ios_app_name: Intercom + ios_app_version: 5.0.0 + ios_device: iPhone 11 + ios_last_seen_at: 1571672154 + ios_os_version: 13.3.1 + ios_sdk_version: 13.3.1 + language_override: en + last_contacted_at: 1571672154 + last_email_clicked_at: 1571672154 + last_email_opened_at: 1571672154 + last_replied_at: 1571672154 + last_seen_at: 1571672154 + marked_email_as_spam: true + name: John Doe + notes: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + os: Mac OS X + owner_id: 123 + phone: '+1123456789' + role: user + signed_up_at: 1571672154 + tags: + has_more: true + total_count: 100 + url: /contacts/5ba682d23d7cf92bef87bfd4/tags + type: contact + unsubscribed_from_emails: true + updated_at: 1571672154 + workspace_id: ecahpwf5 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: POST + path: /contacts/search + request: + body: + type: unstableRoot.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ShowContact: + auth: true + display-name: Get a contact + docs: You can fetch the details of a single contact. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/companies + created_at: 1734537424 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0d01bb69f9f2193bb7d + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/notes + role: user + signed_up_at: 1734537424 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0d01bb69f9f2193bb7d/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537424 + workspace_id: this_is_an_id283_that_should_be_at_least_ + method: GET + path: /contacts/{id} + request: + name: ShowContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: ShowContactResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ShowContactByExternalId: + auth: true + display-name: Get a contact by External ID + docs: >- + You can fetch the details of a single contact by external ID. Note that + this endpoint only supports users and not leads. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + external_id: cdd29344-5e0c-4ef0-ac56-f9ba2979bc27 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/companies + created_at: 1734537439 + custom_attributes: + key: value + email: joe@bloggs.com + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0df1bb69f9f2193bb84 + location: + type: location + marked_email_as_spam: false + name: Joe Bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/notes + role: user + signed_up_at: 1734537439 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0df1bb69f9f2193bb84/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537439 + workspace_id: this_is_an_id307_that_should_be_at_least_ + method: GET + path: /contacts/find_by_external_id/{external_id} + request: + name: ShowContactByExternalIdRequest + path-parameters: + external_id: + docs: The external ID of the user that you want to retrieve + type: string + response: + docs: successful + status-code: 200 + type: ShowContactByExternalIdResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UnarchiveContact: + auth: true + display-name: Unarchive contact + docs: You can unarchive a single contact. + examples: + - path-parameters: + id: 63a07ddf05a32042dffac965 + response: + body: + archived: false + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + method: POST + path: /contacts/{id}/unarchive + request: + name: UnarchiveContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.ContactUnarchived + source: + openapi: ../descriptions/0/api.intercom.io.yaml + UpdateContact: + auth: true + display-name: Update a contact + docs: | + You can update an existing contact (ie. user or lead). + + {% admonition type="info" %} + This endpoint handles both **contact updates** and **custom object associations**. + + See _`update a contact with an association to a custom object instance`_ in the request/response examples to see the custom object association format. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: 63a07ddf05a32042dffac965 + request: + email: joebloggs@intercom.io + name: joe bloggs + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/companies + created_at: 1734537421 + custom_attributes: + key: value + email: joebloggs@intercom.io + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0cd1bb69f9f2193bb7c + location: + type: location + marked_email_as_spam: false + name: joe bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/notes + role: user + signed_up_at: 1734537421 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537422 + workspace_id: this_is_an_id279_that_should_be_at_least_ + - name: update a contact with an association to a custom object instance + path-parameters: + id: 63a07ddf05a32042dffac965 + request: + custom_attributes: + order: + - '21' + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/companies + created_at: 1734537421 + custom_attributes: + order: + instances: + - custom_attributes: + order_number: ORDER-12345 + total_amount: 99.99 + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '21' + type: Order + type: Order.list + email: joebloggs@intercom.io + email_domain: example.com + external_id: '70' + has_hard_bounced: false + id: 6762f0cd1bb69f9f2193bb7c + location: + type: location + marked_email_as_spam: false + name: joe bloggs + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/notes + role: user + signed_up_at: 1734537421 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f0cd1bb69f9f2193bb7c/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734537422 + workspace_id: this_is_an_id279_that_should_be_at_least_ + method: PUT + path: /contacts/{id} + request: + body: + properties: + avatar: + docs: An image URL containing the avatar of a contact + type: optional + custom_attributes: + docs: The custom attributes which are set for the contact + type: optional> + email: + docs: The contacts email + type: optional + external_id: + docs: A unique identifier for the contact which is given to Intercom + type: optional + last_seen_at: + docs: >- + The time when the contact was last seen (either where the + Intercom Messenger was installed or when specified manually) + type: optional + name: + docs: The contacts name + type: optional + owner_id: + docs: >- + The id of an admin that has been assigned account ownership of + the contact + type: optional + phone: + docs: The contacts phone + type: optional + role: + docs: The role of the contact. + type: optional + signed_up_at: + docs: The time specified for when a contact signed up + type: optional + unsubscribed_from_emails: + docs: Whether the contact is unsubscribed from emails + type: optional + content-type: application/json + name: UpdateContactRequest + path-parameters: + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: UpdateContactResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/conversations.yml b/fern/.definition/unstable/conversations.yml new file mode 100644 index 0000000..795c10c --- /dev/null +++ b/fern/.definition/unstable/conversations.yml @@ -0,0 +1,3932 @@ +imports: + unstableAiAgent: aiAgent.yml + unstableMessages: messages.yml + unstableRoot: __package__.yml + unstableTickets: tickets.yml +types: + AttachContactToConversationRequestCustomer: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: AttachContactToConversationRequestCustomerIntercomUserId + - type: AttachContactToConversationRequestCustomerUserId + - type: AttachContactToConversationRequestCustomerCustomer + AttachContactToConversationRequestCustomerCustomer: + inline: true + properties: + customer: + type: optional + email: + docs: >- + The email you have defined for the contact who is being added as a + participant. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AttachContactToConversationRequestCustomerIntercomUserId: + inline: true + properties: + customer: + type: optional + intercom_user_id: + docs: The identifier for the contact as given by Intercom. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + AttachContactToConversationRequestCustomerUserId: + inline: true + properties: + customer: + type: optional + user_id: + docs: >- + The external_id you have defined for the contact who is being added as + a participant. + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + Conversation: + docs: >- + 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. + properties: + admin_assignee_id: + docs: >- + The id of the admin assigned to the conversation. If it's not assigned + to an admin it will return null. + type: optional + ai_agent: + type: optional + ai_agent_participated: + docs: Indicates whether the AI Agent participated in the conversation. + type: optional + company_id: + docs: >- + The ID of the company that the conversation is associated with. The + unique identifier for the company which is given by Intercom. + type: optional + contacts: + type: optional + conversation_parts: + type: optional + conversation_rating: + type: optional + created_at: + docs: The time the conversation was created. + type: optional + custom_attributes: + type: optional + first_contact_reply: + type: optional + id: + docs: The id representing the conversation. + type: optional + linked_objects: + type: optional + open: + docs: Indicates whether a conversation is open (true) or closed (false). + type: optional + priority: + docs: If marked as priority, it will return priority or else not_priority. + type: optional + read: + docs: Indicates whether a conversation has been read. + type: optional + sla_applied: + type: optional + snoozed_until: + docs: >- + If set this is the time in the future when this conversation will be + marked as open. i.e. it will be in a snoozed state until this time. + i.e. it will be in a snoozed state until this time. + type: optional + source: + type: optional + state: + docs: Can be set to "open", "closed" or "snoozed". + type: optional + statistics: + type: optional + tags: + type: optional + team_assignee_id: + docs: >- + The id of the team assigned to the conversation. If it's not assigned + to a team it will return null. + type: optional + teammates: + type: optional + title: + docs: The title given to the conversation. + type: optional + type: + docs: Always conversation. + type: optional + updated_at: + docs: The last time the conversation was updated. + type: optional + waiting_since: + docs: >- + The last time a Contact responded to an Admin. In other words, the + time a customer started waiting for a response. Set to null if last + reply is from an Admin. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationPriority: + docs: If marked as priority, it will return priority or else not_priority. + enum: + - priority + - not_priority + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ConversationState: + docs: Can be set to "open", "closed" or "snoozed". + enum: + - open + - closed + - snoozed + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateConversationRequestFrom: + inline: true + properties: + id: + docs: The identifier for the contact which is given by Intercom. + type: string + validation: + format: uuid + maxLength: 24 + minLength: 24 + type: + docs: The role associated to the contact - user or lead. + type: CreateConversationRequestFromType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + CreateConversationRequestFromType: + docs: The role associated to the contact - user or lead. + enum: + - lead + - user + - contact + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ManageConversationRequestBody: + base-properties: {} + discriminant: message_type + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + assignment: + type: unstableRoot.AssignConversationRequest + close: + type: unstableRoot.CloseConversationRequest + open: + type: unstableRoot.OpenConversationRequest + snoozed: + type: unstableRoot.SnoozeConversationRequest +docs: Everything about your Conversations +service: + auth: false + base-path: '' + display-name: Conversations + endpoints: + attachContactToConversation: + auth: true + display-name: Attach a contact to a conversation + docs: >+ + You can add participants who are contacts to a conversation, on behalf + of either another contact or an admin. + + + {% admonition type="warning" 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 %} + + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: Attach a contact to a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + customer: + intercom_user_id: 6762f19b1bb69f9f2193bbd4 + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Not found + path-parameters: + id: '123' + request: + admin_id: '12345' + customer: + intercom_user_id: 6762f19e1bb69f9f2193bbd5 + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + method: POST + path: /conversations/{id}/customers + request: + body: + properties: + admin_id: + docs: The `id` of the admin who is adding the new participant. + type: optional + customer: + type: optional + content-type: application/json + name: AttachContactToConversationRequest + path-parameters: + id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Attach a contact to a conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + convertConversationToTicket: + auth: true + display-name: Convert a conversation to a ticket + docs: You can convert a conversation to a ticket. + errors: + - unstableRoot.BadRequestError + examples: + - name: successful + path-parameters: + id: 1 + request: + ticket_type_id: '53' + response: + body: + admin_assignee_id: '0' + category: Customer + contacts: + contacts: + - external_id: '70' + id: 6762f2041bb69f9f2193bc0c + type: contact + type: contact.list + created_at: 1734537732 + id: '611' + is_shared: true + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + key: value + ticket_id: '22' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + id: 6762f2041bb69f9f2193bc0c + name: Joe Bloggs + type: user + body:

Comment for message

+ created_at: 1734537732 + id: '151' + part_type: comment + redacted: false + type: ticket_part + updated_at: 1734537732 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id442_that_should_be_at_least_@intercom.io + id: '991267767' + name: Fin + type: bot + created_at: 1734537737 + id: '152' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537737 + total_count: 2 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '7493' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Customer + created_at: 1734537737 + description: my ticket type description is awesome. + icon: 🦁 + id: '53' + name: my-ticket-type-1 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537737 + workspace_id: this_is_an_id442_that_should_be_at_least_ + type: ticket + updated_at: 1734537737 + - name: Bad request + path-parameters: + id: 1 + request: + ticket_type_id: '54' + response: + body: + admin_assignee_id: '0' + category: Customer + contacts: + contacts: + - external_id: '70' + id: 6762f2041bb69f9f2193bc0c + type: contact + type: contact.list + created_at: 1734537732 + id: '611' + is_shared: true + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + key: value + ticket_id: '22' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + id: 6762f2041bb69f9f2193bc0c + name: Joe Bloggs + type: user + body:

Comment for message

+ created_at: 1734537732 + id: '151' + part_type: comment + redacted: false + type: ticket_part + updated_at: 1734537732 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id442_that_should_be_at_least_@intercom.io + id: '991267767' + name: Fin + type: bot + created_at: 1734537737 + id: '152' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537737 + total_count: 2 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '7493' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Customer + created_at: 1734537737 + description: my ticket type description is awesome. + icon: 🦁 + id: '53' + name: my-ticket-type-1 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537737 + workspace_id: this_is_an_id442_that_should_be_at_least_ + type: ticket + updated_at: 1734537737 + method: POST + path: /conversations/{id}/convert + request: + body: + properties: + attributes: + type: optional + ticket_type_id: + docs: >- + The ID of the type of ticket you want to convert the + conversation to + type: string + content-type: application/json + name: ConvertConversationToTicketRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + createConversation: + auth: true + display-name: Creates a conversation + docs: >+ + 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. + + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: conversation created + request: + body: Hello there + from: + id: 6762f11b1bb69f9f2193bba3 + type: user + response: + body: + body: Hello there + conversation_id: '499' + created_at: 1734537501 + id: '403918330' + message_type: inapp + subject: Greetings + type: user_message + - name: Contact Not Found + request: + body: Hello there + from: + id: 123_doesnt_exist + type: user + response: + body: + body: Hello there + conversation_id: '499' + created_at: 1734537501 + id: '403918330' + message_type: inapp + subject: Greetings + type: user_message + method: POST + path: /conversations + request: + body: + properties: + body: + docs: The content of the message. HTML is not supported. + type: string + created_at: + docs: >- + The time the conversation was created as a UTC Unix timestamp. + If not provided, the current time will be used. This field is + only recommneded for migrating past conversations from another + source into Intercom. + type: optional + from: CreateConversationRequestFrom + content-type: application/json + name: CreateConversationRequest + response: + docs: conversation created + status-code: 200 + type: unstableMessages.Message + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteConversation: + auth: true + display-name: Delete a conversation + docs: You can delete a single conversation. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '512' + object: conversation + method: DELETE + path: /conversations/{id} + request: + name: DeleteConversationRequest + path-parameters: + id: + docs: id + type: integer + response: + docs: successful + status-code: 200 + type: unstableRoot.ConversationDeleted + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachContactFromConversation: + auth: true + display-name: Detach a contact from a group conversation + docs: >+ + You can add participants who are contacts to a conversation, on behalf + of either another contact or an admin. + + + {% admonition type="warning" 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 %} + + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + examples: + - name: Detach a contact from a group conversation + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Conversation not found + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Contact not found + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + - name: Last customer + path-parameters: + contact_id: '123' + conversation_id: '123' + request: + admin_id: '5017690' + response: + body: + admin_assignee_id: 0 + ai_agent: + content_sources: + content_sources: + - locale: en + title: My internal content snippet + url: /fin-ai-agent/content?content=content_snippet&id=3234924 + total_count: 1 + type: content_source.list + created_at: 1663597260 + last_answer_type: ai_answer + rating: 4 + rating_remark: Very helpful! + resolution_state: assumed_resolution + source_title: My AI Workflow + source_type: essentials_plan_setup + updated_at: 1663597260 + ai_agent_participated: true + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - id: 5ba682d23d7cf92bef87bfd4 + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 1 + type: conversation_part.list + conversation_rating: + contact: + external_id: '70' + id: 5ba682d23d7cf92bef87bfd4 + type: contact + created_at: 1671028894 + rating: 5 + remark: '' + teammate: + id: 1a2b3c + type: contact + updated_at: 1671028894 + created_at: 1663597223 + custom_attributes: + end_date_timestamp: 1677923174 + monthly_spend: '155.5' + paid_subscriber: + type: order.list + start_date_iso8601: '2023-03-04T09:46:14Z' + team_mates: 9 + first_contact_reply: + created_at: 1663597223 + type: conversation + url: https://developers.intercom.com/ + id: '1295' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 100 + type: list + open: true + priority: priority + read: true + sla_applied: + sla_name: '' + sla_status: hit + type: conversation_sla_summary + snoozed_until: 1663597260 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Hey there!

+ delivered_as: operator_initiated + id: '3' + redacted: false + subject: '' + type: conversation + url: url + state: open + statistics: + assigned_team_first_response_time_by_team: + - response_time: 2310 + team_id: 100 + team_name: Team One + assigned_team_first_response_time_in_office_hours: + - response_time: 2310 + team_id: 100 + team_name: Team One + count_assignments: 1 + count_conversation_parts: 1 + count_reopens: 1 + first_admin_reply_at: 1663597233 + first_assignment_at: 1663597233 + first_close_at: 1663597233 + first_contact_reply_at: 1663597233 + handling_time: 2310 + last_admin_reply_at: 1663597233 + last_assignment_admin_reply_at: 1663597233 + last_assignment_at: 1663597233 + last_close_at: 1663597233 + last_closed_by_id: c3po + last_contact_reply_at: 1663597233 + median_time_to_reply: 2310 + time_to_admin_reply: 2310 + time_to_assignment: 2310 + time_to_first_close: 2310 + time_to_last_close: 2310 + type: conversation_statistics + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + team_assignee_id: '5017691' + teammates: + teammates: + - type: contact + type: admin.list + title: Conversation Title + type: conversation + updated_at: 1663597260 + waiting_since: 1663597260 + method: DELETE + path: /conversations/{conversation_id}/customers/{contact_id} + request: + body: + properties: + admin_id: + docs: The `id` of the admin who is performing the action. + type: string + content-type: application/json + name: DetachContactFromConversationRequest + path-parameters: + contact_id: + docs: The identifier for the contact as given by Intercom. + type: string + conversation_id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Detach a contact from a group conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listConversations: + auth: true + display-name: List all conversations + docs: > + You can fetch a list of all conversations. + + + You can optionally request the result page size and the cursor to start + after to fetch the result. + + {% admonition type="warning" name="Pagination" %} + You can use pagination to limit the number of results returned. The default is `20` results per page. + See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. + {% /admonition %} + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + examples: + - name: successful + response: + body: + conversations: + - ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f0f31bb69f9f2193bb8b + type: contact + type: contact.list + conversation_parts: + total_count: 1 + created_at: 1734537460 + custom_attributes: + key: value + id: '471' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin166@email.com + from_ai_agent: true + id: '991267628' + is_ai_answer: false + name: Ciaran166 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918320' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537460 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 20 + total_pages: 1 + type: pages + total_count: 1 + type: conversation.list + method: GET + path: /conversations + request: + name: ListConversationsRequest + query-parameters: + per_page: + default: 20 + docs: How many results per page + type: optional + validation: + max: 150 + starting_after: + docs: String used to get the next page of conversations. + type: optional + response: + docs: successful + status-code: 200 + type: unstableRoot.ConversationList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + manageConversation: + auth: true + display-name: Manage a conversation + docs: | + For managing conversations you can: + - Close a conversation + - Snooze a conversation to reopen on a future date + - Open a conversation which is `snoozed` or `closed` + - Assign a conversation to an admin and/or team. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: Close a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + message_type: close + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f16e1bb69f9f2193bbc2 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

Goodbye :)

+ created_at: 1734537584 + id: '136' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537584 + part_type: close + redacted: false + type: conversation_part + updated_at: 1734537584 + total_count: 1 + type: conversation_part.list + created_at: 1734537582 + custom_attributes: + key: value + id: '531' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918356' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537584 + - name: Snooze a conversation + path-parameters: + id: '123' + request: + admin_id: '5017691' + message_type: snoozed + snoozed_until: 1673609604 + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1711bb69f9f2193bbc3 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin220@email.com + from_ai_agent: true + id: '991267710' + is_ai_answer: false + name: Ciaran220 Lee + type: admin + created_at: 1734537587 + id: '137' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537587 + part_type: snoozed + redacted: false + type: conversation_part + updated_at: 1734537587 + total_count: 1 + type: conversation_part.list + created_at: 1734537586 + custom_attributes: + key: value + id: '532' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + snoozed_until: 1734541187 + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin220@email.com + from_ai_agent: true + id: '991267710' + is_ai_answer: false + name: Ciaran220 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918357' + redacted: false + subject: '' + type: conversation + state: snoozed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537587 + - name: Open a conversation + path-parameters: + id: '123' + request: + admin_id: '5017690' + message_type: open + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '74' + id: 6762f1781bb69f9f2193bbc8 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin221@email.com + from_ai_agent: true + id: '991267712' + is_ai_answer: false + name: Ciaran221 Lee + type: admin + created_at: 1734537601 + id: '139' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537601 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537601 + total_count: 1 + type: conversation_part.list + created_at: 1734537587 + custom_attributes: + key: value + id: '537' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin221@email.com + from_ai_agent: true + id: '991267712' + is_ai_answer: false + name: Ciaran221 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918358' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + title: '' + type: conversation + updated_at: 1734537601 + - name: Assign a conversation + path-parameters: + id: '123' + request: + admin_id: '12345' + assignee_id: '4324241' + message_type: assignment + type: admin + response: + body: + admin_assignee_id: 991267715 + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1831bb69f9f2193bbcc + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - assigned_to: + id: '991267715' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin223@email.com + from_ai_agent: true + id: '991267715' + is_ai_answer: false + name: Ciaran223 Lee + type: admin + created_at: 1734537605 + id: '140' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537605 + part_type: assign_and_reopen + redacted: false + type: conversation_part + updated_at: 1734537605 + total_count: 1 + type: conversation_part.list + created_at: 1734537603 + custom_attributes: + key: value + id: '542' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin223@email.com + from_ai_agent: true + id: '991267715' + is_ai_answer: false + name: Ciaran223 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918361' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537605 + - name: Not found + path-parameters: + id: '123' + request: + admin_id: '12345' + message_type: close + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f16e1bb69f9f2193bbc2 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

Goodbye :)

+ created_at: 1734537584 + id: '136' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537584 + part_type: close + redacted: false + type: conversation_part + updated_at: 1734537584 + total_count: 1 + type: conversation_part.list + created_at: 1734537582 + custom_attributes: + key: value + id: '531' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin219@email.com + from_ai_agent: true + id: '991267708' + is_ai_answer: false + name: Ciaran219 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918356' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537584 + method: POST + path: /conversations/{id}/parts + request: + body: ManageConversationRequestBody + content-type: application/json + name: ManageConversationRequest + path-parameters: + id: + docs: The identifier for the conversation as given by Intercom. + type: string + response: + docs: Assign a conversation + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + redactConversation: + auth: true + display-name: Redact a conversation part + docs: >+ + 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 %} + + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Redact a conversation part + request: + conversation_id: '19894788788' + conversation_part_id: '19381789428' + type: conversation_part + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1f81bb69f9f2193bc09 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1f81bb69f9f2193bc09 + is_ai_answer: false + name: Joe Bloggs + type: user + body:

This message was deleted

+ created_at: 1734537722 + id: '149' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537722 + part_type: open + redacted: true + type: conversation_part + updated_at: 1734537724 + total_count: 1 + type: conversation_part.list + created_at: 1734537721 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537722 + type: conversation + id: '608' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin247@email.com + from_ai_agent: true + id: '991267757' + is_ai_answer: false + name: Ciaran247 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918391' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537724 + waiting_since: 1734537722 + - name: Not found + request: + conversation_id: really_123_doesnt_exist + conversation_part_id: really_123_doesnt_exist + type: conversation_part + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1f81bb69f9f2193bc09 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1f81bb69f9f2193bc09 + is_ai_answer: false + name: Joe Bloggs + type: user + body:

This message was deleted

+ created_at: 1734537722 + id: '149' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537722 + part_type: open + redacted: true + type: conversation_part + updated_at: 1734537724 + total_count: 1 + type: conversation_part.list + created_at: 1734537721 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537722 + type: conversation + id: '608' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin247@email.com + from_ai_agent: true + id: '991267757' + is_ai_answer: false + name: Ciaran247 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918391' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537724 + waiting_since: 1734537722 + method: POST + path: /conversations/redact + request: + body: unstableRoot.RedactConversationRequest + content-type: application/json + response: + docs: Redact a conversation part + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + replyConversation: + auth: true + display-name: Reply to a conversation + docs: >- + You can reply to a conversation with a message from an admin or on + behalf of a contact, or with a note for admins. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: User reply + path-parameters: + id: 123 or "last" + request: + body: Thanks again :) + intercom_user_id: 6762f1571bb69f9f2193bbbb + message_type: comment + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1571bb69f9f2193bbbb + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1571bb69f9f2193bbbb + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537561 + id: '132' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537561 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537561 + total_count: 1 + type: conversation_part.list + created_at: 1734537559 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537561 + type: conversation + id: '524' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin212@email.com + from_ai_agent: true + id: '991267694' + is_ai_answer: false + name: Ciaran212 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918349' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537561 + waiting_since: 1734537561 + - name: Admin Reply with a Note + path-parameters: + id: 123 or "last" + request: + admin_id: '3156780' + body: >- +

An Unordered HTML List

    +
  • Coffee
  • Tea
  • Milk

An + Ordered HTML List

  1. Coffee
  2. Tea
  3. +
  4. Milk
+ message_type: note + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f15b1bb69f9f2193bbbc + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin213@email.com + from_ai_agent: true + id: '991267696' + is_ai_answer: false + name: Ciaran213 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537565 + id: '133' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537565 + part_type: note + redacted: false + type: conversation_part + updated_at: 1734537565 + total_count: 1 + type: conversation_part.list + created_at: 1734537563 + custom_attributes: + key: value + id: '525' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin213@email.com + from_ai_agent: true + id: '991267696' + is_ai_answer: false + name: Ciaran213 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918350' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537565 + - name: Admin Reply to send Quick Reply Options + path-parameters: + id: 123 or "last" + request: + admin_id: '3156780' + message_type: quick_reply + reply_options: + - text: 'Yes' + uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb + - text: 'No' + uuid: f4a98af1-be56-4948-a57e-e1a83f8484c6 + type: admin + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f15e1bb69f9f2193bbbd + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin214@email.com + from_ai_agent: true + id: '991267698' + is_ai_answer: false + name: Ciaran214 Lee + type: admin + created_at: 1734537568 + id: '134' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537568 + part_type: quick_reply + redacted: false + type: conversation_part + updated_at: 1734537568 + total_count: 1 + type: conversation_part.list + created_at: 1734537567 + custom_attributes: + key: value + id: '526' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin214@email.com + from_ai_agent: true + id: '991267698' + is_ai_answer: false + name: Ciaran214 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918351' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537568 + - name: User reply with quick reply selection + path-parameters: + id: 123 or "last" + request: + body: body + intercom_user_id: 6762f1621bb69f9f2193bbbe + message_type: comment + reply_options: + - text: 'Yes' + uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1571bb69f9f2193bbbb + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1571bb69f9f2193bbbb + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537561 + id: '132' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537561 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537561 + total_count: 1 + type: conversation_part.list + created_at: 1734537559 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537561 + type: conversation + id: '524' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin212@email.com + from_ai_agent: true + id: '991267694' + is_ai_answer: false + name: Ciaran212 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918349' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537561 + waiting_since: 1734537561 + - name: User last conversation reply + path-parameters: + id: 123 or "last" + request: + body: Thanks again :) + intercom_user_id: 6762f1661bb69f9f2193bbbf + message_type: comment + type: user + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1621bb69f9f2193bbbe + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: joe@bloggs.com + from_ai_agent: true + id: 6762f1621bb69f9f2193bbbe + is_ai_answer: false + name: Joe Bloggs + type: user + body:

Thanks again :)

+ created_at: 1734537572 + id: '135' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537572 + part_type: open + redacted: false + type: conversation_part + updated_at: 1734537572 + total_count: 1 + type: conversation_part.list + created_at: 1734537571 + custom_attributes: + key: value + first_contact_reply: + created_at: 1734537572 + type: conversation + id: '527' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin215@email.com + from_ai_agent: true + id: '991267700' + is_ai_answer: false + name: Ciaran215 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918352' + redacted: false + subject: '' + type: conversation + state: open + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537572 + waiting_since: 1734537572 + method: POST + path: /conversations/{id}/reply + request: + body: unstableRoot.ReplyConversationRequestBody + content-type: application/json + name: ReplyConversationRequest + path-parameters: + id: + docs: >- + The Intercom provisioned identifier for the conversation or the + string "last" to reply to the last part of the conversation + type: string + response: + docs: User last conversation reply + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveConversation: + auth: true + display-name: Retrieve a conversation + docs: > + + 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). + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: conversation found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1261bb69f9f2193bba7 + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - assigned_to: + id: 1a2b3c + type: contact + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Operator + type: admin + body:

Okay!

+ created_at: 1663597223 + external_id: abcd1234 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1663597260 + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: jamie+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Jamie Oliver + type: admin + created_at: 1740141842 + event_details: + action: + name: Jira Create Issue + id: '3' + notified_at: 1740141842 + part_type: custom_action_started + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141842 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: operator+abcd1234@intercom.io + from_ai_agent: true + id: '278' + is_ai_answer: false + name: Fin + type: bot + created_at: 1740141851 + event_details: + attribute: + name: jira_issue_key + value: + name: PROJ-007 + id: '3' + notified_at: 1740141851 + part_type: conversation_attribute_updated_by_admin + redacted: false + state: open + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141851 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: jamie+abcd1234@intercom.io + from_ai_agent: true + id: '274' + is_ai_answer: false + name: Jamie Oliver + type: admin + created_at: 1740141857 + event_details: + action: + name: Jira Create Issue + result: success + id: '3' + notified_at: 1740141857 + part_type: custom_action_finished + redacted: false + state: closed + tags: + - id: '123456' + name: Test tag + type: tag + type: conversation_part + updated_at: 1740141857 + total_count: 4 + type: conversation_part.list + created_at: 1734537511 + custom_attributes: + key: value + id: '503' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin176@email.com + from_ai_agent: true + id: '991267645' + is_ai_answer: false + name: Ciaran176 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918334' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537511 + method: GET + path: /conversations/{id} + request: + name: RetrieveConversationRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + query-parameters: + display_as: + docs: Set to plaintext to retrieve conversation messages in plain text. + type: optional + include_translations: + docs: >- + If set to true, conversation parts will be translated to the + detected language of the conversation. + type: optional + response: + docs: conversation found + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + searchConversations: + auth: true + display-name: Search conversations + docs: > + 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 in the conversation 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"`). + + 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 | String
Accepted fields + are `conversation`, `email`, `facebook`, `instagram`, `phone_call`, + `phone_switch`, `push`, `sms`, `twitter` and `whatsapp`. | + + | source.id | + String + | + + | source.delivered_as | + String + | + + | source.subject | + String + | + + | source.body | + String + | + + | source.author.id | + String + | + + | source.author.type | + String + | + + | source.author.name | + String + | + + | source.author.email | + String + | + + | source.url | + String + | + + | contact_ids | + String + | + + | teammate_ids | + String + | + + | admin_assignee_id | + String + | + + | team_assignee_id | + String + | + + | channel_initiated | + String + | + + | open | + Boolean + | + + | read | + Boolean + | + + | state | + String + | + + | waiting_since | Date (UNIX + timestamp) + | + + | snoozed_until | Date (UNIX + timestamp) + | + + | tag_ids | + String + | + + | priority | + String + | + + | statistics.time_to_assignment | + Integer + | + + | statistics.time_to_admin_reply | + Integer + | + + | statistics.time_to_first_close | + Integer + | + + | statistics.time_to_last_close | + Integer + | + + | statistics.median_time_to_reply | + Integer + | + + | statistics.first_contact_reply_at | Date (UNIX + timestamp) + | + + | statistics.first_assignment_at | Date (UNIX + timestamp) + | + + | statistics.first_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.first_close_at | Date (UNIX + timestamp) + | + + | statistics.last_assignment_at | Date (UNIX + timestamp) + | + + | statistics.last_assignment_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_contact_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_admin_reply_at | Date (UNIX + timestamp) + | + + | statistics.last_close_at | Date (UNIX + timestamp) + | + + | statistics.last_closed_by_id | + String + | + + | statistics.count_reopens | + Integer + | + + | statistics.count_assignments | + Integer + | + + | statistics.count_conversation_parts | + Integer + | + + | conversation_rating.requested_at | Date (UNIX + timestamp) + | + + | conversation_rating.replied_at | Date (UNIX + timestamp) + | + + | conversation_rating.score | + Integer + | + + | conversation_rating.remark | + String + | + + | conversation_rating.contact_id | + String + | + + | conversation_rating.admin_d | + String + | + + | ai_agent_participated | + Boolean + | + + | ai_agent.resolution_state | + String + | + + | ai_agent.last_answer_type | + String + | + + | ai_agent.rating | + Integer + | + + | ai_agent.rating_remark | + String + | + + | ai_agent.source_type | + String + | + + | ai_agent.source_title | + String + | + + + ### Accepted Operators + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :----------------------------- | + :----------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In Shortcut for `OR` + queries Values most be in Array | + + | NIN | All | Not In Shortcut for `OR + !` queries Values must be in Array | + + | > | Integer Date (UNIX Timestamp) | Greater (or equal) + than | + + | < | Integer Date (UNIX Timestamp) | Lower (or equal) + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + conversations: + - ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f14a1bb69f9f2193bbb3 + type: contact + type: contact.list + conversation_parts: + total_count: 1 + created_at: 1734537546 + custom_attributes: + key: value + id: '515' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin210@email.com + from_ai_agent: true + id: '991267691' + is_ai_answer: false + name: Ciaran210 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918346' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537546 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 1 + type: pages + total_count: 1 + type: conversation.list + method: POST + path: /conversations/search + request: + body: + type: unstableRoot.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: unstableRoot.ConversationList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateConversation: + auth: true + display-name: Update a conversation + docs: >+ + + 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 %} + + + {% admonition type="info" %} + This endpoint handles both **conversation updates** and **custom object associations**. + + See _`update a conversation with an association to a custom object instance`_ in the request/response examples to see the custom object association format. + {% /admonition %} + + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - name: conversation found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + issue_type: Billing + priority: High + read: true + title: new conversation title + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1301bb69f9f2193bbab + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '129' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '130' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + total_count: 2 + type: conversation_part.list + created_at: 1734537521 + custom_attributes: + issue_type: Billing + priority: High + id: '507' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin180@email.com + from_ai_agent: true + id: '991267653' + is_ai_answer: false + name: Ciaran180 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918338' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537523 + - name: >- + update a conversation with an association to a custom object + instance + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + order: {} + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1341bb69f9f2193bbac + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - created_at: 1663597223 + id: '3' + notified_at: 1663597260 + part_type: comment + redacted: false + type: conversation_part + updated_at: 1663597260 + total_count: 0 + type: conversation_part.list + created_at: 1734537525 + custom_attributes: + order: + instances: + - created_at: 1671028894 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '21' + type: Order + updated_at: 1671028894 + type: Order.list + id: '508' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: false + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin185@email.com + from_ai_agent: true + id: '991267659' + is_ai_answer: false + name: Ciaran185 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918339' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537525 + - name: Not found + path-parameters: + id: 1 + query-parameters: + display_as: plaintext + request: + custom_attributes: + issue_type: Billing + priority: High + read: true + title: new conversation title + response: + body: + ai_agent_participated: false + company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + contacts: + contacts: + - external_id: '70' + id: 6762f1301bb69f9f2193bbab + type: contact + type: contact.list + conversation_parts: + conversation_parts: + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '129' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + - attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id354_that_should_be_at_least_@intercom.io + from_ai_agent: true + id: '991267654' + is_ai_answer: false + name: Fin + type: bot + created_at: 1734537523 + id: '130' + metadata: + quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 + notified_at: 1734537523 + part_type: conversation_attribute_updated_by_admin + redacted: false + type: conversation_part + updated_at: 1734537523 + total_count: 2 + type: conversation_part.list + created_at: 1734537521 + custom_attributes: + issue_type: Billing + priority: High + id: '507' + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: false + priority: not_priority + read: true + source: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin180@email.com + from_ai_agent: true + id: '991267653' + is_ai_answer: false + name: Ciaran180 Lee + type: admin + body:

this is the message body

+ delivered_as: admin_initiated + id: '403918338' + redacted: false + subject: '' + type: conversation + state: closed + tags: + tags: + - applied_at: 1663597223 + id: '123456' + name: Test tag + type: tag + type: tag.list + type: conversation + updated_at: 1734537523 + method: PUT + path: /conversations/{id} + request: + body: + properties: + company_id: + docs: >- + The ID of the company that the conversation is associated with. + The unique identifier for the company which is given by + Intercom. Set to nil to remove company. + type: optional + custom_attributes: + type: optional + read: + docs: Mark a conversation as read within Intercom. + type: optional + title: + docs: The title given to the conversation + type: optional + content-type: application/json + name: UpdateConversationRequest + path-parameters: + id: + docs: The id of the conversation to target + type: integer + query-parameters: + display_as: + docs: Set to plaintext to retrieve conversation messages in plain text. + type: optional + response: + docs: update a conversation with an association to a custom object instance + status-code: 200 + type: Conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/customChannelEvents.yml b/fern/.definition/unstable/customChannelEvents.yml new file mode 100644 index 0000000..a997c06 --- /dev/null +++ b/fern/.definition/unstable/customChannelEvents.yml @@ -0,0 +1,214 @@ +imports: + unstableRoot: __package__.yml +service: + auth: false + base-path: '' + endpoints: + notifyAttributeCollected: + auth: true + display-name: >- + Notify Intercom of an attribute collector response in a custom channel + conversation + docs: > + Notifies Intercom that a user provided a response to an attribute + collector in your custom channel/platform. This allows Intercom to + process the attribute and trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + examples: + - headers: {} + name: NotificationSuccess + request: + attribute: + id: shipping_address + value: 123 Main St, Springfield + contact: + email: bob@example.com + external_id: user_004 + name: Bob Example + type: user + event_id: evt_24680 + external_conversation_id: conv_11223 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_attribute_collected + request: + body: + extends: + - unstableRoot.CustomChannelBaseEvent + properties: + attribute: + type: unstableRoot.CustomChannelAttribute + content-type: application/json + name: NotifyAttributeCollectedRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: unstableRoot.CustomChannelNotificationResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + notifyNewConversation: + auth: true + display-name: Notify Intercom of a new conversation created in a custom channel + docs: > + Notifies Intercom that a new conversation was created in your custom + channel/platform. This triggers conversation creation and workflow + automations within Intercom for your custom channel integration. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + examples: + - headers: {} + name: NotificationSuccess + request: + contact: + email: jane.doe@example.com + external_id: user_001 + name: Jane Doe + type: user + event_id: evt_12345 + external_conversation_id: conv_67890 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_new_conversation + request: + body: + type: unstableRoot.CustomChannelBaseEvent + content-type: application/json + response: + docs: Successfully notified Intercom + status-code: 200 + type: unstableRoot.CustomChannelNotificationResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + notifyNewMessage: + auth: true + display-name: Notify Intercom of a new message in a custom channel conversation + docs: > + Notifies Intercom that a new message was sent in a conversation on your + custom channel/platform. This allows Intercom to process the message and + trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + examples: + - headers: {} + name: NotificationSuccess + request: + body: Hello, I need help with my order. + contact: + email: john.smith@example.com + external_id: user_002 + name: John Smith + type: user + event_id: evt_54321 + external_conversation_id: conv_98765 + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_new_message + request: + body: + extends: + - unstableRoot.CustomChannelBaseEvent + properties: + body: + docs: The message content sent by the user. + type: string + content-type: application/json + name: NotifyNewMessageRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: unstableRoot.CustomChannelNotificationResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + notifyQuickReplySelected: + auth: true + display-name: >- + Notify Intercom of a quick reply response in a custom channel + conversation + docs: > + Notifies Intercom that a user selected a quick reply option in your + custom channel/platform. This allows Intercom to process the response + and trigger any relevant workflow automations. + + > **Note:** This endpoint is currently under managed availability. + Please reach out to your accounts team to discuss access and tailored, + hands-on support. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + examples: + - headers: {} + name: NotificationSuccess + request: + contact: + email: alice@example.com + external_id: user_003 + name: Alice Example + type: user + event_id: evt_67890 + external_conversation_id: conv_13579 + quick_reply_option_id: '1234' + response: + body: + contact_id: intercom_contact_id_79 + conversation_id: intercom_conversation_id_34 + external_contact_id: customer_contact_id_56 + external_conversation_id: customer_conversation_id_12 + method: POST + path: /custom_channel_events/notify_quick_reply_selected + request: + body: + extends: + - unstableRoot.CustomChannelBaseEvent + properties: + quick_reply_option_id: + docs: Id of the selected quick reply option. + type: string + content-type: application/json + name: NotifyQuickReplySelectedRequest + response: + docs: Successfully notified Intercom + status-code: 200 + type: unstableRoot.CustomChannelNotificationResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/customObjectInstances.yml b/fern/.definition/unstable/customObjectInstances.yml new file mode 100644 index 0000000..05dbe16 --- /dev/null +++ b/fern/.definition/unstable/customObjectInstances.yml @@ -0,0 +1,278 @@ +imports: + unstableRoot: __package__.yml +types: + CustomObjectInstance: + docs: >- + 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: + created_at: + docs: The time the attribute was created as a UTC Unix timestamp + type: optional + custom_attributes: + docs: The custom attributes you have set on the custom object instance. + type: optional> + external_created_at: + docs: >- + The time when the Custom Object instance was created in the external + system it originated from. + type: optional + external_id: + docs: The id you have defined for the custom object instance. + type: optional + external_updated_at: + docs: >- + The time when the Custom Object instance was last updated in the + external system it originated from. + type: optional + id: + docs: The Intercom defined id representing the custom object instance. + type: optional + type: + docs: >- + The identifier of the custom object type that defines the structure of + the custom object instance. + type: optional + updated_at: + docs: The time the attribute was last updated as a UTC Unix timestamp + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: | + Everything about your Custom Object instances. + {% admonition type="warning" name="Permission Requirements" %} + From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions. + {% /admonition %} +service: + auth: false + base-path: '' + display-name: Custom Object Instances + endpoints: + createCustomObjectInstances: + auth: true + display-name: Create or Update a Custom Object Instance + docs: Create or update a custom object instance + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + request: + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + response: + body: + created_at: 1734537745 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_created_at: 1392036272 + external_id: '123' + external_updated_at: 1392036272 + id: '22' + type: Order + updated_at: 1734537745 + method: POST + path: /custom_object_instances/{custom_object_type_identifier} + request: + body: + properties: + custom_attributes: + docs: >- + The custom attributes which are set for the Custom Object + instance. + type: optional>> + external_created_at: + docs: >- + The time when the Custom Object instance was created in the + external system it originated from. + type: optional + external_id: + docs: >- + A unique identifier for the Custom Object instance in the + external system it originated from. + type: optional + external_updated_at: + docs: >- + The time when the Custom Object instance was last updated in the + external system it originated from. + type: optional + content-type: application/json + name: CreateOrUpdateCustomObjectInstanceRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteCustomObjectInstancesByExternalId: + auth: true + display-name: Delete a Custom Object Instance by ID + docs: Delete a single Custom Object instance using the Intercom defined id. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + id: id + response: + body: + deleted: true + id: '26' + object: Order + method: DELETE + path: /custom_object_instances/{custom_object_type_identifier}/{id} + request: + name: DeleteCustomObjectInstancesByExternalIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + id: + docs: The Intercom defined id of the custom object instance + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.CustomObjectInstanceDeleted + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteCustomObjectInstancesById: + auth: true + display-name: Delete a Custom Object Instance by External ID + docs: Delete a single Custom Object instance by external_id. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + query-parameters: + external_id: external_id + response: + body: + deleted: true + id: '26' + object: Order + method: DELETE + path: /custom_object_instances/{custom_object_type_identifier} + request: + name: DeleteCustomObjectInstancesByIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + query-parameters: + external_id: string + response: + docs: successful + status-code: 200 + type: unstableRoot.CustomObjectInstanceDeleted + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getCustomObjectInstancesByExternalId: + auth: true + display-name: Get Custom Object Instance by External ID + docs: Fetch a Custom Object Instance by external_id. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + query-parameters: + external_id: external_id + response: + body: + created_at: 1734537748 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_id: '123' + id: '24' + type: Order + updated_at: 1734537748 + method: GET + path: /custom_object_instances/{custom_object_type_identifier} + request: + name: GetCustomObjectInstancesByExternalIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + query-parameters: + external_id: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getCustomObjectInstancesById: + auth: true + display-name: Get Custom Object Instance by ID + docs: Fetch a Custom Object Instance by id. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + custom_object_type_identifier: Order + id: id + response: + body: + created_at: 1734537750 + custom_attributes: + order_number: ORDER-12345 + total_amount: custom_attributes + external_id: '123' + id: '25' + type: Order + updated_at: 1734537750 + method: GET + path: /custom_object_instances/{custom_object_type_identifier}/{id} + request: + name: GetCustomObjectInstancesByIdRequest + path-parameters: + custom_object_type_identifier: + docs: >- + The unique identifier of the custom object type that defines the + structure of the custom object instance. + type: string + id: + docs: The id or external_id of the custom object instance + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataAttributes.yml b/fern/.definition/unstable/dataAttributes.yml new file mode 100644 index 0000000..b893ac0 --- /dev/null +++ b/fern/.definition/unstable/dataAttributes.yml @@ -0,0 +1,527 @@ +imports: + unstableRoot: __package__.yml +types: + DataAttribute: + docs: >- + 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: + admin_id: + docs: Teammate who created the attribute. Only applicable to CDAs + type: optional + api_writable: + docs: Can this attribute be updated through API + type: optional + archived: + docs: Is this attribute archived. (Only applicable to CDAs) + type: optional + created_at: + docs: The time the attribute was created as a UTC Unix timestamp + type: optional + custom: + docs: Set to true if this is a CDA + type: optional + data_type: + docs: The data type of the attribute. + type: optional + description: + docs: Readable description of the attribute. + type: optional + full_name: + docs: >- + 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. + type: optional + id: + docs: >- + The unique identifier for the data attribute which is given by + Intercom. Only available for custom attributes. + type: optional + label: + docs: Readable name of the attribute (i.e. name you see in the UI) + type: optional + messenger_writable: + docs: Can this attribute be updated by the Messenger + type: optional + model: + docs: >- + Value is `contact` for user/lead attributes and `company` for company + attributes. + type: optional + name: + docs: Name of the attribute. + type: optional + options: + docs: List of predefined options for attribute value. + type: optional> + type: + docs: Value is `data_attribute`. + type: optional> + ui_writable: + docs: Can this attribute be updated in the UI + type: optional + updated_at: + docs: The time the attribute was last updated as a UTC Unix timestamp + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataAttributeDataType: + docs: The data type of the attribute. + enum: + - string + - integer + - float + - boolean + - date + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataAttributeModel: + docs: >- + Value is `contact` for user/lead attributes and `company` for company + attributes. + enum: + - contact + - company + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LisDataAttributesRequestModel: + enum: + - contact + - company + - conversation + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Data Attributes +service: + auth: false + base-path: '' + display-name: Data Attributes + endpoints: + createDataAttribute: + auth: true + display-name: Create a data attribute + docs: You can create a data attributes for a `contact` or a `company`. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + method: POST + path: /data_attributes + request: + body: unknown + content-type: application/json + response: + docs: Successful + status-code: 200 + type: DataAttribute + source: + openapi: ../descriptions/0/api.intercom.io.yaml + lisDataAttributes: + auth: true + display-name: List all data attributes + docs: >- + You can fetch a list of all data attributes belonging to a workspace for + contacts, companies or conversations. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + response: + body: + data: + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The name of a company + full_name: name + id: 12878 + label: Company name + messenger_writable: true + model: company + name: name + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: A number identifying a company + full_name: company_id + id: 12878 + label: Company ID + messenger_writable: true + model: company + name: company_id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The last day anyone from a company visited your site or app + full_name: last_request_at + id: 12878 + label: Company last seen + messenger_writable: true + model: company + name: last_request_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The day a company was added to Intercom + full_name: remote_created_at + id: 12878 + label: Company created at + messenger_writable: true + model: company + name: remote_created_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: The number of people in a company + full_name: user_count + id: 12878 + label: People + messenger_writable: true + model: company + name: user_count + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: >- + All visits from anyone in a company to your product's site + or app + full_name: session_count + id: 12878 + label: Company web sessions + messenger_writable: true + model: company + name: session_count + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: >- + A specific plan or level within your product that companies + have signed up to + full_name: plan.name + id: 12878 + label: Plan + messenger_writable: true + model: company + name: name + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: float + description: The monthly revenue you receive from a company + full_name: monthly_spend + id: 12878 + label: Monthly Spend + messenger_writable: true + model: company + name: monthly_spend + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: integer + description: >- + The number of people employed in this company, expressed as + a single number + full_name: size + id: 12878 + label: Company size + messenger_writable: true + model: company + name: size + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: >- + The category or domain this company belongs to e.g. + 'ecommerce' or 'SaaS' + full_name: industry + id: 12878 + label: Company industry + messenger_writable: true + model: company + name: industry + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: true + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The web address for the company's primary marketing site + full_name: website + id: 12878 + label: Company website + messenger_writable: true + model: company + name: website + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '991267784' + api_writable: true + archived: false + created_at: 1734537753 + custom: true + data_type: string + description: >- + One ring to rule them all, one ring to find them, One ring + to bring them all and in the darkness bind them. + full_name: custom_attributes.The One Ring + id: 34 + label: The One Ring + messenger_writable: true + model: company + name: The One Ring + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1734537753 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the company + full_name: id + id: 12878 + label: ID + messenger_writable: true + model: company + name: id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The time the company was added to Intercom + full_name: created_at + id: 12878 + label: Created at + messenger_writable: true + model: company + name: created_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: date + description: The last time the company was updated + full_name: updated_at + id: 12878 + label: Updated at + messenger_writable: true + model: company + name: updated_at + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the plan + full_name: plan.id + id: 12878 + label: Plan ID + messenger_writable: true + model: company + name: id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + - admin_id: '5712945' + api_writable: false + archived: false + created_at: 1671028894 + custom: false + data_type: string + description: The Intercom defined id representing the app + full_name: app_id + id: 12878 + label: App ID + messenger_writable: true + model: company + name: app_id + options: + - 'true' + - 'false' + type: data_attribute + ui_writable: false + updated_at: 1671028894 + type: list + method: GET + path: /data_attributes + request: + name: LisDataAttributesRequest + query-parameters: + include_archived: + docs: >- + Include archived attributes in the list. By default we return only + non archived data attributes. + type: optional + model: + docs: Specify the data attribute model to return. + type: optional + response: + docs: Successful response + status-code: 200 + type: unstableRoot.DataAttributeList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateDataAttribute: + auth: true + display-name: Update a data attribute + docs: > + + 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. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + - unstableRoot.UnprocessableEntityError + method: PUT + path: /data_attributes/{id} + request: + body: unknown + content-type: application/json + name: UpdateDataAttributeRequest + path-parameters: + id: + docs: The data attribute id + type: integer + response: + docs: Successful + status-code: 200 + type: DataAttribute + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataEvents.yml b/fern/.definition/unstable/dataEvents.yml new file mode 100644 index 0000000..e8b0fac --- /dev/null +++ b/fern/.definition/unstable/dataEvents.yml @@ -0,0 +1,331 @@ +imports: + root: ../__package__.yml + unstableRoot: __package__.yml +types: + CreateDataEventSummariesRequestEventSummaries: + docs: >- + 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`. + inline: true + properties: + count: + docs: The number of times the event occurred. + type: optional + event_name: + docs: >- + 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`. + type: optional + first: + docs: The first time the event was sent + type: optional + last: + docs: The last time the event was sent + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataEvent: + docs: Data events are used to notify Intercom of changes to your data. + properties: + created_at: + docs: The time the event occurred as a UTC Unix timestamp + type: integer + email: + docs: >- + An email address for your user. An email should only be used where + your application uses email to uniquely identify users. + type: optional + event_name: + docs: >- + 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`. + type: string + id: + docs: Your identifier for a lead or a user. + type: optional + intercom_user_id: + docs: The Intercom identifier for the user. + type: optional + metadata: + docs: Optional metadata about the event. + type: optional> + type: + docs: The type of the object + type: optional> + user_id: + docs: Your identifier for the user. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LisDataEventsRequestFilter: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: LisDataEventsRequestFilterUserId + - type: LisDataEventsRequestFilterIntercomUserId + - type: LisDataEventsRequestFilterEmail + LisDataEventsRequestFilterEmail: + inline: true + properties: + email: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LisDataEventsRequestFilterIntercomUserId: + inline: true + properties: + intercom_user_id: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + LisDataEventsRequestFilterUserId: + inline: true + properties: + user_id: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Data Events +service: + auth: false + base-path: '' + display-name: Data Events + endpoints: + createDataEvent: + auth: true + display-name: Submit a data event + docs: >+ + + 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. + + errors: + - unstableRoot.UnauthorizedError + method: POST + path: /events + request: + body: root.CreateDataEventRequestTwo + content-type: application/json + source: + openapi: ../descriptions/0/api.intercom.io.yaml + dataEventSummaries: + auth: true + display-name: Create event summaries + docs: >+ + 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. + + errors: + - unstableRoot.UnauthorizedError + examples: + - request: {} + method: POST + path: /events/summaries + request: + body: + properties: + event_summaries: + docs: >- + 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`. + type: optional + user_id: + docs: Your identifier for the user. + type: optional + content-type: application/json + name: CreateDataEventSummariesRequest + source: + openapi: ../descriptions/0/api.intercom.io.yaml + lisDataEvents: + auth: true + display-name: List all data events + docs: > + + > 🚧 + + > + + > 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. + errors: + - unstableRoot.UnauthorizedError + method: GET + path: /events + request: + name: LisDataEventsRequest + query-parameters: + filter: LisDataEventsRequestFilter + summary: + docs: summary flag + type: optional + type: + docs: The value must be user + type: string + response: + docs: Successful response + status-code: 200 + type: unstableRoot.DataEventSummary + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataExport.yml b/fern/.definition/unstable/dataExport.yml new file mode 100644 index 0000000..7570272 --- /dev/null +++ b/fern/.definition/unstable/dataExport.yml @@ -0,0 +1,216 @@ +types: + DataExport: + docs: >- + The data export api is used to view all message sent & viewed in a given + timeframe. + properties: + download_expires_at: + docs: The time after which you will not be able to access the data. + type: optional + download_url: + docs: The location where you can download your data. + type: optional + job_identfier: + docs: The identifier for your job. + type: optional + status: + docs: The current state of your job. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + DataExportStatus: + docs: The current state of your job. + enum: + - pending + - in_progress + - failed + - completed + - no_data + - canceled + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Data Exports +service: + auth: false + base-path: '' + display-name: Data Export + endpoints: + cancelDataExport: + auth: true + display-name: Cancel content data export + docs: You can cancel your job + examples: + - name: successful + path-parameters: + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: canceled + method: POST + path: /export/cancel/{job_identifier} + request: + name: CancelDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/0/api.intercom.io.yaml + createDataExport: + auth: true + display-name: Create content data export + docs: > + 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. + examples: + - name: successful + request: + created_at_after: 1734519776 + created_at_before: 1734537776 + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: pending + method: POST + path: /export/content/data + request: + body: + properties: + created_at_after: + docs: >- + The start date that you request data for. It must be formatted + as a unix timestamp. + type: integer + created_at_before: + docs: >- + The end date that you request data for. It must be formatted as + a unix timestamp. + type: integer + content-type: application/json + name: CreateDataExportsRequest + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/0/api.intercom.io.yaml + downloadDataExport: + auth: true + display-name: Download content data export + docs: > + 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. + examples: + - path-parameters: + job_identifier: job_identifier + method: GET + path: /download/content/data/{job_identifier} + request: + name: DownloadDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getDataExport: + auth: true + display-name: Show content data export + docs: > + 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. + examples: + - name: successful + path-parameters: + job_identifier: job_identifier + response: + body: + download_expires_at: '' + download_url: '' + job_identfier: orzzsbd7hk67xyu + status: pending + method: GET + path: /export/content/data/{job_identifier} + request: + name: GetDataExportRequest + path-parameters: + job_identifier: + docs: job_identifier + type: string + response: + docs: successful + status-code: 200 + type: DataExport + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/emails.yml b/fern/.definition/unstable/emails.yml new file mode 100644 index 0000000..1477b44 --- /dev/null +++ b/fern/.definition/unstable/emails.yml @@ -0,0 +1,132 @@ +imports: + unstableRoot: __package__.yml +types: + EmailList: + docs: A list of email settings + properties: + data: + type: optional> + type: + docs: The type of object + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + EmailSetting: + docs: Represents a sender email address configuration + properties: + brand_id: + docs: Associated brand identifier + type: optional + created_at: + docs: Unix timestamp of creation + type: optional + domain: + docs: Domain portion of the email address + type: optional + email: + docs: Full sender email address + type: optional + forwarded_email_last_received_at: + docs: Unix timestamp of last forwarded email received (null if never) + type: optional + forwarding_enabled: + docs: Whether email forwarding is active + type: optional + id: + docs: Unique email setting identifier + type: optional + type: + docs: The type of object + type: optional + updated_at: + docs: Unix timestamp of last modification + type: optional + verified: + docs: Whether the email address has been verified + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Emails +service: + auth: false + base-path: '' + display-name: Emails + endpoints: + listEmails: + auth: true + display-name: List all email settings + docs: Lists all sender email address settings for the workspace + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + response: + body: + data: + - brand_id: '9' + created_at: 1692530400 + domain: company.com + email: support@company.com + forwarded_email_last_received_at: 1710498600 + forwarding_enabled: true + id: '1' + type: email_setting + updated_at: 1710498600 + verified: true + - brand_id: '10' + created_at: 1683729000 + domain: company.com + email: hello@company.com + forwarding_enabled: false + id: '2' + type: email_setting + updated_at: 1701424500 + verified: true + type: list + method: GET + path: /emails + response: + docs: Successful response + status-code: 200 + type: EmailList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveEmail: + auth: true + display-name: Retrieve an email setting + docs: Fetches a specific email setting by its unique identifier + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: id + response: + body: + brand_id: '15' + created_at: 1692530400 + domain: company.com + email: support@company.com + forwarded_email_last_received_at: 1710498600 + forwarding_enabled: true + id: '10' + type: email_setting + updated_at: 1710498600 + verified: true + method: GET + path: /emails/{id} + request: + name: RetrieveEmailRequest + path-parameters: + id: + docs: The unique identifier of the email setting + type: string + response: + docs: Successful response + status-code: 200 + type: EmailSetting + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/export.yml b/fern/.definition/unstable/export.yml new file mode 100644 index 0000000..9f0744f --- /dev/null +++ b/fern/.definition/unstable/export.yml @@ -0,0 +1,102 @@ +imports: + unstableRoot: __package__.yml +types: + GetExportReportingDataGetDatasetsResponse: + properties: + data: optional> + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + GetExportReportingDataGetDatasetsResponseDataItem: + inline: true + properties: + attributes: >- + optional> + default_time_attribute_id: optional + description: optional + id: optional + name: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + GetExportReportingDataGetDatasetsResponseDataItemAttributesItem: + inline: true + properties: + id: optional + name: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + PostExportReportingDataEnqueueResponse: + properties: + download_expires_at: optional + download_url: optional + job_identifier: optional + status: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +service: + auth: false + base-path: '' + endpoints: + enqueueANewReportingDataExportJob: + auth: true + display-name: Enqueue a new reporting data export job + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.TooManyRequestsError + examples: + - request: + attribute_ids: + - conversation_id + - conversation_started_at + dataset_id: conversation + end_time: 1717510000 + start_time: 1717490000 + response: + body: + download_expires_at: download_expires_at + download_url: download_url + job_identifier: job1 + status: pending + method: POST + path: /export/reporting_data/enqueue + request: + body: + properties: + attribute_ids: list + dataset_id: string + end_time: long + start_time: long + content-type: application/json + name: PostExportReportingDataEnqueueRequest + response: + docs: Job enqueued successfully + status-code: 200 + type: PostExportReportingDataEnqueueResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listAvailableDatasetsAndAttributes: + auth: true + display-name: List available datasets and attributes + examples: + - response: + body: + data: + - attributes: + - id: conversation_id + name: Conversation ID + default_time_attribute_id: conversation_started_at + description: 'Conversation-level details: status, channel, assignee.' + id: conversation + name: Conversation + type: list + method: GET + path: /export/reporting_data/get_datasets + response: + docs: List of datasets + status-code: 200 + type: GetExportReportingDataGetDatasetsResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/helpCenter.yml b/fern/.definition/unstable/helpCenter.yml new file mode 100644 index 0000000..89b7feb --- /dev/null +++ b/fern/.definition/unstable/helpCenter.yml @@ -0,0 +1,1236 @@ +imports: + unstableRoot: __package__.yml +types: + Collection: + docs: Collections are top level containers for Articles within the Help Center. + properties: + created_at: + docs: >- + The time when the article was created (seconds). For multilingual + articles, this will be the timestamp of creation of the default + language's content. + type: optional + default_locale: + docs: >- + The default locale of the help center. This field is only returned for + multilingual help centers. + type: optional + description: + docs: >- + The description of the collection. For multilingual help centers, this + will be the description of the collection for the default language. + type: optional + help_center_id: + docs: The id of the help center the collection is in. + type: optional + icon: + docs: The icon of the collection. + type: optional + id: + docs: The unique identifier for the collection which is given by Intercom. + type: optional + name: + docs: >- + The name of the collection. For multilingual collections, this will be + the name of the default language's content. + type: optional + order: + docs: >- + The order of the section in relation to others sections within a + collection. Values go from `0` upwards. `0` is the default if there's + no order. + type: optional + parent_id: + docs: >- + The id of the parent collection. If `null` then it is the first level + collection. + type: optional + translated_content: + type: optional + updated_at: + docs: >- + The time when the article was last updated (seconds). For multilingual + articles, this will be the timestamp of last update of the default + language's content. + type: optional + url: + docs: >- + The URL of the collection. For multilingual help centers, this will be + the URL of the collection for the default language. + type: optional + workspace_id: + docs: The id of the workspace which the collection belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + HelpCenter: + docs: Help Centers contain collections + properties: + created_at: + docs: The time when the Help Center was created. + type: optional + custom_domain: + docs: Custom domain configured for the help center + type: optional + display_name: + docs: The display name of the Help Center only seen by teammates. + type: optional + id: + docs: The unique identifier for the Help Center which is given by Intercom. + type: optional + identifier: + docs: >- + The identifier of the Help Center. This is used in the URL of the Help + Center. + type: optional + updated_at: + docs: The time when the Help Center was last updated. + type: optional + url: + docs: >- + The URL for the help center, if you have a custom domain then this + will show the URL using the custom domain. + type: optional + website_turned_on: + docs: >- + Whether the Help Center is turned on or not. This is controlled in + your Help Center settings. + type: optional + workspace_id: + docs: The id of the workspace which the Help Center belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + HelpCenterList: + docs: A list of Help Centers belonging to the App + properties: + data: + docs: An array of Help Center objects + type: optional> + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Help Center +service: + auth: false + base-path: '' + display-name: Help Center + endpoints: + createCollection: + auth: true + display-name: Create a collection + docs: >- + You can create a new collection by making a POST request to + `https://api.intercom.io/help_center/collections.` + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + examples: + - name: collection created + request: + name: Thanks for everything + response: + body: + created_at: 1734537312 + default_locale: en + description: '' + help_center_id: 81 + icon: book-bookmark + id: '165' + name: Thanks for everything + order: 1 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537312 + url: http://help-center.test/myapp-100/ + workspace_id: this_is_an_id100_that_should_be_at_least_ + - name: Bad Request + request: + description: Missing required parameter + name: collection 51 + response: + body: + created_at: 1734537312 + default_locale: en + description: '' + help_center_id: 81 + icon: book-bookmark + id: '165' + name: Thanks for everything + order: 1 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537312 + url: http://help-center.test/myapp-100/ + workspace_id: this_is_an_id100_that_should_be_at_least_ + method: POST + path: /help_center/collections + request: + body: + properties: + description: + docs: >- + The description of the collection. For multilingual collections, + this will be the description of the default language's content. + type: optional + help_center_id: + docs: >- + The id of the help center where the collection will be created. + If `null` then it will be created in the default help center. + type: optional + name: + docs: >- + The name of the collection. For multilingual collections, this + will be the name of the default language's content. + type: string + parent_id: + docs: >- + The id of the parent collection. If `null` then it will be + created as the first level collection. + type: optional + translated_content: + type: optional + content-type: application/json + name: CreateCollectionRequest + response: + docs: collection created + status-code: 200 + type: Collection + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteCollection: + auth: true + display-name: Delete a collection + docs: >- + You can delete a single collection by making a DELETE request to + `https://api.intercom.io/collections/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '182' + object: collection + method: DELETE + path: /help_center/collections/{id} + request: + name: DeleteCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: unstableRoot.DeletedCollectionObject + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listAllCollections: + auth: true + display-name: List all collections + docs: > + You can fetch a list of all collections by making a GET request to + `https://api.intercom.io/help_center/collections`. + + + Collections 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 collections first. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - created_at: 1734537309 + default_locale: en + description: english collection description + help_center_id: 79 + icon: bookmark + id: '159' + name: English collection title + order: 17 + updated_at: 1734537309 + url: http://help-center.test/myapp-96/collection-17 + workspace_id: this_is_an_id96_that_should_be_at_least_4 + - created_at: 1734537309 + default_locale: en + icon: bookmark + id: '160' + name: English section title + order: 1 + parent_id: '159' + updated_at: 1734537309 + url: http://help-center.test/myapp-96/section-1 + workspace_id: this_is_an_id96_that_should_be_at_least_4 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 20 + total_pages: 1 + type: pages + total_count: 2 + type: list + method: GET + path: /help_center/collections + response: + docs: Successful + status-code: 200 + type: unstableRoot.CollectionList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listHelpCenters: + auth: true + display-name: List all Help Centers + docs: >- + You can list all Help Centers by making a GET request to + `https://api.intercom.io/help_center/help_centers`. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Help Centers found + response: + body: + data: + - created_at: 1672928359 + custom_domain: help.mycompany.com + display_name: Intercom Help Center + id: '123' + identifier: intercom + updated_at: 1672928610 + url: https://help.mycompany.com + website_turned_on: true + workspace_id: hfi1bx4l + type: list + method: GET + path: /help_center/help_centers + response: + docs: Help Centers found + status-code: 200 + type: HelpCenterList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveCollection: + auth: true + display-name: Retrieve a collection + docs: >- + You can fetch the details of a single collection by making a GET request + to `https://api.intercom.io/help_center/collections/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Collection found + path-parameters: + id: 1 + response: + body: + created_at: 1734537315 + default_locale: en + description: english collection description + help_center_id: 84 + icon: bookmark + id: '170' + name: English collection title + order: 22 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537315 + url: http://help-center.test/myapp-106/collection-22 + workspace_id: this_is_an_id106_that_should_be_at_least_ + method: GET + path: /help_center/collections/{id} + request: + name: RetrieveCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: Collection found + status-code: 200 + type: Collection + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveHelpCenter: + auth: true + display-name: Retrieve a Help Center + docs: >- + You can fetch the details of a single Help Center by making a GET + request to `https://api.intercom.io/help_center/help_center/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Collection found + path-parameters: + id: 1 + response: + body: + created_at: 1734537325 + custom_domain: help.mycompany.com + display_name: Intercom Help Center + id: '93' + identifier: help-center-1 + updated_at: 1734537325 + url: https://help.mycompany.com + website_turned_on: false + workspace_id: this_is_an_id124_that_should_be_at_least_ + method: GET + path: /help_center/help_centers/{id} + request: + name: RetrieveHelpCenterRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: Collection found + status-code: 200 + type: HelpCenter + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateCollection: + auth: true + display-name: Update a collection + docs: >- + You can update the details of a single collection by making a PUT + request to `https://api.intercom.io/collections/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + name: Update collection name + response: + body: + created_at: 1734537318 + default_locale: en + description: english collection description + help_center_id: 87 + icon: folder + id: '176' + name: Update collection name + order: 25 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537319 + url: http://help-center.test/myapp-112/collection-25 + workspace_id: this_is_an_id112_that_should_be_at_least_ + - name: Collection Not Found + path-parameters: + id: 1 + request: + name: Update collection name + response: + body: + created_at: 1734537318 + default_locale: en + description: english collection description + help_center_id: 87 + icon: folder + id: '176' + name: Update collection name + order: 25 + translated_content: + ar: + description: ' Collection description' + name: Collection name + type: group_content + bg: + description: ' Collection description' + name: Collection name + type: group_content + bs: + description: ' Collection description' + name: Collection name + type: group_content + ca: + description: ' Collection description' + name: Collection name + type: group_content + cs: + description: ' Collection description' + name: Collection name + type: group_content + da: + description: ' Collection description' + name: Collection name + type: group_content + de: + description: ' Collection description' + name: Collection name + type: group_content + el: + description: ' Collection description' + name: Collection name + type: group_content + en: + description: ' Collection description' + name: Collection name + type: group_content + es: + description: ' Collection description' + name: Collection name + type: group_content + et: + description: ' Collection description' + name: Collection name + type: group_content + fi: + description: ' Collection description' + name: Collection name + type: group_content + fr: + description: ' Collection description' + name: Collection name + type: group_content + he: + description: ' Collection description' + name: Collection name + type: group_content + hr: + description: ' Collection description' + name: Collection name + type: group_content + hu: + description: ' Collection description' + name: Collection name + type: group_content + id: + description: ' Collection description' + name: Collection name + type: group_content + it: + description: ' Collection description' + name: Collection name + type: group_content + ja: + description: ' Collection description' + name: Collection name + type: group_content + ko: + description: ' Collection description' + name: Collection name + type: group_content + lt: + description: ' Collection description' + name: Collection name + type: group_content + lv: + description: ' Collection description' + name: Collection name + type: group_content + mn: + description: ' Collection description' + name: Collection name + type: group_content + nb: + description: ' Collection description' + name: Collection name + type: group_content + nl: + description: ' Collection description' + name: Collection name + type: group_content + pl: + description: ' Collection description' + name: Collection name + type: group_content + pt: + description: ' Collection description' + name: Collection name + type: group_content + pt-BR: + description: ' Collection description' + name: Collection name + type: group_content + ro: + description: ' Collection description' + name: Collection name + type: group_content + ru: + description: ' Collection description' + name: Collection name + type: group_content + sl: + description: ' Collection description' + name: Collection name + type: group_content + sr: + description: ' Collection description' + name: Collection name + type: group_content + sv: + description: ' Collection description' + name: Collection name + type: group_content + tr: + description: ' Collection description' + name: Collection name + type: group_content + type: group_translated_content + vi: + description: ' Collection description' + name: Collection name + type: group_content + zh-CN: + description: ' Collection description' + name: Collection name + type: group_content + zh-TW: + description: ' Collection description' + name: Collection name + type: group_content + updated_at: 1734537319 + url: http://help-center.test/myapp-112/collection-25 + workspace_id: this_is_an_id112_that_should_be_at_least_ + method: PUT + path: /help_center/collections/{id} + request: + body: + properties: + description: + docs: >- + The description of the collection. For multilingual collections, + this will be the description of the default language's content. + type: optional + name: + docs: >- + The name of the collection. For multilingual collections, this + will be the name of the default language's content. + type: optional + parent_id: + docs: >- + The id of the parent collection. If `null` then it will be + updated as the first level collection. + type: optional + translated_content: + type: optional + content-type: application/json + name: UpdateCollectionRequest + path-parameters: + id: + docs: >- + The unique identifier for the collection which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: Collection + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/internalArticles.yml b/fern/.definition/unstable/internalArticles.yml new file mode 100644 index 0000000..0b84c7e --- /dev/null +++ b/fern/.definition/unstable/internalArticles.yml @@ -0,0 +1,357 @@ +imports: + unstableArticles: articles.yml + unstableRoot: __package__.yml +types: + InternalArticleListItem: + docs: The data returned about your internal articles when you list them. + properties: + author_id: + docs: The id of the author of the article. + type: optional + body: + docs: The body of the article in HTML. + type: optional + created_at: + docs: The time when the article was created. + type: optional + id: + docs: The unique identifier for the article which is given by Intercom. + type: optional + locale: + docs: The default locale of the article. + type: optional + owner_id: + docs: The id of the owner of the article. + type: optional + title: + docs: The title of the article. + type: optional + type: + docs: The type of object - `internal_article`. + type: optional> + updated_at: + docs: The time when the article was last updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + InternalArticleSearchResponse: + docs: The results of an Internal Article search + properties: + data: + docs: An object containing the results of the search. + type: optional + pages: + type: optional + total_count: + docs: The total number of Internal Articles matching the search query + type: optional + type: + docs: The type of the object - `list`. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + InternalArticleSearchResponseData: + docs: An object containing the results of the search. + inline: true + properties: + internal_articles: + docs: An array of Internal Article objects + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Internal Articles +service: + auth: false + base-path: '' + display-name: Internal Articles + endpoints: + createInternalArticle: + auth: true + display-name: Create an internal article + docs: >- + You can create a new internal article by making a POST request to + `https://api.intercom.io/internal_articles`. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + examples: + - name: internal article created + request: + author_id: 991266252 + body: Body of the Article + owner_id: 991266252 + title: Thanks for everything + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '42' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + - name: Bad Request + request: + author_id: 1295 + body: Body of the Internal Article + owner_id: 1295 + title: Thanks for everything + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '42' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + method: POST + path: /internal_articles + request: + body: + type: optional + content-type: application/json + response: + docs: internal article created + status-code: 200 + type: unstableArticles.InternalArticle + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteInternalArticle: + auth: true + display-name: Delete an internal article + docs: >- + You can delete a single internal article by making a DELETE request to + `https://api.intercom.io/internal_articles/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '51' + object: internal_article + method: DELETE + path: /internal_articles/{id} + request: + name: DeleteInternalArticleRequest + path-parameters: + id: + docs: >- + The unique identifier for the internal article which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: unstableRoot.DeletedInternalArticleObject + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listInternalArticles: + auth: true + display-name: List all articles + docs: >- + You can fetch a list of all internal articles by making a GET request to + `https://api.intercom.io/internal_articles`. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '39' + locale: en + owner_id: 991266252 + title: Thanks for everything + type: internal_article + updated_at: 1672928610 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 25 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /internal_articles + response: + docs: successful + status-code: 200 + type: unstableRoot.InternalArticleList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveInternalArticle: + auth: true + display-name: Retrieve an internal article + docs: >- + You can fetch the details of a single internal article by making a GET + request to `https://api.intercom.io/internal_articles/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Internal article found + path-parameters: + id: 1 + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '45' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + method: GET + path: /internal_articles/{id} + request: + name: RetrieveInternalArticleRequest + path-parameters: + id: + docs: The unique identifier for the article which is given by Intercom. + type: integer + response: + docs: Internal article found + status-code: 200 + type: unstableArticles.InternalArticle + source: + openapi: ../descriptions/0/api.intercom.io.yaml + searchInternalArticles: + auth: true + display-name: Search for internal articles + docs: >- + You can search for internal articles by making a GET request to + `https://api.intercom.io/internal_articles/search`. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Search successful + response: + body: + data: + internal_articles: + - author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '55' + locale: en + owner_id: 991266252 + updated_at: 1672928610 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 1 + type: list + method: GET + path: /internal_articles/search + request: + name: SearchInternalArticlesRequest + query-parameters: + folder_id: + docs: The ID of the folder to search in. + type: optional + response: + docs: Search successful + status-code: 200 + type: InternalArticleSearchResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateInternalArticle: + auth: true + display-name: Update an internal article + docs: >- + You can update the details of a single internal article by making a PUT + request to `https://api.intercom.io/internal_articles/`. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '48' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + - name: Internal article not found + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ title: Christmas is here! + response: + body: + author_id: 991266252 + body: Body of the Article + created_at: 1672928359 + id: '48' + locale: en + owner_id: 991266252 + title: title + type: internal_article + updated_at: 1672928610 + method: PUT + path: /internal_articles/{id} + request: + body: + properties: + author_id: + docs: The id of the author of the article. + type: optional + body: + docs: The content of the article. + type: optional + owner_id: + docs: The id of the author of the article. + type: optional + title: + docs: The title of the article. + type: optional + content-type: application/json + name: UpdateInternalArticleRequestBody + path-parameters: + id: + docs: >- + The unique identifier for the internal article which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: unstableArticles.InternalArticle + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/jobs.yml b/fern/.definition/unstable/jobs.yml new file mode 100644 index 0000000..5a9cab8 --- /dev/null +++ b/fern/.definition/unstable/jobs.yml @@ -0,0 +1,87 @@ +imports: + unstableRoot: __package__.yml +types: + Jobs: + docs: >- + Jobs are tasks that are processed asynchronously by the Intercom system + after being enqueued via the API. This allows for efficient handling of + operations that may take time to complete, such as data imports or + exports. You can check the status of your jobs to monitor their progress + and ensure they are completed successfully. + properties: + id: + docs: The id of the job that's currently being processed or has completed. + type: string + resource_id: + docs: The id of the resource created during job execution (e.g. ticket id) + type: optional + resource_type: + docs: The type of resource created during job execution. + type: optional + resource_url: + docs: >- + The url of the resource created during job exeuction. Use this url to + fetch the resource. + type: optional + status: + docs: The status of the job execution. + type: optional + type: + docs: The type of the object + type: optional> + url: + docs: API endpoint URL to check the job status. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + JobsStatus: + docs: The status of the job execution. + enum: + - pending + - success + - failed + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about jobs +service: + auth: false + base-path: '' + display-name: Jobs + endpoints: + status: + auth: true + display-name: Retrieve job status + docs: Retrieve the status of job execution. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: job status retrieved + path-parameters: + id: id + response: + body: + id: '2' + resource_id: '20' + resource_type: ticket + resource_url: https://api.intercom.io/tickets/20 + status: success + type: job + url: https://api.intercom.io/jobs/status/20 + method: GET + path: /jobs/status/{id} + request: + name: JobsStatusRequest + path-parameters: + id: + docs: The unique identifier for the job which is given by Intercom + type: string + response: + docs: Job execution status + status-code: 200 + type: Jobs + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/macros.yml b/fern/.definition/unstable/macros.yml new file mode 100644 index 0000000..493a832 --- /dev/null +++ b/fern/.definition/unstable/macros.yml @@ -0,0 +1,1183 @@ +imports: + unstableRoot: __package__.yml +types: + Macro: + docs: >- + A macro is a pre-defined response template (saved reply) that can be used + to quickly reply to conversations. + properties: + available_on: + docs: Where the macro is available for use. + type: optional> + body: + docs: >- + The body of the macro in HTML format with placeholders transformed to + XML-like format. + type: optional + body_text: + docs: >- + The plain text version of the macro body with original Intercom + placeholder format. + type: optional + created_at: + docs: The time the macro was created in ISO 8601 format. + type: optional + id: + docs: The unique identifier for the macro. + type: optional + name: + docs: The name of the macro. + type: optional + type: + docs: String representing the object's type. Always has the value `macro`. + type: optional> + updated_at: + docs: The time the macro was last updated in ISO 8601 format. + type: optional + visible_to: + docs: Who can view this macro. + type: optional + visible_to_team_ids: + docs: >- + The team IDs that can view this macro when visible_to is set to + specific_teams. + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MacroAvailableOnItem: + enum: + - inbox + - messenger + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MacroList: + docs: A paginated list of macros (saved replies) in the workspace. + properties: + data: + docs: The list of macro objects + type: optional>> + pages: + docs: Pagination information + type: optional + type: + docs: Always list + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MacroListPages: + docs: Pagination information + inline: true + properties: + next: + docs: Cursor for the next page + type: optional + per_page: + docs: Number of results per page + type: optional + type: + docs: The type of pagination + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MacroListPagesNext: + docs: Cursor for the next page + inline: true + properties: + starting_after: + docs: Base64-encoded cursor containing [updated_at, id] for pagination + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MacroVisibleTo: + docs: Who can view this macro. + enum: + - everyone + - specific_teams + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Operations related to saved replies (macros) in conversations +service: + auth: false + base-path: '' + display-name: Macros + endpoints: + getMacro: + auth: true + display-name: Retrieve a macro + docs: > + You can fetch a single macro (saved reply) by its ID. The macro will + only be returned if it is visible to the authenticated user based on its + visibility settings. + + + **Visibility Rules** + + + A macro is returned based on its `visible_to` setting: + + - `everyone`: Always visible to all team members + + - `specific_teams`: Only visible if the authenticated user belongs to + one of the teams specified in `visible_to_team_ids` + + + If a macro exists but is not visible to the authenticated user, a 404 + error is returned. + + + **Placeholder Transformation** + + + The API transforms Intercom placeholders to a more standard XML-like + format in the `body` field: + + - From: `{{user.name | fallback: 'there'}}` + + - To: `` + + + Default values in placeholders are HTML-escaped for security. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.NotFoundError + examples: + - code-samples: + - code: | + curl -X GET 'https://api.intercom.io/macros/123' \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros/123', { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macro = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + response = requests.get('https://api.intercom.io/macros/123', + headers=headers) + macro = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros/123') + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macro = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Customer support macro with placeholders + path-parameters: + id: '123' + response: + body: + available_on: + - inbox + - messenger + body: >- +

Hi ,

I understand you'd like a refund for + order #. The refund + will be processed within 3-5 business days to your .

Is there anything else I can help you + with?

+ body_text: >- + Hi {{user.first_name|fallback:"there"}}, + + + I understand you'd like a refund for order + #{{conversation.custom_attributes.order_number}}. The refund + will be processed within 3-5 business days to your + {{user.custom_attributes.payment_method|fallback:"original + payment method"}}. + + + Is there anything else I can help you with? + created_at: '2025-07-21T14:44:35Z' + id: '789' + name: Refund Process Explanation + type: macro + updated_at: '2025-07-21T14:44:35Z' + visible_to: specific_teams + visible_to_team_ids: + - support_team_1 + - support_team_2 + - code-samples: + - code: | + curl -X GET 'https://api.intercom.io/macros/123' \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros/123', { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macro = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + response = requests.get('https://api.intercom.io/macros/123', + headers=headers) + macro = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros/123') + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macro = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Sales team macro for product inquiries + path-parameters: + id: '123' + response: + body: + available_on: + - messenger + body: >- +

Hello ,

Thank you for your interest in ! I'd love to + schedule a personalized demo for your team at .

Would + work for you?

+ body_text: >- + Hello {{user.name|fallback:"valued customer"}}, + + + Thank you for your interest in {{product.name|fallback:"our + products"}}! I'd love to schedule a personalized demo for your + team at {{company.name|fallback:"your company"}}. + + + Would {{suggested_time|fallback:"next Tuesday at 2 PM EST"}} + work for you? + created_at: '2025-07-22T11:06:40Z' + id: '456' + name: Product Demo Request + type: macro + updated_at: '2025-07-23T00:00:00Z' + visible_to: specific_teams + visible_to_team_ids: + - sales_team_us + - sales_team_eu + - code-samples: + - code: | + curl -X GET 'https://api.intercom.io/macros/123' \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros/123', { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macro = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + response = requests.get('https://api.intercom.io/macros/123', + headers=headers) + macro = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros/123') + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macro = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Technical support macro with nested attributes + path-parameters: + id: '123' + response: + body: + available_on: + - inbox + body: >- +

Hi ,

I see you're having + trouble with the integration. Your API key for app is configured correctly.

Error code: +

Let me help you resolve this + issue.

+ body_text: >- + Hi {{user.name}}, + + + I see you're having trouble with the + {{conversation.custom_attributes.api_endpoint|fallback:"API"}} + integration. Your API key for app {{app.id}} is configured + correctly. + + + Error code: + {{conversation.custom_attributes.error_code|fallback:"unknown"}} + + + Let me help you resolve this issue. + created_at: '2025-07-18T09:15:00Z' + id: '890' + name: API Integration Help + type: macro + updated_at: '2025-07-18T09:15:00Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + - code-samples: + - code: | + curl -X GET 'https://api.intercom.io/macros/123' \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros/123', { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macro = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + response = requests.get('https://api.intercom.io/macros/123', + headers=headers) + macro = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros/123') + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macro = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Simple macro without placeholders + path-parameters: + id: '123' + response: + body: + available_on: + - inbox + - messenger + body: >- +

Thank you for reaching out! We appreciate your message and + will get back to you as soon as possible.

+ body_text: >- + Thank you for reaching out! We appreciate your message and will + get back to you as soon as possible. + created_at: '2025-07-17T11:18:08Z' + id: '123' + name: Thank You Response + type: macro + updated_at: '2025-07-17T15:30:24Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + method: GET + path: /macros/{id} + request: + name: GetMacroRequest + path-parameters: + id: + docs: The unique identifier of the macro + type: string + response: + docs: Macro found + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listMacros: + auth: true + display-name: List all macros + docs: > + You can fetch a list of all macros (saved replies) in your workspace for + use in automating responses. + + + The macros are returned in descending order by updated_at. + + + **Pagination** + + + This endpoint uses cursor-based pagination via the `starting_after` + parameter. The cursor is a Base64-encoded JSON array containing + `[updated_at, id]` of the last item from the previous page. + + + **Placeholder Transformation** + + + The API transforms Intercom placeholders to a more standard XML-like + format: + + - From: `{{user.name | fallback: 'there'}}` + + - To: `` + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + examples: + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Basic list of macros + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + - messenger + body: >- +

Hi , your + order # is ready for + pickup!

+ body_text: >- + Hi {{user.name|fallback:"there"}}, your order + #{{order.number}} is ready for pickup! + created_at: '2025-07-17T11:18:08Z' + id: '123' + name: Order Status Update + type: macro + updated_at: '2025-07-17T15:30:24Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + - available_on: + - inbox + body: >- +

Welcome to our support! I'm . How can I help you today?

+ body_text: >- + Welcome to our support! I'm {{teammate.name}}. How can I + help you today? + created_at: '2025-07-21T14:44:35Z' + id: '456' + name: Welcome Message + type: macro + updated_at: '2025-07-21T14:44:35Z' + visible_to: specific_teams + visible_to_team_ids: + - '789' + - '101' + pages: + next: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + per_page: 50 + type: pages + type: list + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Paginated response using starting_after cursor + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + - messenger + body: >- +

I understand you'd like a refund for order #. The + refund will be processed within 3-5 business days.

+ body_text: >- + I understand you'd like a refund for order + #{{conversation.custom_attributes.order_number}}. The refund + will be processed within 3-5 business days. + created_at: '2025-07-21T07:15:34Z' + id: '789' + name: Refund Process + type: macro + updated_at: '2025-07-21T07:15:34Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + - available_on: + - inbox + - messenger + body: >- +

Thank you for your interest in . I'd be happy to + provide more information!

+ body_text: >- + Thank you for your interest in {{product.name|fallback:"our + products"}}. I'd be happy to provide more information! + created_at: '2025-07-20T05:33:20Z' + id: '101' + name: Product Inquiry Response + type: macro + updated_at: '2025-07-21T10:00:00Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + pages: + next: + starting_after: WzE3MTk0MDAwMDAuMCwgIjEwMSJd + per_page: 50 + type: pages + type: list + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Macros filtered by updated_since parameter + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + body: >- +

Your order has been shipped via . + Tracking number:

+ body_text: >- + Your order has been shipped via + {{shipping.carrier|fallback:"our shipping partner"}}. + Tracking number: {{shipping.tracking_number}} + created_at: '2025-07-22T05:31:01Z' + id: '234' + name: Shipping Update Template + type: macro + updated_at: '2025-07-22T18:45:12Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + pages: + per_page: 50 + type: pages + type: list + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Macros with various placeholder formats + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + body: >- +

Hi ,

Your account status:

Last activity:

+ body_text: >- + Hi {{user.first_name|fallback:"there"}}, + + + Your account status: + {{user.custom_attributes.account_status|fallback:"pending + review"}} + + + Last activity: {{user.last_seen_at}} + created_at: '2025-07-21T09:00:00Z' + id: '567' + name: Account Status Review + type: macro + updated_at: '2025-07-21T09:00:00Z' + visible_to: specific_teams + visible_to_team_ids: + - security_team + pages: + per_page: 50 + type: pages + type: list + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Empty macro list (no macros or all filtered out) + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + - messenger + body: >- +

Hi , your + order is ready!

+ body_text: Hi {{user.name|fallback:"there"}}, your order is ready! + created_at: '2025-07-17T11:18:08Z' + id: '123' + name: Order Status Update + type: macro + updated_at: '2025-07-17T15:30:24Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + pages: + per_page: 50 + type: pages + type: list + - code-samples: + - code: > + curl -X GET + 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + \ + -H 'Authorization: Bearer ' \ + -H 'Accept: application/json' \ + -H 'Intercom-Version: @Unstable' + language: cURL + name: cURL + - code: > + const response = await + fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', + { + headers: { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + }); + + const macros = await response.json(); + language: Node.js + name: Node.js + - code: | + import requests + + headers = { + 'Authorization': 'Bearer ', + 'Accept': 'application/json', + 'Intercom-Version': '@Unstable' + } + + params = { + 'per_page': 25, + 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + + response = requests.get('https://api.intercom.io/macros', + headers=headers, + params=params) + macros = response.json() + language: Python + name: Python + - code: | + require 'net/http' + require 'json' + + uri = URI('https://api.intercom.io/macros') + params = { + per_page: 25, + starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' + } + uri.query = URI.encode_www_form(params) + + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + + request = Net::HTTP::Get.new(uri) + request['Authorization'] = 'Bearer ' + request['Accept'] = 'application/json' + request['Intercom-Version'] = '@Unstable' + + response = http.request(request) + macros = JSON.parse(response.body) + language: Ruby + name: Ruby + name: Large list with performance optimization + query-parameters: + starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd + response: + body: + data: + - available_on: + - inbox + created_at: '2025-07-22T11:08:20Z' + id: '1001' + name: Quick Response 1 + type: macro + updated_at: '2025-07-23T11:08:20Z' + visible_to: everyone + visible_to_team_ids: + - '456' + - '789' + pages: + next: + starting_after: WzE3MTk0OTAxMDAuMCwgIjEwMDIiXQ== + per_page: 50 + type: pages + type: list + method: GET + path: /macros + request: + name: ListMacrosRequest + query-parameters: + per_page: + default: 50 + docs: The number of results per page + type: optional + validation: + max: 150 + min: 1 + starting_after: + docs: Base64-encoded cursor containing [updated_at, id] for pagination + type: optional + updated_since: + docs: Unix timestamp to filter macros updated after this time + type: optional + response: + docs: Successful response + status-code: 200 + type: MacroList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/messages.yml b/fern/.definition/unstable/messages.yml new file mode 100644 index 0000000..f0a5228 --- /dev/null +++ b/fern/.definition/unstable/messages.yml @@ -0,0 +1,356 @@ +imports: + root: ../__package__.yml + unstableRoot: __package__.yml +types: + Message: + docs: >- + Message are how you reach out to contacts in Intercom. They are created + when an admin sends an outbound message to a contact. + properties: + body: + docs: The message body, which may contain HTML. + type: string + conversation_id: + docs: The associated conversation_id + type: optional + created_at: + docs: The time the conversation was created. + type: integer + id: + docs: The id representing the message. + type: string + message_type: + docs: >- + The type of message that was sent. Can be email, inapp, facebook, + twitter, sms or whatsapp. + type: MessageMessageType + subject: + docs: 'The subject of the message. Only present if message_type: email.' + type: optional + type: + docs: The type of the message + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + MessageMessageType: + docs: >- + The type of message that was sent. Can be email, inapp, facebook, twitter, + sms or whatsapp. + enum: + - email + - inapp + - facebook + - twitter + - sms + - whatsapp + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your messages +service: + auth: false + base-path: '' + display-name: Messages + endpoints: + createMessage: + auth: true + display-name: Create a message + docs: > + You can create a message that has been initiated by an admin. The + conversation can be either an in-app message, an email, sms or whatsapp. + + + > 🚧 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. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.UnprocessableEntityError + examples: + - name: user message created + request: + body: heyy + from: + id: 6762f2341bb69f9f2193bc17 + type: user + referer: https://twitter.com/bob + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: lead message created + request: + body: heyy + from: + id: 6762f2371bb69f9f2193bc18 + type: lead + referer: https://twitter.com/bob + response: + body: + body: heyy + conversation_id: '614' + created_at: 1734537783 + id: '403918397' + message_type: inapp + subject: Greetings + type: user_message + - name: admin message created + request: + bcc: + - id: 6762f23e1bb69f9f2193bc2f + type: user + body: heyy + cc: + - id: 6762f23e1bb69f9f2193bc1d + type: user + - id: 6762f23f1bb69f9f2193bc1e + type: user + from: + id: '991267816' + type: admin + message_type: conversation + to: + - id: 6762f2391bb69f9f2193bc19 + type: user + - id: 6762f23c1bb69f9f2193bc1b + type: lead + - id: 6762f23d1bb69f9f2193bc1c + type: user + response: + body: + body: heyy + conversation_id: '64619700005570' + created_at: 1734537786 + id: '19' + message_type: inapp + subject: heyy + type: admin_message + - name: admin sms message created + request: + body: heyy + from: + id: '991267817' + type: admin + message_type: sms + to: + id: 6762f23a1bb69f9f2193bc1a + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: admin whatsapp message created + request: + components: + - parameters: + - text: Username 123 + type: text + type: BODY + from: + id: '991267817' + type: admin + locale: en + message_type: whatsapp + template: keep_live + to: + name: John Doe + phone: 5547999998888 + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No body supplied for message + request: + from: + id: '991267818' + type: admin + message_type: inapp + subject: heyy + to: + id: 6762f23b1bb69f9f2193bc1a + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No subject supplied for email message + request: + body: hey there + from: + id: '991267819' + type: admin + message_type: email + to: + type: user + user_id: '70' + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: No body supplied for email message + request: + from: + id: '991267820' + type: admin + message_type: email + subject: heyy + to: + id: 6762f23d1bb69f9f2193bc1c + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + - name: Invalid body supplied for sms message + request: + body: heyy https://picsum.photos/200/300 + from: + id: '991267821' + type: admin + message_type: sms + to: + id: 6762f23b1bb69f9f2193bc1d + type: user + response: + body: + body: heyy + conversation_id: '613' + created_at: 1734537780 + id: '403918396' + message_type: inapp + subject: Greetings + type: user_message + method: POST + path: /messages + request: + body: root.CreateMessageRequestThree + content-type: application/json + response: + docs: admin message created + status-code: 200 + type: Message + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getWhatsAppMessageStatus: + auth: true + display-name: Get statuses of all messages sent based on the specified ruleset_id + docs: > + Retrieves statuses of messages sent from the Outbound module. Currently, + this API only supports WhatsApp messages. + + + + This endpoint returns paginated status events for WhatsApp messages sent + via the Outbound module, providing + + information about delivery state and related message details. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.ForbiddenError + - unstableRoot.InternalServerError + examples: + - name: Successful response + query-parameters: + ruleset_id: ruleset_id + response: + body: + events: + - conversation_id: conv_123 + created_at: 1734537980 + id: event_1 + status: delivered + template_name: appointment_reminder + type: broadcast_outbound + updated_at: 1734538000 + whatsapp_message_id: wamid_123 + - conversation_id: conv_456 + created_at: 1734537970 + id: event_2 + status: sent + template_name: order_update + type: broadcast_outbound + updated_at: 1734538010 + whatsapp_message_id: wamid_456 + pages: + next: + starting_after: abc123 + per_page: 50 + total_pages: 3 + type: pages + ruleset_id: ruleset_id + total_count: 125 + type: list + method: GET + path: /messages/status + request: + name: GetWhatsAppMessageStatusRequest + query-parameters: + per_page: + default: 50 + docs: Number of results per page (default 50, max 100) + type: optional + validation: + max: 100 + ruleset_id: + docs: The unique identifier for the set of messages to check status for + type: string + starting_after: + docs: Cursor for pagination, used to fetch the next page of results + type: optional + response: + docs: Successful response + status-code: 200 + type: unstableRoot.WhatsappMessageStatusList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/news.yml b/fern/.definition/unstable/news.yml new file mode 100644 index 0000000..8ada00b --- /dev/null +++ b/fern/.definition/unstable/news.yml @@ -0,0 +1,547 @@ +imports: + unstableRoot: __package__.yml +types: + Newsfeed: + docs: > + 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: + created_at: + docs: Timestamp for when the newsfeed was created. + type: optional + id: + docs: The unique identifier for the newsfeed which is given by Intercom. + type: optional + name: + docs: >- + The name of the newsfeed. This name will never be visible to your + users. + type: optional + updated_at: + docs: Timestamp for when the newsfeed was last updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NewsfeedAssignment: + docs: Assigns a news item to a newsfeed. + properties: + newsfeed_id: + docs: >- + 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). + type: optional + published_at: + docs: >- + 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". + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NewsItem: + docs: >- + 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: + body: + docs: The news item body, which may contain HTML. + type: optional + cover_image_url: + docs: URL of the image used as cover. Must have .jpg or .png extension. + type: optional + validation: + format: uri + created_at: + docs: Timestamp for when the news item was created. + type: optional + deliver_silently: + docs: >- + When set to true, the news item will appear in the messenger newsfeed + without showing a notification badge. + type: optional + id: + docs: The unique identifier for the news item which is given by Intercom. + type: optional + labels: + docs: Label names displayed to users to categorize the news item. + type: optional>> + newsfeed_assignments: + docs: A list of newsfeed_assignments to assign to the specified newsfeed. + type: optional> + reactions: + docs: >- + Ordered list of emoji reactions to the news item. When empty, + reactions are disabled. + type: optional>> + sender_id: + docs: >- + The id of the sender of the news item. Must be a teammate on the + workspace. + type: optional + state: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + type: optional + title: + docs: The title of the news item. + type: optional + updated_at: + docs: Timestamp for when the news item was last updated. + type: optional + workspace_id: + docs: The id of the workspace which the news item belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NewsItemState: + docs: >- + News items will not be visible to your users in the assigned newsfeeds + until they are set live. + enum: + - draft + - live + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your News +service: + auth: false + base-path: '' + display-name: News + endpoints: + createNewsItem: + auth: true + display-name: Create a news item + docs: You can create a news item + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + body:

New costumes in store for this spooky season

+ deliver_silently: true + labels: + - Product + - Update + - New + newsfeed_assignments: + - newsfeed_id: 53 + published_at: 1664638214 + reactions: + - 😆 + - 😅 + sender_id: 991267834 + state: live + title: Halloween is here! + response: + body: + body:

New costumes in store for this spooky season

+ created_at: 1734537797 + deliver_silently: true + id: '33' + labels: + - New + - Product + - Update + newsfeed_assignments: + - newsfeed_id: 53 + published_at: 1664638214 + reactions: + - 😆 + - 😅 + sender_id: 991267834 + state: live + title: Halloween is here! + updated_at: 1734537797 + workspace_id: this_is_an_id534_that_should_be_at_least_ + method: POST + path: /news/news_items + request: + body: + type: unstableRoot.NewsItemRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: NewsItem + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteNewsItem: + auth: true + display-name: Delete a news item + docs: You can delete a single news item. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + deleted: true + id: '40' + object: news-item + method: DELETE + path: /news/news_items/{id} + request: + name: DeleteNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: unstableRoot.DeletedObject + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listLiveNewsfeedItems: + auth: true + display-name: List all live newsfeed items + docs: You can fetch a list of all news items that are live on a given newsfeed + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + data: + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 20 + total_pages: 0 + type: pages + total_count: 0 + type: list + method: GET + path: /news/newsfeeds/{id}/items + request: + name: ListLiveNewsfeedItemsRequest + path-parameters: + id: + docs: >- + The unique identifier for the news feed item which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: unstableRoot.PaginatedResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listNewsfeeds: + auth: true + display-name: List all newsfeeds + docs: You can fetch a list of all newsfeeds + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - created_at: 1674917488 + id: '12312' + name: My Newsfeed + type: newsfeed + updated_at: 1674917488 + - created_at: 1674917488 + id: '12312' + name: My Newsfeed + type: newsfeed + updated_at: 1674917488 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 2 + type: list + method: GET + path: /news/newsfeeds + response: + docs: successful + status-code: 200 + type: unstableRoot.PaginatedResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listNewsItems: + auth: true + display-name: List all news items + docs: You can fetch a list of all news items + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + - body: >- + 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. + cover_image_url: https://example.com/cover.jpg + created_at: 1610589632 + deliver_silently: true + id: '141' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 👍 + sender_id: 123 + state: draft + title: 'New feature: News Items' + type: news-item + updated_at: 1610589632 + workspace_id: t74hdn32 + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 10 + total_pages: 1 + type: pages + total_count: 2 + type: list + method: GET + path: /news/news_items + response: + docs: successful + status-code: 200 + type: unstableRoot.PaginatedResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveNewsfeed: + auth: true + display-name: Retrieve a newsfeed + docs: You can fetch the details of a single newsfeed + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + created_at: 1734537815 + id: '72' + name: Visitor Feed + updated_at: 1734537815 + method: GET + path: /news/newsfeeds/{id} + request: + name: RetrieveNewsfeedRequest + path-parameters: + id: + docs: >- + The unique identifier for the news feed item which is given by + Intercom. + type: string + response: + docs: successful + status-code: 200 + type: Newsfeed + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveNewsItem: + auth: true + display-name: Retrieve a news item + docs: You can fetch the details of a single news item. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + response: + body: + body:

Hello there,

+ created_at: 1734537800 + deliver_silently: false + id: '34' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 55 + published_at: 1734537800 + reactions: + - 👍 + - 👍 + - 👍 + - 👍 + sender_id: 991267837 + state: live + title: We have news + updated_at: 1734537800 + workspace_id: this_is_an_id538_that_should_be_at_least_ + method: GET + path: /news/news_items/{id} + request: + name: RetrieveNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: NewsItem + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateNewsItem: + auth: true + display-name: Update a news item + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ reactions: + - 😝 + - 😂 + sender_id: 991267845 + title: Christmas is here! + response: + body: + body:

New gifts in store for the jolly season

+ created_at: 1734537803 + deliver_silently: false + id: '37' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 😝 + - 😂 + sender_id: 991267845 + state: live + title: Christmas is here! + updated_at: 1734537804 + workspace_id: this_is_an_id544_that_should_be_at_least_ + - name: News Item Not Found + path-parameters: + id: 1 + request: + body:

New gifts in store for the jolly season

+ reactions: + - 😝 + - 😂 + sender_id: 991267848 + title: Christmas is here! + response: + body: + body:

New gifts in store for the jolly season

+ created_at: 1734537803 + deliver_silently: false + id: '37' + labels: + - Product Update + newsfeed_assignments: + - newsfeed_id: 198313 + published_at: 1674917488 + reactions: + - 😝 + - 😂 + sender_id: 991267845 + state: live + title: Christmas is here! + updated_at: 1734537804 + workspace_id: this_is_an_id544_that_should_be_at_least_ + method: PUT + path: /news/news_items/{id} + request: + body: + type: unstableRoot.NewsItemRequest + content-type: application/json + name: UpdateNewsItemRequest + path-parameters: + id: + docs: >- + The unique identifier for the news item which is given by + Intercom. + type: integer + response: + docs: successful + status-code: 200 + type: NewsItem + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/notes.yml b/fern/.definition/unstable/notes.yml new file mode 100644 index 0000000..450ebab --- /dev/null +++ b/fern/.definition/unstable/notes.yml @@ -0,0 +1,316 @@ +imports: + unstableAdmins: admins.yml + unstableRoot: __package__.yml +types: + Note: + docs: Notes allow you to annotate and comment on your contacts. + properties: + author: + docs: Optional. Represents the Admin that created the note. + type: optional + body: + docs: The body text of the note. + type: optional + contact: + docs: Represents the contact that the note was created about. + type: optional + created_at: + docs: The time the note was created. + type: optional + id: + docs: The id of the note. + type: optional + type: + docs: String representing the object's type. Always has the value `note`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + NoteContact: + docs: Represents the contact that the note was created about. + inline: true + properties: + id: + docs: The id of the contact. + type: optional + type: + docs: String representing the object's type. Always has the value `contact`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Notes +service: + auth: false + base-path: '' + display-name: Notes + endpoints: + createNote: + auth: true + display-name: Create a note + docs: You can add a note to a single contact. + errors: + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: 6762f0ad1bb69f9f2193bb62 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + - name: Admin not found + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: 6762f0af1bb69f9f2193bb63 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + - name: Contact not found + path-parameters: + id: 1 + request: + admin_id: '123' + body: Hello + contact_id: '123' + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin124@email.com + has_inbox_seat: true + id: '991267583' + job_title: Associate + name: Ciaran124 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

Hello

+ contact: + id: 6762f0ad1bb69f9f2193bb62 + type: contact + created_at: 1734537390 + id: '31' + type: note + method: POST + path: /contacts/{id}/notes + request: + body: + properties: + admin_id: + docs: The unique identifier of a given admin. + type: optional + body: + docs: The text of the note. + type: string + contact_id: + docs: The unique identifier of a given contact. + type: optional + content-type: application/json + name: CreateNoteRequest + path-parameters: + id: + docs: The unique identifier of a given contact. + type: integer + response: + docs: Successful response + status-code: 200 + type: Note + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listNotes: + auth: true + display-name: List all notes + docs: You can fetch a list of notes that are associated to a contact. + errors: + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: 1 + response: + body: + data: + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733932587 + id: '26' + type: note + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733846187 + id: '25' + type: note + - author: + away_mode_enabled: false + away_mode_reassign: false + email: admin122@email.com + has_inbox_seat: true + id: '991267581' + job_title: Associate + name: Ciaran122 Lee + type: admin + body:

This is a note.

+ contact: + id: 6762f0ab1bb69f9f2193bb60 + type: contact + created_at: 1733846187 + id: '24' + type: note + pages: + page: 1 + per_page: 50 + total_pages: 1 + type: pages + total_count: 3 + type: list + method: GET + path: /contacts/{id}/notes + request: + name: ListNotesRequest + path-parameters: + id: + docs: The unique identifier of a contact. + type: integer + response: + docs: Successful response + status-code: 200 + type: unstableRoot.NoteList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveNote: + auth: true + display-name: Retrieve a note + docs: You can fetch the details of a single note. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Note found + path-parameters: + id: 1 + response: + body: + author: + avatar: https://picsum.photos/200/300 + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: 12345 + email: admin346@email.com + has_inbox_seat: true + id: '991267864' + job_title: Associate + name: Ciaran346 Lee + team_ids: + - 814865 + team_priority_level: + primary_team_ids: + - 814865 + secondary_team_ids: + - 493881 + type: admin + body:

This is a note.

+ contact: + id: 6762f2591bb69f9f2193bc1f + type: contact + created_at: 1733846617 + id: '34' + type: note + method: GET + path: /notes/{id} + request: + name: RetrieveNoteRequest + path-parameters: + id: + docs: The unique identifier of a given note + type: integer + response: + docs: Note found + status-code: 200 + type: Note + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/segments.yml b/fern/.definition/unstable/segments.yml new file mode 100644 index 0000000..85e5511 --- /dev/null +++ b/fern/.definition/unstable/segments.yml @@ -0,0 +1,123 @@ +imports: + unstableRoot: __package__.yml +types: + Segment: + docs: A segment is a group of your contacts defined by the rules that you set. + properties: + count: + docs: >- + The number of items in the user segment. It's returned when + `include_count=true` is included in the request. + type: optional + created_at: + docs: The time the segment was created. + type: optional + id: + docs: The unique identifier representing the segment. + type: optional + name: + docs: The name of the segment. + type: optional + person_type: + docs: 'Type of the contact: contact (lead) or user.' + type: optional + type: + docs: The type of object. + type: optional> + updated_at: + docs: The time the segment was updated. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SegmentPersonType: + docs: 'Type of the contact: contact (lead) or user.' + enum: + - contact + - user + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Segments +service: + auth: false + base-path: '' + display-name: Segments + endpoints: + listSegments: + auth: true + display-name: List all segments + docs: You can fetch a list of all segments. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + response: + body: + pages: + key: value + segments: + - count: 3 + created_at: 1734537820 + id: 6762f25c1bb69f9f2193bc22 + name: John segment + person_type: user + type: segment + updated_at: 1734537820 + - count: 3 + created_at: 1734537820 + id: 6762f25c1bb69f9f2193bc23 + name: Jane segment + person_type: user + type: segment + updated_at: 1734537820 + type: segment.list + method: GET + path: /segments + request: + name: ListSegmentsRequest + query-parameters: + include_count: + docs: It includes the count of contacts that belong to each segment. + type: optional + response: + docs: Successful response + status-code: 200 + type: unstableRoot.SegmentList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveSegment: + auth: true + display-name: Retrieve a segment + docs: You can fetch the details of a single segment. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: '123' + response: + body: + count: 3 + created_at: 1734537823 + id: 6762f25f1bb69f9f2193bc26 + name: John segment + person_type: user + type: segment + updated_at: 1734537823 + method: GET + path: /segments/{id} + request: + name: RetrieveSegmentRequest + path-parameters: + id: + docs: The unique identified of a given segment. + type: string + response: + docs: Successful response + status-code: 200 + type: Segment + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/subscriptionTypes.yml b/fern/.definition/unstable/subscriptionTypes.yml new file mode 100644 index 0000000..8d11858 --- /dev/null +++ b/fern/.definition/unstable/subscriptionTypes.yml @@ -0,0 +1,262 @@ +imports: + unstableRoot: __package__.yml +types: + SubscriptionType: + docs: >- + A subscription type lets customers easily opt out of non-essential + communications without missing what's important to them. + properties: + consent_type: + docs: Describes the type of consent. + type: optional + content_types: + docs: >- + The message types that this subscription supports - can contain + `email` or `sms_message`. + type: optional> + default_translation: + type: optional + id: + docs: The unique identifier representing the subscription type. + type: optional + state: + docs: The state of the subscription type. + type: optional + translations: + docs: >- + An array of translations objects with the localised version of the + subscription type in each available locale within your translation + settings. + type: optional> + type: + docs: The type of the object - subscription + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SubscriptionTypeConsentType: + docs: Describes the type of consent. + enum: + - opt_out + - opt_in + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SubscriptionTypeContentTypesItem: + enum: + - email + - sms_message + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + SubscriptionTypeState: + docs: The state of the subscription type. + enum: + - live + - draft + - archived + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about subscription types +service: + auth: false + base-path: '' + display-name: Subscription Types + endpoints: + attachSubscriptionTypeToContact: + auth: true + display-name: Add subscription to a contact + docs: > + 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. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - name: Contact not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + - name: Resource not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + consent_type: opt_in + id: invalid_id + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '106' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + method: POST + path: /contacts/{contact_id}/subscriptions + request: + body: + properties: + consent_type: + docs: The consent_type of a subscription, opt_out or opt_in. + type: string + id: + docs: >- + The unique identifier for the subscription which is given by + Intercom + type: string + content-type: application/json + name: AttachSubscriptionTypeToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: Successful + status-code: 200 + type: SubscriptionType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachSubscriptionTypeToContact: + auth: true + display-name: Remove subscription from a contact + docs: >- + 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. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + id: '37846' + response: + body: + consent_type: opt_in + content_types: + - sms_message + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '122' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + method: DELETE + path: /contacts/{contact_id}/subscriptions/{id} + request: + name: DetachSubscriptionTypeToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: >- + The unique identifier for the subscription type which is given by + Intercom + type: string + response: + docs: Successful + status-code: 200 + type: SubscriptionType + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listSubscriptionTypes: + auth: true + display-name: List subscription types + docs: >- + You can list all subscription types. A list of subscription type objects + will be returned. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Successful + response: + body: + data: + - consent_type: opt_out + content_types: + - email + default_translation: + description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + id: '135' + state: live + translations: + - description: Lorem ipsum dolor sit amet + locale: en + name: Newsletters + type: subscription + type: list + method: GET + path: /subscription_types + response: + docs: Successful + status-code: 200 + type: unstableRoot.SubscriptionTypeList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/switch.yml b/fern/.definition/unstable/switch.yml new file mode 100644 index 0000000..65aa006 --- /dev/null +++ b/fern/.definition/unstable/switch.yml @@ -0,0 +1,37 @@ +imports: + unstableRoot: __package__.yml +docs: Everything about Switch +service: + auth: false + base-path: '' + display-name: Switch + endpoints: + createPhoneSwitch: + auth: true + display-name: Create a phone Switch + docs: > + 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. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.UnprocessableEntityError + method: POST + path: /phone_call_redirects + request: + body: unknown + content-type: application/json + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/tags.yml b/fern/.definition/unstable/tags.yml new file mode 100644 index 0000000..a0b2614 --- /dev/null +++ b/fern/.definition/unstable/tags.yml @@ -0,0 +1,623 @@ +imports: + unstableRoot: __package__.yml +types: + CreateTagRequestBody: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: unstableRoot.CreateOrUpdateTagRequest + - type: unstableRoot.TagCompanyRequest + - type: unstableRoot.UntagCompanyRequest + - type: unstableRoot.TagMultipleUsersRequest + Tag: + docs: >- + A tag allows you to label your contacts, companies, and conversations and + list them using that tag. + properties: + applied_at: + docs: The time when the tag was applied to the object + type: optional + applied_by: + type: optional + id: + docs: The id of the tag + type: optional + name: + docs: The name of the tag + type: optional + type: + docs: value is "tag" + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TagBasic: + docs: >- + A tag allows you to label your contacts, companies, and conversations and + list them using that tag. + properties: + id: + docs: The id of the tag + type: optional + name: + docs: The name of the tag + type: optional + type: + docs: value is "tag" + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about tags +service: + auth: false + base-path: '' + display-name: Tags + endpoints: + attachTagToContact: + auth: true + display-name: Add tag to a contact + docs: >- + You can tag a specific contact. This will return a tag object for the + tag that was added to the contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + - name: Contact not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + request: + id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '81' + name: Manual tag + type: tag + method: POST + path: /contacts/{contact_id}/tags + request: + body: + properties: + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + content-type: application/json + name: AttachTagToContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + attachTagToConversation: + auth: true + display-name: Add tag to a conversation + docs: >- + You can tag a specific conversation. This will return a tag object for + the tag that was added to the conversation. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + conversation_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '86' + name: Manual tag + type: tag + - name: Conversation not found + path-parameters: + conversation_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '86' + name: Manual tag + type: tag + method: POST + path: /conversations/{conversation_id}/tags + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + content-type: application/json + name: AttachTagToConversationRequest + path-parameters: + conversation_id: + docs: conversation_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + attachTagToTicket: + auth: true + display-name: Add tag to a ticket + docs: >- + You can tag a specific ticket. This will return a tag object for the tag + that was added to the ticket. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + ticket_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '121' + name: Manual tag + type: tag + - name: Ticket not found + path-parameters: + ticket_id: '64619700005694' + request: + admin_id: '780' + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '121' + name: Manual tag + type: tag + method: POST + path: /tickets/{ticket_id}/tags + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + content-type: application/json + name: AttachTagToTicketRequest + path-parameters: + ticket_id: + docs: ticket_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + createTag: + auth: true + display-name: Create or update a tag, Tag or untag companies, Tag contacts + docs: | + 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. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Action successful + request: + name: test + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: Invalid parameters + request: + name: Independent + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: Company not found + request: + companies: + - company_id: '123' + name: test + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + - name: User not found + request: + name: test + users: + - id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '105' + name: test + type: tag + method: POST + path: /tags + request: + body: CreateTagRequestBody + content-type: application/json + response: + docs: Action successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + deleteTag: + auth: true + display-name: Delete tag + docs: >- + You can delete the details of tags that are on the workspace by passing + in the id. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - path-parameters: + id: '123' + method: DELETE + path: /tags/{id} + request: + name: DeleteTagRequest + path-parameters: + id: + docs: The unique identifier of a given tag + type: string + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachTagFromContact: + auth: true + display-name: Remove tag from a contact + docs: >- + You can remove tag from a specific contact. This will return a tag + object for the tag that was removed from the contact. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + contact_id: 63a07ddf05a32042dffac965 + id: '7522907' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '84' + name: Manual tag + type: tag + method: DELETE + path: /contacts/{contact_id}/tags/{id} + request: + name: DetachTagFromContactRequest + path-parameters: + contact_id: + docs: The unique identifier for the contact which is given by Intercom + type: string + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachTagFromConversation: + auth: true + display-name: Remove tag from a conversation + docs: >- + You can remove tag from a specific conversation. This will return a tag + object for the tag that was removed from the conversation. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + - name: Conversation not found + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + conversation_id: '64619700005694' + id: '7522907' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '89' + name: Manual tag + type: tag + method: DELETE + path: /conversations/{conversation_id}/tags/{id} + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + content-type: application/json + name: DetachTagFromConversationRequest + path-parameters: + conversation_id: + docs: conversation_id + type: string + id: + docs: id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + detachTagFromTicket: + auth: true + display-name: Remove tag from a ticket + docs: >- + You can remove tag from a specific ticket. This will return a tag object + for the tag that was removed from the ticket. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + - name: Ticket not found + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + - name: Tag not found + path-parameters: + id: '7522907' + ticket_id: '64619700005694' + request: + admin_id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '124' + name: Manual tag + type: tag + method: DELETE + path: /tickets/{ticket_id}/tags/{id} + request: + body: + properties: + admin_id: + docs: The unique identifier for the admin which is given by Intercom. + type: string + content-type: application/json + name: DetachTagFromTicketRequest + path-parameters: + id: + docs: The unique identifier for the tag which is given by Intercom + type: string + ticket_id: + docs: ticket_id + type: string + response: + docs: successful + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + findTag: + auth: true + display-name: Find a specific tag + docs: | + You can fetch the details of tags that are on the workspace by their id. + This will return a tag object. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Tag found + path-parameters: + id: '123' + response: + body: + applied_at: 1663597223 + applied_by: + id: 1a2b3c + type: contact + id: '113' + name: Manual tag + type: tag + method: GET + path: /tags/{id} + request: + name: FindTagRequest + path-parameters: + id: + docs: The unique identifier of a given tag + type: string + response: + docs: Tag found + status-code: 200 + type: Tag + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listTags: + auth: true + display-name: List all tags + docs: |+ + You can fetch a list of all tags for a given workspace. + + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - applied_at: 1663597223 + applied_by: + type: contact + id: '102' + name: Manual tag 1 + type: tag + type: list + method: GET + path: /tags + response: + docs: successful + status-code: 200 + type: unstableRoot.TagList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/teams.yml b/fern/.definition/unstable/teams.yml new file mode 100644 index 0000000..c2a0749 --- /dev/null +++ b/fern/.definition/unstable/teams.yml @@ -0,0 +1,94 @@ +imports: + unstableRoot: __package__.yml +types: + Team: + docs: Teams are groups of admins in Intercom. + properties: + admin_ids: + docs: The list of admin IDs that are a part of the team. + type: optional> + admin_priority_level: + type: optional + id: + docs: The id of the team + type: optional + name: + docs: The name of the team + type: optional + type: + docs: Value is always "team" + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your Teams +service: + auth: false + base-path: '' + display-name: Teams + endpoints: + listTeams: + auth: true + display-name: List all teams + docs: This will return a list of team objects for the App. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + teams: + - admin_ids: + - 493881 + id: '814865' + name: Example Team + type: team + type: team.list + method: GET + path: /teams + response: + docs: successful + status-code: 200 + type: unstableRoot.TeamList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveTeam: + auth: true + display-name: Retrieve a team + docs: >- + You can fetch the details of a single team, containing an array of + admins that belong to this team. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: '123' + response: + body: + admin_ids: + - 493881 + admin_priority_level: + primary_admin_ids: + - 493881 + secondary_admin_ids: + - 814865 + id: '991267902' + name: team 1 + type: team + method: GET + path: /teams/{id} + request: + name: RetrieveTeamRequest + path-parameters: + id: + docs: The unique identifier of a given team. + type: string + response: + docs: successful + status-code: 200 + type: Team + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketStates.yml b/fern/.definition/unstable/ticketStates.yml new file mode 100644 index 0000000..74a19da --- /dev/null +++ b/fern/.definition/unstable/ticketStates.yml @@ -0,0 +1,204 @@ +imports: + unstableRoot: __package__.yml +docs: Everything about your ticket states +service: + auth: false + base-path: '' + display-name: Ticket States + endpoints: + listTicketStates: + auth: true + display-name: List all ticket states + docs: You can get a list of all ticket states for a workspace. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - archived: false + category: submitted + external_label: Submitted + id: '8269' + internal_label: Submitted + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: in_progress + external_label: In progress + id: '8270' + internal_label: In progress + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: waiting_on_customer + external_label: Waiting on you + id: '8271' + internal_label: Waiting on customer + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: resolved + external_label: Resolved + id: '8272' + internal_label: Resolved + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: submitted + external_label: User label + id: '8273' + internal_label: Admin label 1 + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '55' + name: my-ticket-type-3 + type: ticket_type + workspace_id: ecahpwf5 + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '56' + name: my-ticket-type-4 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + - archived: false + category: submitted + external_label: User label + id: '8274' + internal_label: Admin label 2 + ticket_types: + data: + - archived: false + category: Back-office + description: my ticket type description is awesome. + icon: 🦁 + id: '58' + name: my-ticket-type-6 + type: ticket_type + workspace_id: ecahpwf5 + type: list + type: ticket_state + type: list + method: GET + path: /ticket_states + response: + docs: successful + status-code: 200 + type: unstableRoot.TicketStateList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketTypeAttributes.yml b/fern/.definition/unstable/ticketTypeAttributes.yml new file mode 100644 index 0000000..8224f2c --- /dev/null +++ b/fern/.definition/unstable/ticketTypeAttributes.yml @@ -0,0 +1,238 @@ +imports: + unstableRoot: __package__.yml +types: + CreateTicketTypeAttributeRequestDataType: + docs: The data type of the attribute + enum: + - string + - list + - integer + - decimal + - boolean + - datetime + - files + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your ticket type attributes +service: + auth: false + base-path: '' + display-name: Ticket Type Attributes + endpoints: + createTicketTypeAttribute: + auth: true + display-name: Create a new attribute for a ticket type + docs: You can create a new attribute for a ticket type. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Ticket Type Attribute created + path-parameters: + ticket_type_id: ticket_type_id + request: + data_type: string + description: Attribute Description + name: Attribute Title + required_to_create: false + response: + body: + archived: false + created_at: 1734537862 + data_type: string + default: false + description: Attribute Description + id: '157' + input_options: + multiline: false + name: Attribute Title + order: 2 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 63 + type: ticket_type_attribute + updated_at: 1734537862 + visible_on_create: true + visible_to_contacts: true + workspace_id: this_is_an_id640_that_should_be_at_least_ + method: POST + path: /ticket_types/{ticket_type_id}/attributes + request: + body: + properties: + allow_multiple_values: + docs: >- + Whether the attribute allows multiple files to be attached to it + (only applicable to file attributes) + type: optional + data_type: + docs: The data type of the attribute + type: CreateTicketTypeAttributeRequestDataType + description: + docs: >- + The description of the attribute presented to the teammate or + contact + type: string + list_items: + docs: >- + A comma delimited list of items for the attribute value (only + applicable to list attributes) + type: optional + multiline: + docs: >- + Whether the attribute allows multiple lines of text (only + applicable to string attributes) + type: optional + name: + docs: The name of the ticket type attribute + type: string + required_to_create: + default: false + docs: >- + Whether the attribute is required to be filled in when teammates + are creating the ticket in Inbox. + type: optional + required_to_create_for_contacts: + default: false + docs: >- + Whether the attribute is required to be filled in when contacts + are creating the ticket in Messenger. + type: optional + visible_on_create: + default: true + docs: >- + Whether the attribute is visible to teammates when creating a + ticket in Inbox. + type: optional + visible_to_contacts: + default: true + docs: >- + Whether the attribute is visible to contacts when creating a + ticket in Messenger. + type: optional + content-type: application/json + name: CreateTicketTypeAttributeRequest + path-parameters: + ticket_type_id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket Type Attribute created + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateTicketTypeAttribute: + auth: true + display-name: Update an existing attribute for a ticket type + docs: You can update an existing attribute for a ticket type. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Ticket Type Attribute updated + path-parameters: + id: id + ticket_type_id: ticket_type_id + request: + description: New Attribute Description + response: + body: + archived: false + created_at: 1734537864 + data_type: string + default: false + description: New Attribute Description + id: '162' + input_options: + key: value + name: name + order: 0 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 65 + type: ticket_type_attribute + updated_at: 1734537864 + visible_on_create: false + visible_to_contacts: false + workspace_id: this_is_an_id644_that_should_be_at_least_ + method: PUT + path: /ticket_types/{ticket_type_id}/attributes/{id} + request: + body: + properties: + allow_multiple_values: + docs: >- + Whether the attribute allows multiple files to be attached to it + (only applicable to file attributes) + type: optional + archived: + docs: >- + Whether the attribute should be archived and not shown during + creation of the ticket (it will still be present on previously + created tickets) + type: optional + description: + docs: >- + The description of the attribute presented to the teammate or + contact + type: optional + list_items: + docs: >- + A comma delimited list of items for the attribute value (only + applicable to list attributes) + type: optional + multiline: + docs: >- + Whether the attribute allows multiple lines of text (only + applicable to string attributes) + type: optional + name: + docs: The name of the ticket type attribute + type: optional + required_to_create: + default: false + docs: >- + Whether the attribute is required to be filled in when teammates + are creating the ticket in Inbox. + type: optional + required_to_create_for_contacts: + default: false + docs: >- + Whether the attribute is required to be filled in when contacts + are creating the ticket in Messenger. + type: optional + visible_on_create: + default: true + docs: >- + Whether the attribute is visible to teammates when creating a + ticket in Inbox. + type: optional + visible_to_contacts: + default: true + docs: >- + Whether the attribute is visible to contacts when creating a + ticket in Messenger. + type: optional + content-type: application/json + name: UpdateTicketTypeAttributeRequest + path-parameters: + id: + docs: >- + The unique identifier for the ticket type attribute which is given + by Intercom. + type: string + ticket_type_id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket Type Attribute updated + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketTypes.yml b/fern/.definition/unstable/ticketTypes.yml new file mode 100644 index 0000000..f30518b --- /dev/null +++ b/fern/.definition/unstable/ticketTypes.yml @@ -0,0 +1,174 @@ +imports: + unstableRoot: __package__.yml + unstableTickets: tickets.yml +docs: Everything about your ticket types +service: + auth: false + base-path: '' + display-name: Ticket Types + endpoints: + createTicketType: + auth: true + display-name: Create a ticket type + docs: > + 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/) + errors: + - unstableRoot.UnauthorizedError + method: POST + path: /ticket_types + request: + body: unknown + content-type: application/json + response: + docs: Ticket type created + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getTicketType: + auth: true + display-name: Retrieve a ticket type + docs: You can fetch the details of a single ticket type. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Ticket type found + path-parameters: + id: id + response: + body: + archived: false + category: Customer + created_at: 1734537870 + description: Bug Report Template + icon: 🎟️ + id: '72' + name: Bug Report + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8353' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8354' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8355' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8356' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + ticket_type_attributes: + - archived: false + data_type: string + default: true + description: Bug title. + id: '1' + input_options: + key: value + name: Title + order: 1 + required_to_create: false + required_to_create_for_contacts: false + ticket_type_id: 42 + type: ticket_type_attribute + visible_on_create: false + visible_to_contacts: false + workspace_id: ecahpwf5 + type: list + type: ticket_type + updated_at: 1734537870 + workspace_id: this_is_an_id656_that_should_be_at_least_ + method: GET + path: /ticket_types/{id} + request: + name: GetTicketTypeRequest + path-parameters: + id: + docs: >- + The unique identifier for the ticket type which is given by + Intercom. + type: string + response: + docs: Ticket type found + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + listTicketTypes: + auth: true + display-name: List all ticket types + docs: You can get a list of all ticket types for a workspace. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + response: + body: + data: + - archived: false + category: Customer + created_at: 1734537866 + description: Bug Report Template + icon: 🎟️ + id: '67' + name: Bug Report + ticket_states: + data: + - category: submitted + external_label: Submitted + id: '8321' + internal_label: Submitted + type: ticket_state + - category: in_progress + external_label: In progress + id: '8322' + internal_label: In progress + type: ticket_state + - category: waiting_on_customer + external_label: Waiting on you + id: '8323' + internal_label: Waiting on customer + type: ticket_state + - category: resolved + external_label: Resolved + id: '8324' + internal_label: Resolved + type: ticket_state + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537866 + workspace_id: this_is_an_id648_that_should_be_at_least_ + type: list + method: GET + path: /ticket_types + response: + docs: successful + status-code: 200 + type: unstableRoot.TicketTypeList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/tickets.yml b/fern/.definition/unstable/tickets.yml new file mode 100644 index 0000000..1a00909 --- /dev/null +++ b/fern/.definition/unstable/tickets.yml @@ -0,0 +1,1965 @@ +imports: + unstableJobs: jobs.yml + unstableRoot: __package__.yml +types: + DeleteTicketResponse: + docs: Response when a ticket is deleted. + properties: + deleted: + docs: Whether the ticket is deleted or not. + type: optional + id: + docs: The unique identifier for the ticket. + type: optional + object: + docs: always ticket + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + ReplyTicketRequestBody: + discriminated: false + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - type: unstableRoot.ContactReplyTicketRequest + - type: unstableRoot.AdminReplyTicketRequest + Ticket: + docs: Tickets are how you track requests from your users. + properties: + admin_assignee_id: + docs: The id representing the admin assigned to the ticket. + type: optional + category: + docs: Category of the Ticket. + type: optional + contacts: + type: optional + created_at: + docs: The time the ticket was created as a UTC Unix timestamp. + type: optional + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: optional + is_shared: + docs: Whether or not the ticket is shared with the customer. + type: optional + linked_objects: + type: optional + open: + docs: Whether or not the ticket is open. If false, the ticket is closed. + type: optional + snoozed_until: + docs: >- + The time the ticket will be snoozed until as a UTC Unix timestamp. If + null, the ticket is not currently snoozed. + type: optional + team_assignee_id: + docs: The id representing the team assigned to the ticket. + type: optional + ticket_attributes: + type: optional + ticket_id: + docs: >- + The ID of the Ticket used in the Intercom Inbox and Messenger. Do not + use ticket_id for API queries. + type: optional + ticket_parts: + type: optional + ticket_state: + type: optional + ticket_type: + type: optional + type: + docs: Always ticket + type: optional> + updated_at: + docs: The last time the ticket was updated as a UTC Unix timestamp. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketCategory: + docs: Category of the Ticket. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketContacts: + docs: The list of contacts affected by a ticket. + properties: + contacts: + docs: The list of contacts affected by this ticket. + type: optional> + type: + docs: always contact.list + type: optional> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPart: + docs: A Ticket Part represents a message in the ticket. + properties: + app_package_code: + docs: >- + The app package code if this part was created via API. Note this field + won't show if the part was not created via API. + type: optional + assigned_to: + docs: >- + The id of the admin that was assigned the ticket by this ticket_part + (null if there has been no change in assignment.) + type: optional + attachments: + docs: A list of attachments for the part. + type: optional> + author: + type: optional + body: + docs: The message body, which may contain HTML. + type: optional + created_at: + docs: The time the ticket part was created. + type: optional + external_id: + docs: The external id of the ticket part + type: optional + id: + docs: The id representing the ticket part. + type: optional + part_type: + docs: The type of ticket part. + type: optional + previous_ticket_state: + docs: The previous state of the ticket. + type: optional + redacted: + docs: Whether or not the ticket part has been redacted. + type: optional + ticket_state: + docs: The state of the ticket. + type: optional + type: + docs: Always ticket_part + type: optional + updated_at: + docs: The last time the ticket part was updated. + type: optional + updated_attribute_data: + docs: >- + The updated attribute data of the ticket part. Only present for + attribute update parts. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartPreviousTicketState: + docs: The previous state of the ticket. + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartTicketState: + docs: The state of the ticket. + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartUpdatedAttributeData: + docs: >- + The updated attribute data of the ticket part. Only present for attribute + update parts. + inline: true + properties: + attribute: + docs: Information about the attribute that was updated. + type: TicketPartUpdatedAttributeDataAttribute + value: + docs: The new value of the attribute. + type: TicketPartUpdatedAttributeDataValue + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartUpdatedAttributeDataAttribute: + docs: Information about the attribute that was updated. + inline: true + properties: + id: + docs: The unique identifier of the attribute. + type: string + label: + docs: The human-readable name of the attribute. + type: string + type: + docs: The type of the object. Always 'attribute'. + type: literal<"attribute"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartUpdatedAttributeDataValue: + docs: The new value of the attribute. + inline: true + properties: + id: TicketPartUpdatedAttributeDataValueId + label: TicketPartUpdatedAttributeDataValueLabel + type: + docs: The type of the object. Always 'value'. + type: literal<"value"> + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketPartUpdatedAttributeDataValueId: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - docs: >- + The value for text/number/decimal/boolean/date attributes, or the ID + of the list option for list attributes. + type: optional + - docs: Array of file IDs for file attributes. + type: list + TicketPartUpdatedAttributeDataValueLabel: + discriminated: false + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + union: + - docs: >- + The display value for text/number/decimal/boolean/date/list + attributes. + type: string + - docs: Array of file names for file attributes. + type: list + TicketState: + docs: A ticket state, used to define the state of a ticket. + properties: + category: + docs: The category of the ticket state + type: optional + external_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible to customers, in the messenger, email and tickets portal. + type: optional + id: + docs: The id of the ticket state + type: optional + internal_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible in Intercom + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_state`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketStateCategory: + docs: The category of the ticket state + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketStateDetailed: + docs: A ticket state, used to define the state of a ticket. + properties: + archived: + docs: Whether the ticket state is archived + type: optional + category: + docs: The category of the ticket state + type: optional + external_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible to customers, in the messenger, email and tickets portal. + type: optional + id: + docs: The id of the ticket state + type: optional + internal_label: + docs: >- + The state the ticket is currently in, in a human readable form - + visible in Intercom + type: optional + ticket_types: + docs: A list of ticket types associated with a given ticket state. + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_state`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketStateDetailedCategory: + docs: The category of the ticket state + enum: + - submitted + - in_progress + - waiting_on_customer + - resolved + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketStateDetailedTicketTypes: + docs: A list of ticket types associated with a given ticket state. + inline: true + properties: + data: + docs: A list of ticket type attributes associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketType: + docs: A ticket type, used to define the data fields to be captured in a ticket. + properties: + archived: + docs: Whether the ticket type is archived or not. + type: optional + category: + docs: Category of the Ticket Type. + type: optional + created_at: + docs: The date and time the ticket type was created. + type: optional + description: + docs: The description of the ticket type + type: optional + icon: + docs: The icon of the ticket type + type: optional + id: + docs: The id representing the ticket type. + type: optional + name: + docs: The name of the ticket type + type: optional + ticket_states: + docs: A list of ticket states associated with a given ticket type. + type: optional + ticket_type_attributes: + type: optional + type: + docs: >- + String representing the object's type. Always has the value + `ticket_type`. + type: optional + updated_at: + docs: The date and time the ticket type was last updated. + type: optional + workspace_id: + docs: The id of the workspace that the ticket type belongs to. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketTypeCategory: + docs: Category of the Ticket Type. + enum: + - Customer + - name: BackOffice + value: Back-office + - Tracker + inline: true + source: + openapi: ../descriptions/0/api.intercom.io.yaml + TicketTypeTicketStates: + docs: A list of ticket states associated with a given ticket type. + inline: true + properties: + data: + docs: A list of ticket states associated with a given ticket type. + type: optional>> + type: + docs: String representing the object's type. Always has the value `list`. + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml +docs: Everything about your tickets +service: + auth: false + base-path: '' + display-name: Tickets + endpoints: + deleteTicket: + auth: true + display-name: Delete a ticket + docs: You can delete a ticket using the Intercom provided ID. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + path-parameters: + id: id + response: + body: + deleted: true + id: '632' + object: ticket + method: DELETE + path: /tickets/{id} + request: + name: DeleteTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: string + response: + docs: successful + status-code: 200 + type: DeleteTicketResponse + source: + openapi: ../descriptions/0/api.intercom.io.yaml + enqueueCreateTicket: + auth: true + display-name: Enqueue create ticket + docs: >- + Enqueues ticket creation for asynchronous processing, returning if the + job was enqueued successfully to be processed. We attempt to perform a + best-effort validation on inputs before tasks are enqueued. If the given + parameters are incorrect, we won't enqueue the job. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + examples: + - name: Successful response + request: + contacts: + - id: 6762f2d81bb69f9f2193bc54 + ticket_type_id: '1234' + response: + body: + id: '20' + resource_type: ticket + status: pending + type: job + url: https://api.intercom.io/jobs/status/20 + method: POST + path: /tickets/enqueue + request: + body: + extends: + - unstableRoot.CreateTicketRequestBody + properties: + skip_notifications: + docs: Option to disable notifications when a Ticket is created. + type: optional + content-type: application/json + name: EnqueueCreateTicketRequest + response: + docs: Successful response + status-code: 200 + type: unstableJobs.Jobs + source: + openapi: ../descriptions/0/api.intercom.io.yaml + getTicket: + auth: true + display-name: Retrieve a ticket + docs: You can fetch the details of a single ticket. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: Ticket found + path-parameters: + id: id + response: + body: + admin_assignee_id: '0' + category: Back-office + contacts: + contacts: + - external_id: b16afa36-2637-4880-adee-a46d145bc27f + id: 6762f2f61bb69f9f2193bc59 + type: contact + type: contact.list + created_at: 1734537974 + id: '631' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + _default_description_: ticket_attributes + _default_title_: attribute_value + ticket_id: '38' + ticket_parts: + ticket_parts: + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin509@email.com + id: '991268047' + name: Ciaran509 Lee + type: admin + created_at: 1734537975 + id: '185' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537975 + total_count: 1 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '8537' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537973 + description: my ticket type description is awesome. + icon: 🦁 + id: '95' + name: my-ticket-type-30 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537973 + workspace_id: this_is_an_id702_that_should_be_at_least_ + type: ticket + updated_at: 1734537976 + method: GET + path: /tickets/{id} + request: + name: GetTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom. + type: string + response: + docs: Ticket found + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + replyTicket: + auth: true + display-name: Reply to a ticket + docs: >- + You can reply to a ticket with a message from an admin or on behalf of a + contact, or with a note for admins. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: User reply + path-parameters: + id: '123' + request: + body: Thanks again :) + intercom_user_id: 6762f2971bb69f9f2193bc49 + message_type: comment + type: user + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + - name: Admin note reply + path-parameters: + id: '123' + request: + admin_id: '3156780' + body: >- +

An Unordered HTML List

    +
  • Coffee
  • Tea
  • Milk

An + Ordered HTML List

  1. Coffee
  2. Tea
  3. +
  4. Milk
+ message_type: note + type: admin + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + - name: Admin quick_reply reply + path-parameters: + id: '123' + request: + admin_id: '3156780' + message_type: quick_reply + reply_options: + - text: 'Yes' + uuid: 0df48b85-9a93-4c66-a167-753eff0baaec + - text: 'No' + uuid: 4f0b5145-4193-4b4f-8cad-ce19478a3938 + type: admin + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin423@email.com + id: '991267948' + name: Ciaran423 Lee + type: admin + body:

Okay!

+ created_at: 1734537890 + id: '158' + part_type: quick_reply + redacted: false + type: ticket_part + updated_at: 1734537890 + - name: Not found + path-parameters: + id: '123' + request: + body: Thanks again :) + intercom_user_id: 6762f2a41bb69f9f2193bc4c + message_type: comment + type: user + response: + body: + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin419@email.com + id: '991267943' + name: Ciaran419 Lee + type: admin + body: |- +

An Unordered HTML List

+
    +
  • Coffee
  • +
  • Tea
  • +
  • Milk
  • +
+

An Ordered HTML List

+
    +
  1. Coffee
  2. +
  3. Tea
  4. +
  5. Milk
  6. +
+ created_at: 1734537884 + id: '156' + part_type: note + redacted: false + type: ticket_part + updated_at: 1734537884 + method: POST + path: /tickets/{id}/reply + request: + body: ReplyTicketRequestBody + content-type: application/json + name: ReplyTicketRequest + path-parameters: + id: string + response: + docs: Admin Reply to send Quick Reply Options + status-code: 200 + type: unstableRoot.TicketReply + source: + openapi: ../descriptions/0/api.intercom.io.yaml + searchTickets: + auth: true + display-name: Search tickets + docs: > + You can search for multiple tickets by the value of their attributes in + order to fetch exactly which ones you want. + + + To search for tickets, you send a `POST` request to + `https://api.intercom.io/tickets/search`. + + + This will accept a query object in the body which will define your + filters. + + {% 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. + 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 multiples 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 Ticket 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 `"foobar"`). + + 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) + | + + | _default_title_ | + String + | + + | _default_description_ | + String + | + + | category | + String + | + + | ticket_type_id | + String + | + + | contact_ids | + String + | + + | teammate_ids | + String + | + + | admin_assignee_id | + String + | + + | team_assignee_id | + String + | + + | open | + Boolean + | + + | state | + String + | + + | snoozed_until | Date (UNIX + timestamp) + | + + | ticket_attribute.{id} | String or Boolean or Date + (UNIX timestamp) or Float or Integer | + + + {% admonition type="info" name="Searching by Category" %} + + When searching for tickets by the **`category`** field, specific terms + must be used instead of the category names: + + * For **Customer** category tickets, use the term `request`. + + * For **Back-office** category tickets, use the term `task`. + + * For **Tracker** category tickets, use the term `tracker`. + + {% /admonition %} + + + ### Accepted Operators + + + {% admonition type="info" name="Searching based on `created_at`" %} + You may use the `<=` or `>=` operators to search by `created_at`. + {% /admonition %} + + + The table below shows the operators you can use to define how you want + to search for the value. The operator should be put in as a string + (`"="`). The operator has to be compatible with the field's type (eg. + you cannot search with `>` for a given string value as it's only + compatible for integer's and dates). + + + | Operator | Valid Types | + Description | + + | :------- | :----------------------------- | + :----------------------------------------------------------- | + + | = | All | + Equals | + + | != | All | Doesn't + Equal | + + | IN | All | In Shortcut for `OR` + queries Values most be in Array | + + | NIN | All | Not In Shortcut for `OR + !` queries Values must be in Array | + + | > | Integer Date (UNIX Timestamp) | Greater (or equal) + than | + + | < | Integer Date (UNIX Timestamp) | Lower (or equal) + than | + + | ~ | String | + Contains | + + | !~ | String | Doesn't + Contain | + + | ^ | String | Starts + With | + + | $ | String | Ends + With | + examples: + - name: successful + request: + pagination: + per_page: 5 + query: + operator: AND + value: + - field: created_at + operator: '>' + value: '1306054154' + response: + body: + pages: + next: + per_page: 2 + starting_after: your-cursor-from-response + page: 1 + per_page: 5 + total_pages: 1 + type: pages + tickets: + - admin_assignee_id: '0' + category: Back-office + contacts: + contacts: + - external_id: 9b913927-c084-4391-b1db-098341b5ffe3 + id: 6762f3061bb69f9f2193bc5b + type: contact + type: contact.list + created_at: 1734537990 + id: '633' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1663597260 + team_assignee_id: '0' + ticket_attributes: + _default_title_: attribute_value + ticket_id: '40' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin539@email.com + id: '991268079' + name: Ciaran539 Lee + type: admin + created_at: 1734537991 + id: '188' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537991 + total_count: 1 + type: ticket_part.list + ticket_state: + category: submitted + external_label: Submitted + id: '8577' + internal_label: Submitted + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537989 + description: my ticket type description is awesome. + icon: 🦁 + id: '100' + name: my-ticket-type-35 + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537989 + workspace_id: this_is_an_id712_that_should_be_at_least_ + type: ticket + updated_at: 1734537992 + total_count: 1 + type: ticket.list + method: POST + path: /tickets/search + request: + body: + type: unstableRoot.SearchRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: unstableRoot.TicketList + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateTicket: + auth: true + display-name: Update a ticket + docs: You can update a ticket. + errors: + - unstableRoot.BadRequestError + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: Successful response + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + open: true + snoozed_until: 1673609604 + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: Admin not found + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: Assignee not found + path-parameters: + id: id + request: + admin_id: 991268011 + assignee_id: '123' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + - name: >- + Ticket state id is not valid or is not associated with the ticket + type. + path-parameters: + id: id + request: + ticket_state_id: '123' + response: + body: + admin_assignee_id: '991268013' + category: Back-office + contacts: + contacts: + - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce + id: 6762f2dd1bb69f9f2193bc55 + type: contact + type: contact.list + created_at: 1734537950 + id: '627' + is_shared: false + linked_objects: + data: + - id: '7583' + has_more: false + total_count: 0 + type: list + open: true + snoozed_until: 1734627600 + team_assignee_id: '0' + ticket_attributes: + _default_description_: there is a problem + _default_title_: example + ticket_id: '34' + ticket_parts: + ticket_parts: + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537951 + id: '176' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: submitted + type: ticket_part + updated_at: 1734537951 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '177' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '10' + label: Photo + type: attribute + value: + id: + - 2 + label: + - photo.png + type: value + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537953 + id: '178' + part_type: ticket_attribute_updated_by_admin + redacted: false + type: ticket_part + updated_at: 1734537953 + updated_attribute_data: + attribute: + id: '7' + label: Progress + type: attribute + value: + id: Fast + label: Fast + type: value + - app_package_code: test-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537954 + id: '179' + part_type: ticket_state_updated_by_admin + previous_ticket_state: submitted + redacted: false + ticket_state: in_progress + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + assigned_to: + id: '991268013' + type: admin + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: admin477@email.com + id: '991268011' + name: Ciaran477 Lee + type: admin + created_at: 1734537954 + id: '180' + part_type: assignment + redacted: false + type: ticket_part + updated_at: 1734537954 + - app_package_code: text-integration + attachments: + - content_type: image/png + filesize: 100 + height: 100 + name: example.png + type: upload + url: https://picsum.photos/200/300 + width: 100 + author: + email: >- + operator+this_is_an_id692_that_should_be_at_least_@intercom.io + id: '991268012' + name: Fin + type: bot + created_at: 1734537955 + id: '181' + part_type: snoozed + redacted: false + type: ticket_part + updated_at: 1734537955 + total_count: 6 + type: ticket_part.list + ticket_state: + category: in_progress + external_label: In progress + id: '8498' + internal_label: In progress + type: ticket_state + ticket_type: + archived: false + category: Back-office + created_at: 1734537948 + description: my ticket type description is awesome. + icon: 🦁 + id: '90' + name: my-ticket-type-25 + ticket_states: + type: list + ticket_type_attributes: + type: list + type: ticket_type + updated_at: 1734537948 + workspace_id: this_is_an_id692_that_should_be_at_least_ + type: ticket + updated_at: 1734537955 + method: PUT + path: /tickets/{id} + request: + body: + properties: + admin_id: + docs: >- + The ID of the admin performing ticket update. Needed for + workflows execution and attributing actions to specific admins. + type: optional + assignee_id: + docs: >- + The ID of the admin or team to which the ticket is assigned. Set + this 0 to unassign it. + type: optional + company_id: + docs: >- + The ID of the company that the ticket is associated with. The + unique identifier for the company which is given by Intercom. + Set to nil to remove company. + type: optional + is_shared: + docs: Specify whether the ticket is visible to users. + type: optional + open: + docs: >- + Specify if a ticket is open. Set to false to close a ticket. + Closing a ticket will also unsnooze it. + type: optional + snoozed_until: + docs: The time you want the ticket to reopen. + type: optional + ticket_attributes: + docs: The attributes set on the ticket. + type: optional> + ticket_state_id: + docs: The ID of the ticket state associated with the ticket type. + type: optional + content-type: application/json + name: UpdateTicketRequest + path-parameters: + id: + docs: The unique identifier for the ticket which is given by Intercom + type: string + response: + docs: Successful response + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/visitors.yml b/fern/.definition/unstable/visitors.yml new file mode 100644 index 0000000..64403d6 --- /dev/null +++ b/fern/.definition/unstable/visitors.yml @@ -0,0 +1,365 @@ +imports: + root: ../__package__.yml + unstableContacts: contacts.yml + unstableRoot: __package__.yml +docs: Everything about your Visitors +service: + auth: false + base-path: '' + display-name: Visitors + endpoints: + convertVisitor: + auth: true + display-name: Convert a visitor + docs: > + You can merge a Visitor to a Contact of role type `lead` or `user`. + + + > 📘 What happens upon a visitor being converted? + + > + + > If the User exists, then the Visitor will be merged into it, the + Visitor deleted and the User returned. If the User does not exist, the + Visitor will be converted to a User, with the User identifiers replacing + it's Visitor identifiers. + errors: + - unstableRoot.UnauthorizedError + examples: + - name: successful + request: + type: user + user: + email: foo@bar.com + visitor: + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/companies + created_at: 1734538004 + custom_attributes: + key: value + email: foo@bar.com + email_domain: example.com + has_hard_bounced: false + id: 6762f3141bb69f9f2193bc6b + location: + type: location + marked_email_as_spam: false + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/notes + role: user + signed_up_at: 1734538004 + social_profiles: + data: + - name: Facebook + type: social_profile + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734538005 + workspace_id: this_is_an_id728_that_should_be_at_least_ + method: POST + path: /visitors/convert + request: + body: + properties: + type: + docs: >- + Represents the role of the Contact model. Accepts `lead` or + `user`. + type: string + user: unknown + visitor: unknown + content-type: application/json + name: ConvertVisitorRequest + response: + docs: successful + status-code: 200 + type: unstableContacts.Contact + source: + openapi: ../descriptions/0/api.intercom.io.yaml + retrieveVisitorWithUserId: + auth: true + display-name: Retrieve a visitor with User ID + docs: You can fetch the details of a single visitor. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + query-parameters: + user_id: user_id + response: + body: + anonymous: true + app_id: this_is_an_id722_that_should_be_at_least_ + avatar: + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: custom_attributes + paid_subscriber: custom_attributes + team_mates: custom_attributes + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734538000 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f3101bb69f9f2193bc64 + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + remote_created_at: 1734538000 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734538000 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734538000 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + method: GET + path: /visitors + request: + name: RetrieveVisitorWithUserIdRequest + query-parameters: + user_id: + docs: The user_id of the Visitor you want to retrieve. + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + updateVisitor: + auth: true + display-name: Update a visitor + docs: > + Sending a PUT request to `/visitors` will result in an update of an + existing Visitor. + + + **Option 1.** You can update a visitor by passing in the `user_id` of + the visitor in the Request body. + + + **Option 2.** You can update a visitor by passing in the `id` of the + visitor in the Request body. + errors: + - unstableRoot.UnauthorizedError + - unstableRoot.NotFoundError + examples: + - name: successful + request: + id: 6762f30c1bb69f9f2193bc5e + name: Gareth Bale + response: + body: + anonymous: true + app_id: this_is_an_id716_that_should_be_at_least_ + avatar: + image_url: >- + https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: custom_attributes + paid_subscriber: custom_attributes + team_mates: custom_attributes + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734537996 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f30c1bb69f9f2193bc5e + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + name: Gareth Bale + pseudonym: Violet Suitcase + remote_created_at: 1734537996 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734537996 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734537997 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + - name: visitor Not Found + request: + name: Christian Fail + user_id: fail + response: + body: + anonymous: true + app_id: this_is_an_id716_that_should_be_at_least_ + avatar: + image_url: >- + https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: custom_attributes + paid_subscriber: custom_attributes + team_mates: custom_attributes + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734537996 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f30c1bb69f9f2193bc5e + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + name: Gareth Bale + pseudonym: Violet Suitcase + remote_created_at: 1734537996 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734537996 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734537997 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + method: PUT + path: /visitors + request: + body: root.UpdateVisitorRequestOne + content-type: application/json + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/0/api.intercom.io.yaml + source: + openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/visitors.yml b/fern/.definition/visitors.yml new file mode 100644 index 0000000..f0f6bcc --- /dev/null +++ b/fern/.definition/visitors.yml @@ -0,0 +1,435 @@ +imports: + contacts: contacts.yml + root: __package__.yml +types: + ConvertVisitorRequestUser: + discriminated: false + docs: The unique identifiers retained after converting or merging. + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - UserWithId + - UserWithUserId + ConvertVisitorRequestVisitor: + discriminated: false + docs: The unique identifiers to convert a single Visitor. + inline: true + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + union: + - VisitorWithId + - VisitorWithUserId + - VisitorWithEmail + UserWithId: + inline: true + properties: + email: + docs: The contact's email, retained by default if one is present. + type: optional + id: + docs: The unique identifier for the contact which is given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + UserWithUserId: + inline: true + properties: + email: + docs: The contact's email, retained by default if one is present. + type: optional + user_id: + docs: A unique identifier for the contact which is given to Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorWithEmail: + inline: true + properties: + email: + docs: The visitor's email. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorWithId: + inline: true + properties: + id: + docs: The unique identifier for the contact which is given by Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + VisitorWithUserId: + inline: true + properties: + user_id: + docs: A unique identifier for the contact which is given to Intercom. + type: string + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml +docs: Everything about your Visitors +service: + auth: false + base-path: '' + display-name: Visitors + endpoints: + find: + auth: true + display-name: Retrieve a visitor with User ID + docs: You can fetch the details of a single visitor. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + query-parameters: + user_id: user_id + response: + body: + anonymous: true + app_id: this_is_an_id722_that_should_be_at_least_ + avatar: + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: 155.5 + paid_subscriber: true + team_mates: 9 + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734538000 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f3101bb69f9f2193bc64 + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + remote_created_at: 1734538000 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734538000 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734538000 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + method: GET + path: /visitors + request: + name: FindVisitorRequest + query-parameters: + user_id: + docs: The user_id of the Visitor you want to retrieve. + type: string + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + mergeToContact: + auth: true + display-name: Convert a visitor + docs: > + You can merge a Visitor to a Contact of role type `lead` or `user`. + + + > 📘 What happens upon a visitor being converted? + + > + + > If the User exists, then the Visitor will be merged into it, the + Visitor deleted and the User returned. If the User does not exist, the + Visitor will be converted to a User, with the User identifiers replacing + it's Visitor identifiers. + errors: + - root.UnauthorizedError + examples: + - name: successful + request: + type: user + user: + email: foo@bar.com + id: 8a88a590-e1c3-41e2-a502-e0649dbf721c + visitor: + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + response: + body: + companies: + data: + - id: 5ba682d23d7cf92bef87bfd4 + url: /companies/5ba682d23d7cf92bef87bfd4 + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/companies + created_at: 1734538004 + custom_attributes: + key: value + email: foo@bar.com + email_domain: example.com + has_hard_bounced: false + id: 6762f3141bb69f9f2193bc6b + location: + type: location + marked_email_as_spam: false + notes: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/notes + role: user + signed_up_at: 1734538004 + social_profiles: + data: + - name: Facebook + url: http://twitter.com/th1sland + tags: + data: + - id: '123' + type: note + url: /contacts/5ba682d23d7cf92bef87bfd4/notes + has_more: false + total_count: 0 + url: /contacts/6762f3141bb69f9f2193bc6b/tags + type: contact + unsubscribed_from_emails: false + updated_at: 1734538005 + workspace_id: this_is_an_id728_that_should_be_at_least_ + method: POST + path: /visitors/convert + request: + body: + properties: + type: + docs: >- + Represents the role of the Contact model. Accepts `lead` or + `user`. + type: string + user: + docs: The unique identifiers retained after converting or merging. + type: ConvertVisitorRequestUser + visitor: + docs: The unique identifiers to convert a single Visitor. + type: ConvertVisitorRequestVisitor + content-type: application/json + name: MergeVisitorToContactRequest + response: + docs: successful + status-code: 200 + type: contacts.Contact + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + update: + auth: true + display-name: Update a visitor + docs: > + Sending a PUT request to `/visitors` will result in an update of an + existing Visitor. + + + **Option 1.** You can update a visitor by passing in the `user_id` of + the visitor in the Request body. + + + **Option 2.** You can update a visitor by passing in the `id` of the + visitor in the Request body. + errors: + - root.UnauthorizedError + - root.NotFoundError + examples: + - name: successful + request: + id: 6762f30c1bb69f9f2193bc5e + name: Gareth Bale + response: + body: + anonymous: true + app_id: this_is_an_id716_that_should_be_at_least_ + avatar: + image_url: >- + https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: 155.5 + paid_subscriber: true + team_mates: 9 + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734537996 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f30c1bb69f9f2193bc5e + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + name: Gareth Bale + pseudonym: Violet Suitcase + remote_created_at: 1734537996 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734537996 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734537997 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + - name: visitor Not Found + request: + name: Christian Fail + user_id: fail + response: + body: + anonymous: true + app_id: this_is_an_id716_that_should_be_at_least_ + avatar: + image_url: >- + https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png + type: avatar + companies: + companies: + - app_id: ecahpwf5 + company_id: '6' + created_at: 1663597223 + custom_attributes: + monthly_spend: 155.5 + paid_subscriber: true + team_mates: 9 + id: 531ee472cce572a6ec000006 + industry: Software + last_request_at: 1663597223 + monthly_spend: 100 + name: Blue Sun + remote_created_at: 1663597223 + session_count: 100 + size: 100 + updated_at: 1663597223 + user_count: 100 + website: https://www.intercom.com + type: company.list + created_at: 1734537996 + custom_attributes: + key: value + email: '' + has_hard_bounced: false + id: 6762f30c1bb69f9f2193bc5e + las_request_at: 1663597260 + location_data: + city_name: Dublin + continent_code: EU + country_code: IRL + country_name: Ireland + postal_code: D02 N960 + region_name: Leinster + timezone: Europe/Dublin + type: location_data + marked_email_as_spam: false + name: Gareth Bale + pseudonym: Violet Suitcase + remote_created_at: 1734537996 + segments: + segments: + - segments + type: segment.list + session_count: 0 + signed_up_at: 1734537996 + social_profiles: + social_profiles: + - social_profiles + type: social_profile.list + tags: + tags: + - id: '8482' + name: tag_name + type: tag.list + type: visitor + unsubscribed_from_emails: false + updated_at: 1734537997 + user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 + method: PUT + path: /visitors + request: + body: + type: root.UpdateVisitorRequest + content-type: application/json + response: + docs: successful + status-code: 200 + type: optional + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml + source: + openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 169ecaa..1b6f910 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -17,13 +17,13 @@ paths: - admins x-fern-sdk-method-name: list x-fern-request-name: ListAdminsRequest - /admins/{admin_id}: + /admins/{id}: get: x-fern-sdk-group-name: - admins x-fern-sdk-method-name: find x-fern-request-name: FindAdminRequest - /admins/{admin_id}/away: + /admins/{id}/away: put: x-fern-sdk-group-name: - admins @@ -43,7 +43,7 @@ paths: - articles x-fern-sdk-method-name: create x-fern-request-name: CreateArticleRequest - /articles/{article_id}: + /articles/{id}: get: x-fern-sdk-group-name: - articles @@ -81,7 +81,7 @@ paths: - collections x-fern-sdk-method-name: create x-fern-request-name: CreateCollectionRequest - /help_center/collections/{collection_id}: + /help_center/collections/{id}: get: x-fern-sdk-group-name: - helpCenters @@ -109,7 +109,7 @@ paths: - helpCenters x-fern-sdk-method-name: list x-fern-request-name: ListHelpCentersRequest - /help_center/help_centers/{help_center_id}: + /help_center/help_centers/{id}: get: x-fern-sdk-group-name: - helpCenters @@ -135,7 +135,7 @@ paths: - companies x-fern-sdk-method-name: createOrUpdate x-fern-request-name: CreateOrUpdateCompanyRequest - /companies/{company_id}: + /companies/{id}: get: x-fern-sdk-group-name: - companies @@ -151,13 +151,13 @@ paths: - companies x-fern-sdk-method-name: delete x-fern-request-name: DeleteCompanyRequest - /companies/{company_id}/contacts: + /companies/{id}/contacts: get: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: listAttachedContacts x-fern-request-name: ListAttachedContactsRequest - /companies/{company_id}/segments: + /companies/{id}/segments: get: x-fern-sdk-group-name: - companies @@ -197,7 +197,7 @@ paths: - contacts x-fern-sdk-method-name: create x-fern-request-name: CreateContactRequest - /contacts/{contact_id}: + /contacts/{id}: get: x-fern-sdk-group-name: - contacts @@ -213,7 +213,7 @@ paths: - contacts x-fern-sdk-method-name: delete x-fern-request-name: DeleteContactRequest - /contacts/{contact_id}/companies: + /contacts/{id}/companies: get: x-fern-pagination: offset: $request.page @@ -234,13 +234,13 @@ paths: properties: id: x-fern-property-name: company_id - /contacts/{contact_id}/companies/{company_id}: + /contacts/{contact_id}/companies/{id}: delete: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: detachContact x-fern-request-name: DetachContactFromCompanyRequest - /contacts/{contact_id}/notes: + /contacts/{id}/notes: get: x-fern-pagination: offset: $request.page @@ -278,7 +278,7 @@ paths: properties: id: x-fern-property-name: subscription_id - /contacts/{contact_id}/subscriptions/{subscription_id}: + /contacts/{contact_id}/subscriptions/{id}: delete: x-fern-sdk-group-name: - contacts @@ -302,19 +302,19 @@ paths: properties: id: x-fern-property-name: tag_id - /contacts/{contact_id}/tags/{tag_id}: + /contacts/{contact_id}/tags/{id}: delete: x-fern-sdk-group-name: - tags x-fern-sdk-method-name: untagContact x-fern-request-name: UntagContactRequest - /contacts/{contact_id}/archive: + /contacts/{id}/archive: post: x-fern-sdk-group-name: - contacts x-fern-sdk-method-name: archive x-fern-request-name: ArchiveContactRequest - /contacts/{contact_id}/unarchive: + /contacts/{id}/unarchive: post: x-fern-sdk-group-name: - contacts @@ -348,7 +348,7 @@ paths: properties: id: x-fern-property-name: tag_id - /conversations/{conversation_id}/tags/{tag_id}: + /conversations/{conversation_id}/tags/{d}: delete: x-fern-sdk-group-name: - tags @@ -369,7 +369,7 @@ paths: - conversations x-fern-sdk-method-name: create x-fern-request-name: CreateConversationRequest - /conversations/{conversation_id}: + /conversations/{id}: get: x-fern-sdk-group-name: - conversations @@ -380,7 +380,7 @@ paths: - conversations x-fern-sdk-method-name: update x-fern-request-name: UpdateConversationRequest - /conversations/{conversation_id}/reply: + /conversations/{id}/reply: post: requestBody: content: @@ -396,19 +396,19 @@ paths: - conversations x-fern-sdk-method-name: reply x-fern-request-name: ReplyToConversationRequest - /conversations/{conversation_id}/parts: + /conversations/{id}/parts: post: x-fern-sdk-group-name: - conversations x-fern-sdk-method-name: manage x-fern-request-name: ManageConversationPartsRequest - /conversations/{conversation_id}/run_assignment_rules: + /conversations/{id}/run_assignment_rules: post: x-fern-sdk-group-name: - conversations x-fern-sdk-method-name: runAssignmentRules x-fern-request-name: AutoAssignConversationRequest - /conversations/{conversation_id}/customers: + /conversations/{id}/customers: post: x-fern-sdk-group-name: - conversations @@ -420,7 +420,7 @@ paths: - conversations x-fern-sdk-method-name: detachContactAsAdmin x-fern-request-name: DetachContactFromConversationRequest - /conversations/{conversation_id}/convert: + /conversations/{id}/convert: post: x-fern-sdk-group-name: - conversations @@ -453,7 +453,7 @@ paths: - dataAttributes x-fern-sdk-method-name: create x-fern-request-name: CreateDataAttributeRequest - /data_attributes/{data_attribute_id}: + /data_attributes/{id}: put: x-fern-sdk-group-name: - dataAttributes @@ -572,7 +572,7 @@ paths: - items x-fern-sdk-method-name: create x-fern-request-name: CreateNewsItemRequest - /news/news_items/{news_item_id}: + /news/news_items/{id}: get: x-fern-sdk-group-name: - news @@ -598,21 +598,21 @@ paths: - feeds x-fern-sdk-method-name: list x-fern-request-name: ListNewsFeedsRequest - /news/newsfeeds/{newsfeed_id}: + /news/newsfeeds/{id}: get: x-fern-sdk-group-name: - news - feeds x-fern-sdk-method-name: find x-fern-request-name: FindNewsFeedRequest - /news/newsfeeds/{newsfeed_id}/items: + /news/newsfeeds/{id}/items: get: x-fern-sdk-group-name: - news - feeds x-fern-sdk-method-name: listItems x-fern-request-name: ListNewsFeedItemsRequest - /notes/{note_id}: + /notes/{id}: get: x-fern-sdk-group-name: - notes @@ -624,7 +624,7 @@ paths: - segments x-fern-sdk-method-name: list x-fern-request-name: ListSegmentsRequest - /segments/{segment_id}: + /segments/{id}: get: x-fern-sdk-group-name: - segments @@ -653,7 +653,7 @@ paths: - tags x-fern-sdk-method-name: create x-fern-request-name: CreateTagRequest - /tags/{tag_id}: + /tags/{id}: get: x-fern-sdk-group-name: - tags @@ -670,7 +670,7 @@ paths: - teams x-fern-sdk-method-name: list x-fern-request-name: ListTeamsRequest - /teams/{team_id}: + /teams/{id}: get: x-fern-sdk-group-name: - teams @@ -687,7 +687,7 @@ paths: - ticketTypes x-fern-sdk-method-name: create x-fern-request-name: CreateTicketTypeRequest - /ticket_types/{ticket_type_id}: + /ticket_types/{id}: get: x-fern-sdk-group-name: - ticketTypes @@ -705,7 +705,7 @@ paths: - attributes x-fern-sdk-method-name: create x-fern-request-name: CreateTicketTypeAttributeRequest - /ticket_types/{ticket_type_id}/attributes/{attribute_id}: + /ticket_types/{ticket_type_id}/attributes/{id}: put: x-fern-sdk-group-name: - ticketTypes @@ -718,7 +718,7 @@ paths: - tickets x-fern-sdk-method-name: create x-fern-request-name: CreateTicketRequest - /tickets/{ticket_id}: + /tickets/{id}: get: x-fern-sdk-group-name: - tickets @@ -729,7 +729,7 @@ paths: - tickets x-fern-sdk-method-name: update x-fern-request-name: UpdateTicketRequest - /tickets/{ticket_id}/reply: + /tickets/{id}/reply: post: requestBody: content: @@ -758,7 +758,7 @@ paths: properties: id: x-fern-property-name: tag_id - /tickets/{ticket_id}/tags/{tag_id}: + /tickets/{ticket_id}/tags/{id}: delete: x-fern-sdk-group-name: - tags From e5585ce5caf78e6526b22cdeb1fdef052a3edf8d Mon Sep 17 00:00:00 2001 From: jsklan Date: Tue, 2 Sep 2025 19:41:14 -0400 Subject: [PATCH 03/20] interim --- fern/openapi-overrides.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 1b6f910..000ced1 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -1384,6 +1384,8 @@ components: title: Custom atttributes type: object description: Custom data set for this data. + example: + monthly_spend: '155.5' # enum additions contact: From b7396ed62a597e65a43c22d169bba5ff64236fd9 Mon Sep 17 00:00:00 2001 From: jsklan Date: Tue, 2 Sep 2025 19:51:46 -0400 Subject: [PATCH 04/20] interim --- descriptions/2.14/api.intercom.io.yaml | 24 ++++++++++++++++++++++++ fern/unstable-openapi-overrides.yml | 14 +++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index 4a41474..2c4df4d 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -8199,6 +8199,12 @@ paths: description: | Notifies Intercom that a new conversation was created in your custom channel/platform. This triggers conversation creation and workflow automations within Intercom for your custom channel integration. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8236,6 +8242,12 @@ paths: description: | Notifies Intercom that a new message was sent in a conversation on your custom channel/platform. This allows Intercom to process the message and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8282,6 +8294,12 @@ paths: description: | Notifies Intercom that a user selected a quick reply option in your custom channel/platform. This allows Intercom to process the response and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8328,6 +8346,12 @@ paths: description: | Notifies Intercom that a user provided a response to an attribute collector in your custom channel/platform. This allows Intercom to process the attribute and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' requestBody: required: true content: diff --git a/fern/unstable-openapi-overrides.yml b/fern/unstable-openapi-overrides.yml index d16f018..0e4dadf 100644 --- a/fern/unstable-openapi-overrides.yml +++ b/fern/unstable-openapi-overrides.yml @@ -6,13 +6,13 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateDataAttributeRequest' - '/data_attributes/{id}': - put: - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateDataAttributeRequest' + # '/data_attributes/{id}': + # put: + # requestBody: + # content: + # application/json: + # schema: + # $ref: '#/components/schemas/UpdateDataAttributeRequest' '/articles': post: requestBody: From 34b522d23c151fc9ab64f0491c9140e163a5320d Mon Sep 17 00:00:00 2001 From: jsklan Date: Tue, 2 Sep 2025 19:58:59 -0400 Subject: [PATCH 05/20] interim --- fern/openapi-overrides.yml | 13 +++++++++++++ fern/unstable-openapi-overrides.yml | 16 ++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 000ced1..671e78c 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -1327,6 +1327,19 @@ components: example: winstonsmith@truth.org required: - email + update_internal_article_request: + x-fern-type-name: UpdateInternalArticleRequestBody + nullable: false + create_ticket_request: + x-fern-type-name: CreateTicketRequestBody + properties: + ticket_attributes: null + update_data_attribute_request: + x-fern-type-name: UpdateDataAttributeRequestBody + update_article_request: + x-fern-type-name: UpdateArticleRequestBody + update_ticket_type_request: + x-fern-type-name: UpdateTicketTypeRequestBody update_visitor_request: properties: null anyOf: diff --git a/fern/unstable-openapi-overrides.yml b/fern/unstable-openapi-overrides.yml index 0e4dadf..65dd8b0 100644 --- a/fern/unstable-openapi-overrides.yml +++ b/fern/unstable-openapi-overrides.yml @@ -6,13 +6,13 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateDataAttributeRequest' - # '/data_attributes/{id}': - # put: - # requestBody: - # content: - # application/json: - # schema: - # $ref: '#/components/schemas/UpdateDataAttributeRequest' + '/data_attributes/{id}': + put: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDataAttributeRequest' '/articles': post: requestBody: @@ -115,7 +115,7 @@ components: create_data_attribute_request: x-fern-type-name: CreateDataAttributeRequest update_data_attribute_request: - x-fern-type-name: UpdateDataAttributeRequest + x-fern-type-name: UpdateDataAttributeRequestBody custom_attributes: example: monthly_spend: '155.5' From 6f5d73529a08ab1966e1683357fb7d0ceb2f657e Mon Sep 17 00:00:00 2001 From: jsklan Date: Tue, 2 Sep 2025 20:15:52 -0400 Subject: [PATCH 06/20] interim --- fern/openapi-overrides.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 671e78c..1fd7a5b 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -1336,8 +1336,6 @@ components: ticket_attributes: null update_data_attribute_request: x-fern-type-name: UpdateDataAttributeRequestBody - update_article_request: - x-fern-type-name: UpdateArticleRequestBody update_ticket_type_request: x-fern-type-name: UpdateTicketTypeRequestBody update_visitor_request: @@ -1463,7 +1461,8 @@ components: - boolean - datetime - files - update_article_request_body: + update_article_request: + x-fern-type-name: UpdateArticleRequestBody properties: parent_type: enum: From c11add8436937f3d384ee85baa08c321c5d264b6 Mon Sep 17 00:00:00 2001 From: jsklan Date: Tue, 2 Sep 2025 20:23:52 -0400 Subject: [PATCH 07/20] fern check succeeds --- descriptions/2.14/api.intercom.io.yaml | 90 ++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index 2c4df4d..f7775fa 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -974,6 +974,20 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer tags: - Articles operationId: listArticles @@ -1782,6 +1796,20 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer tags: - Help Center operationId: listAllCollections @@ -2203,6 +2231,20 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer tags: - Help Center operationId: listHelpCenters @@ -3486,6 +3528,20 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer tags: - Contacts - Companies @@ -3663,6 +3719,20 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer tags: - Notes - Contacts @@ -5193,6 +5263,26 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer + - name: starting_after + in: query + required: false + description: String used to get the next page of conversations. + schema: + type: string tags: - Contacts operationId: ListContacts From 452ed06c157b9b64e33b0b461622c286d806cc35 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 09:47:07 -0400 Subject: [PATCH 08/20] remove .definition --- fern/.definition/__package__.yml | 6132 ----------------- fern/.definition/admins.yml | 386 -- fern/.definition/aiAgent.yml | 56 - fern/.definition/aiContent.yml | 773 --- fern/.definition/aiContentSource.yml | 18 - fern/.definition/api.yml | 39 - fern/.definition/articles.yml | 2515 ------- fern/.definition/awayStatusReasons.yml | 37 - fern/.definition/calls.yml | 291 - fern/.definition/companies.yml | 1038 --- fern/.definition/contacts.yml | 1608 ----- fern/.definition/conversations.yml | 4030 ----------- fern/.definition/customChannelEvents.yml | 226 - fern/.definition/customObjectInstances.yml | 278 - fern/.definition/dataAttributes.yml | 800 --- fern/.definition/dataEvents.yml | 36 - fern/.definition/dataExport.yml | 216 - fern/.definition/events.yml | 300 - fern/.definition/export.yml | 186 - fern/.definition/helpCenter.yml | 770 --- fern/.definition/helpCenters.yml | 56 - fern/.definition/helpCenters/collections.yml | 484 -- fern/.definition/internalArticles.yml | 345 - fern/.definition/jobs.yml | 87 - fern/.definition/messages.yml | 293 - fern/.definition/news.yml | 378 - fern/.definition/news/feeds.yml | 73 - fern/.definition/news/items.yml | 178 - fern/.definition/notes.yml | 359 - fern/.definition/phoneCallRedirects.yml | 77 - fern/.definition/segments.yml | 136 - fern/.definition/subscriptionTypes.yml | 153 - fern/.definition/tags.yml | 697 -- fern/.definition/teams.yml | 107 - fern/.definition/ticketStates.yml | 204 - fern/.definition/ticketTypeAttributes.yml | 120 - fern/.definition/ticketTypes.yml | 354 - fern/.definition/ticketTypes/attributes.yml | 141 - fern/.definition/tickets.yml | 2120 ------ fern/.definition/unstable/__package__.yml | 5843 ---------------- fern/.definition/unstable/admins.yml | 360 - fern/.definition/unstable/aiAgent.yml | 56 - fern/.definition/unstable/aiContent.yml | 773 --- fern/.definition/unstable/aiContentSource.yml | 29 - fern/.definition/unstable/articles.yml | 810 --- .../unstable/awayStatusReasons.yml | 37 - fern/.definition/unstable/brands.yml | 123 - fern/.definition/unstable/calls.yml | 291 - fern/.definition/unstable/companies.yml | 901 --- fern/.definition/unstable/contacts.yml | 1417 ---- fern/.definition/unstable/conversations.yml | 3932 ----------- .../unstable/customChannelEvents.yml | 214 - .../unstable/customObjectInstances.yml | 278 - fern/.definition/unstable/dataAttributes.yml | 527 -- fern/.definition/unstable/dataEvents.yml | 331 - fern/.definition/unstable/dataExport.yml | 216 - fern/.definition/unstable/emails.yml | 132 - fern/.definition/unstable/export.yml | 102 - fern/.definition/unstable/helpCenter.yml | 1236 ---- .../.definition/unstable/internalArticles.yml | 357 - fern/.definition/unstable/jobs.yml | 87 - fern/.definition/unstable/macros.yml | 1183 ---- fern/.definition/unstable/messages.yml | 356 - fern/.definition/unstable/news.yml | 547 -- fern/.definition/unstable/notes.yml | 316 - fern/.definition/unstable/segments.yml | 123 - .../unstable/subscriptionTypes.yml | 262 - fern/.definition/unstable/switch.yml | 37 - fern/.definition/unstable/tags.yml | 623 -- fern/.definition/unstable/teams.yml | 94 - fern/.definition/unstable/ticketStates.yml | 204 - .../unstable/ticketTypeAttributes.yml | 238 - fern/.definition/unstable/ticketTypes.yml | 174 - fern/.definition/unstable/tickets.yml | 1965 ------ fern/.definition/unstable/visitors.yml | 365 - fern/.definition/visitors.yml | 435 -- 76 files changed, 51071 deletions(-) delete mode 100644 fern/.definition/__package__.yml delete mode 100644 fern/.definition/admins.yml delete mode 100644 fern/.definition/aiAgent.yml delete mode 100644 fern/.definition/aiContent.yml delete mode 100644 fern/.definition/aiContentSource.yml delete mode 100644 fern/.definition/api.yml delete mode 100644 fern/.definition/articles.yml delete mode 100644 fern/.definition/awayStatusReasons.yml delete mode 100644 fern/.definition/calls.yml delete mode 100644 fern/.definition/companies.yml delete mode 100644 fern/.definition/contacts.yml delete mode 100644 fern/.definition/conversations.yml delete mode 100644 fern/.definition/customChannelEvents.yml delete mode 100644 fern/.definition/customObjectInstances.yml delete mode 100644 fern/.definition/dataAttributes.yml delete mode 100644 fern/.definition/dataEvents.yml delete mode 100644 fern/.definition/dataExport.yml delete mode 100644 fern/.definition/events.yml delete mode 100644 fern/.definition/export.yml delete mode 100644 fern/.definition/helpCenter.yml delete mode 100644 fern/.definition/helpCenters.yml delete mode 100644 fern/.definition/helpCenters/collections.yml delete mode 100644 fern/.definition/internalArticles.yml delete mode 100644 fern/.definition/jobs.yml delete mode 100644 fern/.definition/messages.yml delete mode 100644 fern/.definition/news.yml delete mode 100644 fern/.definition/news/feeds.yml delete mode 100644 fern/.definition/news/items.yml delete mode 100644 fern/.definition/notes.yml delete mode 100644 fern/.definition/phoneCallRedirects.yml delete mode 100644 fern/.definition/segments.yml delete mode 100644 fern/.definition/subscriptionTypes.yml delete mode 100644 fern/.definition/tags.yml delete mode 100644 fern/.definition/teams.yml delete mode 100644 fern/.definition/ticketStates.yml delete mode 100644 fern/.definition/ticketTypeAttributes.yml delete mode 100644 fern/.definition/ticketTypes.yml delete mode 100644 fern/.definition/ticketTypes/attributes.yml delete mode 100644 fern/.definition/tickets.yml delete mode 100644 fern/.definition/unstable/__package__.yml delete mode 100644 fern/.definition/unstable/admins.yml delete mode 100644 fern/.definition/unstable/aiAgent.yml delete mode 100644 fern/.definition/unstable/aiContent.yml delete mode 100644 fern/.definition/unstable/aiContentSource.yml delete mode 100644 fern/.definition/unstable/articles.yml delete mode 100644 fern/.definition/unstable/awayStatusReasons.yml delete mode 100644 fern/.definition/unstable/brands.yml delete mode 100644 fern/.definition/unstable/calls.yml delete mode 100644 fern/.definition/unstable/companies.yml delete mode 100644 fern/.definition/unstable/contacts.yml delete mode 100644 fern/.definition/unstable/conversations.yml delete mode 100644 fern/.definition/unstable/customChannelEvents.yml delete mode 100644 fern/.definition/unstable/customObjectInstances.yml delete mode 100644 fern/.definition/unstable/dataAttributes.yml delete mode 100644 fern/.definition/unstable/dataEvents.yml delete mode 100644 fern/.definition/unstable/dataExport.yml delete mode 100644 fern/.definition/unstable/emails.yml delete mode 100644 fern/.definition/unstable/export.yml delete mode 100644 fern/.definition/unstable/helpCenter.yml delete mode 100644 fern/.definition/unstable/internalArticles.yml delete mode 100644 fern/.definition/unstable/jobs.yml delete mode 100644 fern/.definition/unstable/macros.yml delete mode 100644 fern/.definition/unstable/messages.yml delete mode 100644 fern/.definition/unstable/news.yml delete mode 100644 fern/.definition/unstable/notes.yml delete mode 100644 fern/.definition/unstable/segments.yml delete mode 100644 fern/.definition/unstable/subscriptionTypes.yml delete mode 100644 fern/.definition/unstable/switch.yml delete mode 100644 fern/.definition/unstable/tags.yml delete mode 100644 fern/.definition/unstable/teams.yml delete mode 100644 fern/.definition/unstable/ticketStates.yml delete mode 100644 fern/.definition/unstable/ticketTypeAttributes.yml delete mode 100644 fern/.definition/unstable/ticketTypes.yml delete mode 100644 fern/.definition/unstable/tickets.yml delete mode 100644 fern/.definition/unstable/visitors.yml delete mode 100644 fern/.definition/visitors.yml diff --git a/fern/.definition/__package__.yml b/fern/.definition/__package__.yml deleted file mode 100644 index bcffce6..0000000 --- a/fern/.definition/__package__.yml +++ /dev/null @@ -1,6132 +0,0 @@ -imports: - admins: admins.yml - aiContentSource: aiContentSource.yml - articles: articles.yml - calls: calls.yml - companies: companies.yml - contacts: contacts.yml - conversations: conversations.yml - customObjectInstances: customObjectInstances.yml - dataAttributes: dataAttributes.yml - dataEvents: dataEvents.yml - helpCenter: helpCenter.yml - internalArticles: internalArticles.yml - news: news.yml - notes: notes.yml - segments: segments.yml - subscriptionTypes: subscriptionTypes.yml - tags: tags.yml - teams: teams.yml - tickets: tickets.yml - unstableRoot: unstable/__package__.yml -types: - ActivityLog: - docs: Activities performed by Admins. - properties: - activity_description: - docs: A sentence or two describing the activity. - type: optional - activity_type: - type: optional - created_at: - docs: The time the activity was created. - type: optional - id: - docs: The id representing the activity. - type: optional - metadata: - type: optional - performed_by: - docs: Details about the Admin involved in the activity. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ActivityLogActivityType: - enum: - - admin_conversation_assignment_limit_change - - admin_ticket_assignment_limit_change - - admin_away_mode_change - - admin_deletion - - admin_deprovisioned - - admin_impersonation_end - - admin_impersonation_start - - admin_invite_change - - admin_invite_creation - - admin_invite_deletion - - admin_login_failure - - admin_login_success - - admin_logout - - admin_password_reset_request - - admin_password_reset_success - - admin_permission_change - - admin_provisioned - - admin_two_factor_auth_change - - admin_unauthorized_sign_in_method - - app_admin_join - - app_authentication_method_change - - app_data_deletion - - app_data_export - - app_google_sso_domain_change - - app_identity_verification_change - - app_name_change - - app_outbound_address_change - - app_package_installation - - app_package_token_regeneration - - app_package_uninstallation - - app_team_creation - - app_team_deletion - - app_team_membership_modification - - app_timezone_change - - app_webhook_creation - - app_webhook_deletion - - articles_in_messenger_enabled_change - - bulk_delete - - bulk_export - - campaign_deletion - - campaign_state_change - - conversation_part_deletion - - conversation_topic_change - - conversation_topic_creation - - conversation_topic_deletion - - help_center_settings_change - - inbound_conversations_change - - inbox_access_change - - message_deletion - - message_state_change - - messenger_look_and_feel_change - - messenger_search_required_change - - messenger_spaces_change - - office_hours_change - - role_change - - role_creation - - role_deletion - - ruleset_activation_title_preview - - ruleset_creation - - ruleset_deletion - - search_browse_enabled_change - - search_browse_required_change - - seat_change - - seat_revoke - - security_settings_change - - temporary_expectation_change - - upfront_email_collection_change - - welcome_message_change - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ActivityLogList: - docs: A paginated list of activity logs. - properties: - activity_logs: - docs: An array of activity logs - type: optional>> - pages: - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `activity_log.list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ActivityLogMetadata: - docs: Additional data provided about Admin activity. - properties: - auto_changed: - docs: Indicates if the status was changed automatically or manually. - type: optional - away_mode: - docs: >- - The away mode status which is set to true when away and false when - returned. - type: optional - away_status_reason: - docs: The reason the Admin is away. - type: optional - conversation_assignment_limit: - docs: The conversation assignment limit value for an admin. - type: optional - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - reassign_conversations: - docs: >- - Indicates if conversations should be reassigned while an Admin is - away. - type: optional - sign_in_method: - docs: The way the admin signed in. - type: optional - source: - docs: The action that initiated the status change. - type: optional - ticket_assignment_limit: - docs: The ticket assignment limit value for an admin. - type: optional - update_by: - docs: The ID of the Admin who initiated the activity. - type: optional - update_by_name: - docs: The name of the Admin who initiated the activity. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ActivityLogPerformedBy: - docs: Details about the Admin involved in the activity. - inline: true - properties: - email: - docs: The email of the admin. - type: optional - id: - docs: The id representing the admin. - type: optional - ip: - docs: The IP address of the admin. - type: optional - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AddressableList: - docs: A list used to access other resources from a parent model. - properties: - id: - docs: The id of the addressable object - type: optional - type: - docs: The addressable object type - type: optional - validation: - format: uri - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminList: - docs: A list of admins associated with a given workspace. - properties: - admins: - docs: A list of admins associated with a given workspace. - type: optional>> - type: - docs: >- - String representing the object's type. Always has the value - `admin.list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminPriorityLevel: - docs: Admin priority levels for the team - properties: - primary_admin_ids: - docs: The primary admin ids for the team - type: optional> - secondary_admin_ids: - docs: The secondary admin ids for the team - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminReplyConversationRequest: - docs: Payload of the request to reply on behalf of an admin - properties: - admin_id: - docs: The id of the admin who is authoring the comment. - type: string - attachment_files: - docs: >- - A list of files that will be added as attachments. You can include up - to 10 files - type: optional> - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: >- - The text body of the reply. Notes accept some HTML formatting. Must be - present for comment and note message types. - type: optional - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: AdminReplyConversationRequestMessageType - reply_options: - docs: >- - The quick reply options to display to the end user. Must be present - for quick_reply message types. - type: optional> - type: literal<"admin"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminReplyConversationRequestMessageType: - enum: - - comment - - note - - quick_reply - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminReplyTicketRequest: - docs: Payload of the request to reply on behalf of an admin - properties: - admin_id: - docs: The id of the admin who is authoring the comment. - type: string - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: >- - The text body of the reply. Notes accept some HTML formatting. Must be - present for comment and note message types. - type: optional - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: AdminReplyTicketRequestMessageType - reply_options: - docs: >- - The quick reply options to display. Must be present for quick_reply - message types. - type: optional> - type: literal<"admin"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminReplyTicketRequestMessageType: - enum: - - comment - - note - - quick_reply - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminReplyTicketRequestReplyOptionsItem: - inline: true - properties: - text: - docs: The text to display in this quick reply option. - type: string - uuid: - docs: >- - A unique identifier for this quick reply option. This value will be - available within the metadata of the comment ticket part that is - created when a user clicks on this reply option. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminWithApp: - docs: Admins are the teammate accounts that have access to a workspace - properties: - app: - docs: App that the admin belongs to. - type: optional - avatar: - docs: This object represents the avatar associated with the admin. - type: optional - away_mode_enabled: - docs: Identifies if this admin is currently set in away mode. - type: optional - away_mode_reassign: - docs: >- - Identifies if this admin is set to automatically reassign new - conversations to the apps default inbox. - type: optional - email: - docs: The email of the admin. - type: optional - email_verified: - docs: Identifies if this admin's email is verified. - type: optional - has_inbox_seat: - docs: >- - Identifies if this admin has a paid inbox seat to restrict/allow - features that require them. - type: optional - id: - docs: The id representing the admin. - type: optional - job_title: - docs: The job title of the admin. - type: optional - name: - docs: The name of the admin. - type: optional - team_ids: - docs: This is a list of ids of the teams that this admin is part of. - type: optional> - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AdminWithAppAvatar: - docs: This object represents the avatar associated with the admin. - inline: true - properties: - image_url: - docs: This object represents the avatar associated with the admin. - type: optional - validation: - format: uri - type: - default: avatar - docs: >- - This is a string that identifies the type of the object. It will - always have the value `avatar`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - App: - docs: App is a workspace on Intercom - properties: - created_at: - docs: When the app was created. - type: optional - id_code: - docs: The id of the app. - type: optional - identity_verification: - docs: Whether or not the app uses identity verification. - type: optional - name: - docs: The name of the app. - type: optional - region: - docs: The Intercom region the app is located in. - type: optional - timezone: - docs: The timezone of the region where the app is located. - type: optional - type: - default: app - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleContent: - docs: The Content of an Article. - properties: - author_id: - docs: The ID of the author of the article. - type: optional - body: - docs: The body of the article. - type: optional - created_at: - docs: The time when the article was created (seconds). - type: optional - description: - docs: The description of the article. - type: optional - state: - docs: Whether the article is `published` or is a `draft` . - type: optional - title: - docs: The title of the article. - type: optional - type: - docs: The type of object - `article_content` . - type: optional - updated_at: - docs: The time when the article was last updated (seconds). - type: optional - url: - docs: The URL of the article. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleContentState: - docs: Whether the article is `published` or is a `draft` . - enum: - - published - - draft - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleList: - docs: This will return a list of articles for the App. - properties: - data: - docs: An array of Article objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of articles. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleStatistics: - docs: The statistics of an article. - properties: - conversions: - docs: The number of conversations started from the article. - type: optional - happy_reaction_percentage: - docs: >- - The percentage of happy reactions the article has received against - other types of reaction. - type: float - neutral_reaction_percentage: - docs: >- - The percentage of neutral reactions the article has received against - other types of reaction. - type: float - reactions: - docs: The number of total reactions the article has received. - type: integer - sad_reaction_percentage: - docs: >- - The percentage of sad reactions the article has received against other - types of reaction. - type: float - type: - docs: The type of object - `article_statistics`. - type: literal<"article_statistics"> - views: - docs: The number of total views the article has received. - type: integer - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleTranslatedContent: - docs: >- - The Translated Content of an Article. The keys are the locale codes and - the values are the translated content of the article. - properties: - ar: - docs: The content of the article in Arabic - type: optional - bg: - docs: The content of the article in Bulgarian - type: optional - bs: - docs: The content of the article in Bosnian - type: optional - ca: - docs: The content of the article in Catalan - type: optional - cs: - docs: The content of the article in Czech - type: optional - da: - docs: The content of the article in Danish - type: optional - de: - docs: The content of the article in German - type: optional - el: - docs: The content of the article in Greek - type: optional - en: - docs: The content of the article in English - type: optional - es: - docs: The content of the article in Spanish - type: optional - et: - docs: The content of the article in Estonian - type: optional - fi: - docs: The content of the article in Finnish - type: optional - fr: - docs: The content of the article in French - type: optional - he: - docs: The content of the article in Hebrew - type: optional - hr: - docs: The content of the article in Croatian - type: optional - hu: - docs: The content of the article in Hungarian - type: optional - id: - docs: The content of the article in Indonesian - type: optional - it: - docs: The content of the article in Italian - type: optional - ja: - docs: The content of the article in Japanese - type: optional - ko: - docs: The content of the article in Korean - type: optional - lt: - docs: The content of the article in Lithuanian - type: optional - lv: - docs: The content of the article in Latvian - type: optional - mn: - docs: The content of the article in Mongolian - type: optional - nb: - docs: The content of the article in Norwegian - type: optional - nl: - docs: The content of the article in Dutch - type: optional - pl: - docs: The content of the article in Polish - type: optional - pt: - docs: The content of the article in Portuguese (Portugal) - type: optional - pt-BR: - docs: The content of the article in Portuguese (Brazil) - type: optional - ro: - docs: The content of the article in Romanian - type: optional - ru: - docs: The content of the article in Russian - type: optional - sl: - docs: The content of the article in Slovenian - type: optional - sr: - docs: The content of the article in Serbian - type: optional - sv: - docs: The content of the article in Swedish - type: optional - tr: - docs: The content of the article in Turkish - type: optional - type: - docs: The type of object - article_translated_content. - type: optional - vi: - docs: The content of the article in Vietnamese - type: optional - zh-CN: - docs: The content of the article in Chinese (China) - type: optional - zh-TW: - docs: The content of the article in Chinese (Taiwan) - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AssignConversationRequest: - docs: Payload of the request to assign a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - assignee_id: - docs: >- - The `id` of the `admin` or `team` which will be assigned the - conversation. A conversation can be assigned both an admin and a - team.\nSet `0` if you want this assign to no admin or team (ie. - Unassigned). - type: string - body: - docs: >- - Optionally you can send a response in the conversation when it is - assigned. - type: optional - type: AssignConversationRequestType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AssignConversationRequestType: - enum: - - admin - - team - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AwayStatusReason: - properties: - created_at: - docs: The Unix timestamp when the status reason was created - type: optional - deleted: - docs: Whether the status reason has been soft deleted - type: optional - emoji: - docs: The emoji associated with the status reason - type: optional - id: - docs: The unique identifier for the away status reason - type: optional - label: - docs: The display text for the away status reason - type: optional - order: - docs: The display order of the status reason - type: optional - type: optional - updated_at: - docs: The Unix timestamp when the status reason was last updated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CallList: - docs: A paginated list of calls. - properties: - data: - docs: A list of calls. - type: optional> - pages: - type: optional - total_count: - docs: Total number of items available. - type: optional - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CloseConversationRequest: - docs: Payload of the request to close a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - body: - docs: >- - Optionally you can leave a message in the conversation to provide - additional context to the user and other teammates. - type: optional - type: literal<"admin"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CollectionList: - docs: This will return a list of Collections for the App. - properties: - data: - docs: An array of collection objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of collections. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyAttachedContacts: - docs: A list of Contact Objects - properties: - data: - docs: An array containing Contact Objects - type: optional> - pages: - type: optional - total_count: - docs: The total number of contacts - type: optional - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyAttachedSegments: - docs: A list of Segment Objects - properties: - data: - docs: An array containing Segment Objects - type: optional> - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyData: - docs: >- - An object containing data about the companies that a contact is associated - with. - properties: - id: - docs: The unique identifier for the company which is given by Intercom. - type: optional - type: - docs: The type of the object. Always company. - type: optional> - url: - docs: The relative URL of the company. - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyList: - docs: This will return a list of companies for the App. - properties: - data: - docs: An array containing Company Objects. - type: optional> - pages: - type: optional - total_count: - docs: The total number of companies. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyScroll: - docs: >- - Companies allow you to represent organizations using your product. Each - company will have its own description and be associated with contacts. You - can fetch, create, update and list companies. - properties: - data: - type: optional> - pages: - type: optional - scroll_param: - docs: >- - The scroll parameter to use in the next request to fetch the next page - of results. - type: optional - total_count: - docs: The total number of companies - type: optional - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactArchived: - docs: archived contact object - extends: - - ContactReference - properties: - archived: - docs: Whether the contact is archived or not. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactAttachedCompanies: - docs: A list of Company Objects - properties: - companies: - docs: An array containing Company Objects - type: optional> - pages: - type: optional - total_count: - docs: The total number of companies associated to this contact - type: optional - type: - docs: The type of object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactBlocked: - docs: blocked contact object - extends: - - ContactReference - properties: - blocked: - docs: Always true. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactCompanies: - docs: >- - An object with metadata about companies attached to a contact . Up to 10 - will be displayed here. Use the url to get more. - properties: - data: - docs: An array of company data objects attached to the contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Integer representing the total number of companies attached to this - contact - type: optional - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactDeleted: - docs: deleted contact object - extends: - - ContactReference - properties: - deleted: - docs: Whether the contact is deleted or not. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactList: - docs: Contacts are your users in Intercom. - properties: - data: - docs: The list of contact objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always list - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactLocation: - docs: An object containing location meta data about a Intercom contact. - properties: - city: - docs: The city that the contact is located in - type: optional - country: - docs: The country that the contact is located in - type: optional - region: - docs: The overal region that the contact is located in - type: optional - type: - docs: Always location - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactNotes: - docs: >- - An object containing notes meta data about the notes that a contact has. - Up to 10 will be displayed here. Use the url to get more. - properties: - data: - docs: This object represents the notes attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Int representing the total number of companyies attached to this - contact - type: optional - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReference: - docs: reference to contact object - properties: - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - id: - docs: The unique identifier for the contact which is given by Intercom. - type: optional - type: - docs: always contact - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyBaseRequest: - properties: - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: The text body of the comment. - type: string - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: literal<"comment"> - reply_options: - docs: >- - The quick reply selection the contact wishes to respond with. These - map to buttons displayed in the Messenger UI if sent by a bot, or the - reply options sent by an Admin via the API. - type: optional> - type: literal<"user"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyBaseRequestReplyOptionsItem: - inline: true - properties: - text: - docs: The text of the chosen reply option. - type: string - uuid: - docs: The unique identifier for the quick reply option selected. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyConversationRequest: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: ContactReplyIntercomUserIdRequest - - type: ContactReplyEmailRequest - - type: ContactReplyUserIdRequest - ContactReplyEmailRequest: - docs: Payload of the request to reply on behalf of a contact using their `email` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: A list of files that will be added as attachments. - type: optional> - email: - docs: The email you have defined for the user. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyIntercomUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `intercom_user_id` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: A list of files that will be added as attachments. - type: optional> - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyTicketEmailRequest: - docs: Payload of the request to reply on behalf of a contact using their `email` - extends: - - ContactReplyBaseRequest - properties: - email: - docs: The email you have defined for the user. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyTicketIntercomUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `intercom_user_id` - extends: - - ContactReplyBaseRequest - properties: - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyTicketRequest: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: ContactReplyTicketIntercomUserIdRequest - - type: ContactReplyTicketUserIdRequest - - type: ContactReplyTicketEmailRequest - ContactReplyTicketUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `user_id` - extends: - - ContactReplyBaseRequest - properties: - user_id: - docs: The external_id you have defined for the contact. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactReplyUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `user_id` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: >- - A list of files that will be added as attachments. You can include up - to 10 files. - type: optional> - user_id: - docs: The external_id you have defined for the contact. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactSegments: - docs: A list of segments objects attached to a specific contact. - properties: - data: - docs: Segment objects associated with the contact. - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactSocialProfiles: - docs: An object containing social profiles that a contact has. - properties: - data: - docs: A list of social profiles objects associated with the contact. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactSubscriptionTypes: - docs: >- - An object containing Subscription Types meta data about the - SubscriptionTypes that a contact has. - properties: - data: - docs: This object represents the subscriptions attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Int representing the total number of subscription types attached to - this contact - type: optional - url: - docs: Url to get more subscription type resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactTags: - docs: >- - An object containing tags meta data about the tags that a contact has. Up - to 10 will be displayed here. Use the url to get more. - properties: - data: - docs: This object represents the tags attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: Int representing the total number of tags attached to this contact - type: optional - url: - docs: url to get more tag resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactUnarchived: - docs: unarchived contact object - extends: - - ContactReference - properties: - archived: - docs: Whether the contact is archived or not. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContentSourcesList: - properties: - content_sources: - docs: The content sources used by AI Agent in the conversation. - type: optional> - total_count: - docs: >- - The total number of content sources used by AI Agent in the - conversation. - type: optional - type: - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttachmentFiles: - docs: Properties of the attachment files in a conversation part - properties: - content_type: - docs: The content type of the file - type: optional - data: - docs: The base64 encoded file data. - type: optional - name: - docs: The name of the file. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByAdmin: - docs: >- - Contains details about Custom Data Attributes (CDAs) that were modified by - an admin (operator) for conversation part type - conversation_attribute_updated_by_admin. - properties: - attribute: - type: optional - value: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByAdminAttribute: - inline: true - properties: - name: - docs: Name of the CDA updated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByAdminValue: - inline: true - properties: - name: - docs: Value of the CDA updated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflow: - docs: >- - Contains details about the workflow that was triggered and any Custom Data - Attributes (CDAs) that were modified during the workflow execution for - conversation part type - conversation_attribute_updated_by_workflow. - properties: - attribute: - type: optional - value: - type: optional - workflow: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowAttribute: - inline: true - properties: - name: - docs: Name of the CDA updated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowValue: - inline: true - properties: - name: - docs: Value of the CDA updated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowWorkflow: - inline: true - properties: - name: - docs: Name of the workflow - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationContacts: - docs: >- - The list of contacts (users or leads) involved in this conversation. This - will only contain one customer unless more were added via the group - conversation feature. - properties: - contacts: - docs: >- - The list of contacts (users or leads) involved in this conversation. - This will only contain one customer unless more were added via the - group conversation feature. - type: optional> - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationDeleted: - docs: deleted conversation object - properties: - deleted: - docs: Whether the conversation is deleted or not. - type: optional - id: - docs: The unique identifier for the conversation. - type: optional - object: - docs: always conversation - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationFirstContactReply: - docs: >- - An object containing information on the first users message. For a contact - initiated message this will represent the users original message. - properties: - created_at: - docs: '' - type: optional - type: - docs: '' - type: optional - url: - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationList: - docs: >- - 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. - properties: - conversations: - docs: The list of conversation objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always conversation.list - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPart: - docs: A Conversation Part represents a message in the conversation. - properties: - app_package_code: - docs: >- - The app package code if this part was created via API. null if the - part was not created via API. - type: optional - assigned_to: - docs: >- - The id of the admin that was assigned the conversation by this - conversation_part (null if there has been no change in assignment.) - type: optional - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: >- - The message body, which may contain HTML. For Twitter, this will show - a generic message regarding why the body is obscured. - type: optional - created_at: - docs: The time the conversation part was created. - type: optional - email_message_metadata: - type: optional - event_details: - type: optional - external_id: - docs: The external id of the conversation part - type: optional - id: - docs: The id representing the conversation part. - type: optional - metadata: - type: optional - notified_at: - docs: The time the user was notified with the conversation part. - type: optional - part_type: - docs: The type of conversation part. - type: optional - redacted: - docs: Whether or not the conversation part has been redacted. - type: optional - state: - docs: >- - Indicates the current state of conversation when the conversation part - was created. - type: optional - tags: - docs: A list of tags objects associated with the conversation part. - type: optional> - type: - docs: Always conversation_part - type: optional - updated_at: - docs: The last time the conversation part was updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPartAuthor: - docs: >- - 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: - email: - docs: The email of the author - type: optional - validation: - format: email - from_ai_agent: - docs: If this conversation part was sent by the AI Agent - type: optional - id: - docs: The id of the author - type: optional - is_ai_answer: - docs: If this conversation part body was generated by the AI Agent - type: optional - name: - docs: The name of the author - type: optional - type: - docs: The type of the author - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPartMetadata: - docs: Metadata for a conversation part - properties: - quick_reply_options: - docs: >- - The quick reply options sent by the Admin or bot, presented in this - conversation part. - type: optional> - quick_reply_uuid: - docs: >- - The unique identifier for the quick reply option that was clicked by - the end user. - type: optional - validation: - format: uuid - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPartMetadataQuickReplyOptionsItem: - extends: - - QuickReplyOption - inline: true - properties: - translations: - docs: The translations for the quick reply option. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationParts: - docs: >- - 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: - conversation_parts: - docs: >- - 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. - type: optional> - total_count: - docs: '' - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPartState: - docs: >- - Indicates the current state of conversation when the conversation part was - created. - enum: - - open - - closed - - snoozed - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationRating: - docs: >- - 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: - contact: - type: optional - created_at: - docs: The time the rating was requested in the conversation being rated. - type: optional - rating: - docs: The rating, between 1 and 5, for the conversation. - type: optional - remark: - docs: An optional field to add a remark to correspond to the number rating - type: optional - teammate: - type: optional - updated_at: - docs: The time the rating was last updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationResponseTime: - docs: Details of first response time of assigned team in seconds. - properties: - response_time: - docs: First response time of assigned team in seconds. - type: optional - team_id: - docs: Id of the assigned team. - type: optional - team_name: - docs: >- - Name of the assigned Team, null if team does not exist, Unassigned if - no team is assigned. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationSource: - docs: >- - The type of the conversation part that started this conversation. Can be - Contact, Admin, Campaign, Automated or Operator initiated. - properties: - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: >- - The message body, which may contain HTML. For Twitter, this will show - a generic message regarding why the body is obscured. - type: optional - delivered_as: - docs: >- - 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). - type: optional - id: - docs: The id representing the message. - type: optional - redacted: - docs: >- - Whether or not the source message has been redacted. Only applicable - for contact initiated messages. - type: optional - subject: - docs: >- - Optional. The message subject. For Twitter, this will show a generic - message regarding why the subject is obscured. - type: optional - type: - docs: >- - This includes conversation, email, facebook, instagram, phone_call, - phone_switch, push, sms, twitter and whatsapp. - type: optional - url: - docs: >- - The URL where the conversation was started. For Twitter, Email, and - Bots, this will be blank. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationSourceType: - docs: >- - This includes conversation, email, facebook, instagram, phone_call, - phone_switch, push, sms, twitter and whatsapp. - enum: - - conversation - - email - - facebook - - instagram - - phone_call - - phone_switch - - push - - sms - - twitter - - whatsapp - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationStatistics: - docs: >- - A Statistics object containing all information required for reporting, - with timestamps and calculated metrics. - properties: - assigned_team_first_response_time_by_team: - docs: An array of conversation response time objects - type: optional> - assigned_team_first_response_time_in_office_hours: - docs: An array of conversation response time objects within office hours - type: optional> - count_assignments: - docs: Number of assignments after first_contact_reply_at. - type: optional - count_conversation_parts: - docs: Total number of conversation parts. - type: optional - count_reopens: - docs: Number of reopens after first_contact_reply_at. - type: optional - first_admin_reply_at: - docs: Time of first admin reply after first_contact_reply_at. - type: optional - first_assignment_at: - docs: Time of first assignment after first_contact_reply_at. - type: optional - first_close_at: - docs: Time of first close after first_contact_reply_at. - type: optional - first_contact_reply_at: - docs: Time of first text conversation part from a contact. - type: optional - handling_time: - docs: Time from conversation assignment to conversation close in seconds. - type: optional - last_admin_reply_at: - docs: Time of the last conversation part from an admin. - type: optional - last_assignment_admin_reply_at: - docs: Time of first admin reply since most recent assignment. - type: optional - last_assignment_at: - docs: Time of last assignment after first_contact_reply_at. - type: optional - last_close_at: - docs: Time of the last conversation close. - type: optional - last_closed_by_id: - docs: >- - The last admin who closed the conversation. Returns a reference to an - Admin object. - type: optional - last_contact_reply_at: - docs: Time of the last conversation part from a contact. - type: optional - median_time_to_reply: - docs: >- - Median based on all admin replies after a contact reply. Subtracts out - of business hours. In seconds. - type: optional - time_to_admin_reply: - docs: >- - Duration until first admin reply. Subtracts out of business hours. In - seconds. - type: optional - time_to_assignment: - docs: Duration until last assignment before first admin reply. In seconds. - type: optional - time_to_first_close: - docs: >- - Duration until conversation was closed first time. Subtracts out of - business hours. In seconds. - type: optional - time_to_last_close: - docs: >- - Duration until conversation was closed last time. Subtracts out of - business hours. In seconds. - type: optional - type: - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationTeammates: - docs: >- - The list of teammates who participated in the conversation (wrote at least - one conversation part). - properties: - admins: - docs: >- - The list of teammates who participated in the conversation (wrote at - least one conversation part). - type: list - type: - docs: The type of the object - `admin.list`. - type: literal<"admin.list"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateArticleRequest: - docs: You can create an Article - properties: - author_id: - docs: >- - 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. - type: integer - body: - docs: >- - The content of the article. For multilingual articles, this will be - the body of the default language's content. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - docs: >- - 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. - type: optional - title: - docs: >- - The title of the article.For multilingual articles, this will be the - title of the default language's content. - type: string - translated_content: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateArticleRequestParentType: - docs: The type of parent, which can either be a `collection` or `section`. - enum: - - collection - - section - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateArticleRequestState: - docs: >- - 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 - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateContactRequest: - discriminated: false - docs: Payload to create a contact - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: CreateContactRequestWithEmail - - type: CreateContactRequestWithExternalId - - type: CreateContactRequestWithRole - CreateContactRequestTwo: unknown - CreateContactRequestWithEmail: - inline: true - properties: - avatar: - docs: An image URL containing the avatar of a contact - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact - type: optional> - email: - docs: The contacts email - type: string - last_seen_at: - docs: >- - The time when the contact was last seen (either where the Intercom - Messenger was installed or when specified manually) - type: optional - name: - docs: The contacts name - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of the - contact - type: optional - phone: - docs: The contacts phone - type: optional - signed_up_at: - docs: The time specified for when a contact signed up - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateContactRequestWithExternalId: - inline: true - properties: - avatar: - docs: An image URL containing the avatar of a contact - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact - type: optional> - external_id: - docs: A unique identifier for the contact which is given to Intercom - type: string - last_seen_at: - docs: >- - The time when the contact was last seen (either where the Intercom - Messenger was installed or when specified manually) - type: optional - name: - docs: The contacts name - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of the - contact - type: optional - phone: - docs: The contacts phone - type: optional - signed_up_at: - docs: The time specified for when a contact signed up - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateContactRequestWithRole: - inline: true - properties: - avatar: - docs: An image URL containing the avatar of a contact - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact - type: optional> - last_seen_at: - docs: >- - The time when the contact was last seen (either where the Intercom - Messenger was installed or when specified manually) - type: optional - name: - docs: The contacts name - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of the - contact - type: optional - phone: - docs: The contacts phone - type: optional - role: - docs: The role of the contact. - type: string - signed_up_at: - docs: The time specified for when a contact signed up - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataAttributeRequest: - discriminated: false - docs: '' - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: CreateDataAttributeRequestOptions - - type: CreateDataAttributeRequestOne - CreateDataAttributeRequestOne: - inline: true - properties: - data_type: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataAttributeRequestOneDataType: - enum: - - string - - integer - - float - - boolean - - datetime - - date - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataAttributeRequestOptions: - inline: true - properties: - data_type: - type: optional> - options: - docs: >- - Array of objects representing the options of the list, with `value` as - the key and the option as the value. At least two options are - required. - type: list - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataAttributeRequestOptionsOptionsItem: - inline: true - properties: - value: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataEventRequest: - discriminated: false - docs: '' - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: CreateDataEventRequestWithId - - type: CreateDataEventRequestWithUserId - - type: CreateDataEventRequestWithEmail - CreateDataEventRequestTwo: unknown - CreateDataEventRequestWithEmail: - inline: true - properties: - created_at: - docs: The time the event occurred as a UTC Unix timestamp - type: integer - email: - docs: >- - An email address for your user. An email should only be used where - your application uses email to uniquely identify users. - type: string - event_name: - docs: >- - 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`. - type: string - metadata: - docs: Optional metadata about the event. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataEventRequestWithId: - inline: true - properties: - created_at: - docs: The time the event occurred as a UTC Unix timestamp - type: integer - event_name: - docs: >- - 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`. - type: string - id: - docs: >- - The unique identifier for the contact (lead or user) which is given by - Intercom. - type: string - metadata: - docs: Optional metadata about the event. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateDataEventRequestWithUserId: - inline: true - properties: - created_at: - docs: The time the event occurred as a UTC Unix timestamp - type: integer - event_name: - docs: >- - 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`. - type: string - metadata: - docs: Optional metadata about the event. - type: optional> - user_id: - docs: Your identifier for the user. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateInternalArticleRequest: - docs: You can create an Internal Article - properties: - author_id: - docs: The id of the author of the article. - type: integer - body: - docs: The content of the article. - type: optional - owner_id: - docs: The id of the owner of the article. - type: integer - title: - docs: The title of the article. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateMessageRequest: - base-properties: {} - discriminant: message_type - docs: You can create a message - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - email: - type: CreateMessageRequestWithEmail - inapp: - type: CreateMessageRequestWithInapp - CreateMessageRequestFrom: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - inline: true - properties: - id: - docs: The identifier for the admin which is given by Intercom. - type: integer - type: - docs: Always `admin`. - type: literal<"admin"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateMessageRequestThree: unknown - CreateMessageRequestTo: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - inline: true - properties: - id: - docs: The identifier for the contact which is given by Intercom. - type: string - type: - docs: The role associated to the contact - `user` or `lead`. - type: CreateMessageRequestType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateMessageRequestType: - docs: The role associated to the contact - `user` or `lead`. - enum: - - user - - lead - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateMessageRequestWithEmail: - inline: true - properties: - body: - docs: The content of the message. HTML and plaintext are supported. - type: string - create_conversation_without_contact_reply: - default: false - docs: >- - Whether a conversation should be opened in the inbox for the message - without the contact replying. Defaults to false if not provided. - type: optional - created_at: - docs: >- - The time the message was created. If not provided, the current time - will be used. - type: optional - from: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - type: CreateMessageRequestFrom - subject: - docs: The title of the email. - type: string - template: - docs: >- - The style of the outgoing message. Possible values `plain` or - `personal`. - type: string - to: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - type: CreateMessageRequestTo - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateMessageRequestWithInapp: - inline: true - properties: - body: - docs: The content of the message. HTML and plaintext are supported. - type: string - create_conversation_without_contact_reply: - default: false - docs: >- - Whether a conversation should be opened in the inbox for the message - without the contact replying. Defaults to false if not provided. - type: optional - created_at: - docs: >- - The time the message was created. If not provided, the current time - will be used. - type: optional - from: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - type: CreateMessageRequestFrom - subject: - docs: The title of the email. - type: optional - template: - docs: >- - The style of the outgoing message. Possible values `plain` or - `personal`. - type: optional - to: - docs: >- - The sender of the message. If not provided, the default sender will be - used. - type: CreateMessageRequestTo - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateOrUpdateCompanyRequest: - docs: You can create or update a Company - properties: - company_id: - docs: The company id you have defined for the company. Can't be updated - type: optional - custom_attributes: - docs: >- - A hash of key/value pairs containing any other data about the company - you want Intercom to store. - type: optional> - industry: - docs: The industry that this company operates in. - type: optional - monthly_spend: - docs: >- - 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.. - type: optional - name: - docs: The name of the Company - type: optional - plan: - docs: The name of the plan you have associated with the company. - type: optional - remote_created_at: - docs: The time the company was created by you. - type: optional - size: - docs: The number of employees in this company. - type: optional - website: - docs: >- - The URL for this company's website. Please note that the value - specified here is not validated. Accepts any string. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateOrUpdateTagRequest: - docs: You can create or update an existing tag. - properties: - id: - docs: The id of tag to updates. - type: optional - name: - docs: >- - 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. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreatePhoneSwitchRequest: - docs: You can create an phone switch - properties: - custom_attributes: - type: optional - phone: - docs: >- - Phone number in E.164 format, that will receive the SMS to continue - the conversation in the Messenger. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketReplyWithCommentRequest: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: ContactReplyTicketRequest - - type: AdminReplyTicketRequest - CreateTicketRequest: - docs: You can create a Ticket - properties: - assignment: - type: optional - company_id: - docs: >- - The ID of the company that the ticket is associated with. The unique - identifier for the company which is given by Intercom - type: optional - contacts: - docs: >- - The list of contacts (users or leads) affected by this ticket. - Currently only one is allowed - type: list - conversation_to_link_id: - docs: >- - The ID of the conversation you want to link to the ticket. Here are - the valid ways of linking two tickets: - - conversation | back-office ticket - - customer tickets | non-shared back-office ticket - - conversation | tracker ticket - - customer ticket | tracker ticket - type: optional - created_at: - docs: >- - The time the ticket was created. If not provided, the current time - will be used. - type: optional - ticket_attributes: - type: optional - ticket_type_id: - docs: The ID of the type of ticket you want to create - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketRequestAssignment: - inline: true - properties: - admin_assignee_id: - docs: >- - The ID of the admin to which the ticket is assigned. If not provided, - the ticket will be unassigned. - type: optional - team_assignee_id: - docs: >- - The ID of the team to which the ticket is assigned. If not provided, - the ticket will be unassigned. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketRequestContactsItem: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: CreateTicketRequestContactsItemId - - type: CreateTicketRequestContactsItemExternalId - - type: CreateTicketRequestContactsItemEmail - CreateTicketRequestContactsItemEmail: - inline: true - properties: - email: - docs: >- - 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. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketRequestContactsItemExternalId: - inline: true - properties: - external_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketRequestContactsItemId: - inline: true - properties: - id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketTypeRequest: - docs: | - 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/) - properties: - category: - docs: Category of the Ticket Type. - type: optional - description: - docs: The description of the ticket type. - type: optional - icon: - default: 🎟️ - docs: The icon of the ticket type. - type: optional - is_internal: - default: false - docs: >- - 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. - type: optional - name: - docs: The name of the ticket type. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateTicketTypeRequestCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CursorPages: - docs: > - 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. - properties: - next: - type: optional - page: - docs: The current page - type: optional - per_page: - docs: Number of results per page - type: optional - total_pages: - docs: Total number of pages - type: optional - type: - docs: the type of object `pages`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomActionFinished: - docs: >- - Contains details about final status of the completed action for - conversation part type custom_action_finished. - properties: - action: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomActionFinishedAction: - inline: true - properties: - name: - docs: Name of the action - type: optional - result: - docs: Status of the action - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomActionFinishedActionResult: - docs: Status of the action - enum: - - success - - failed - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomActionStarted: - docs: >- - Contains details about name of the action that was initiated for - conversation part type custom_action_started. - properties: - action: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomActionStartedAction: - inline: true - properties: - name: - docs: Name of the action - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomAttributes: - docs: Custom data set for this data. - type: map - CustomAttributesValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - string - - integer - - Datetime - - type: CustomObjectInstanceList - CustomChannelAttribute: - properties: - id: - docs: Identifier for the attribute being collected. - type: string - value: - docs: Value provided by the user for the attribute. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomChannelBaseEvent: - properties: - contact: - type: CustomChannelContact - event_id: - docs: Unique identifier for the event. - type: string - external_conversation_id: - docs: Identifier for the conversation in your application. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomChannelContact: - properties: - email: - docs: Email address of the contact. Required for user type. - type: optional - validation: - format: email - external_id: - docs: >- - External identifier for the contact. Intercom will take care of the - mapping of your external_id with our internal ones so you don't have - to worry about it. - type: string - name: - docs: Name of the contact. Required for user type. - type: optional - type: - docs: Type of contact, must be "user" or "lead". - type: CustomChannelContactType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomChannelContactType: - docs: Type of contact, must be "user" or "lead". - enum: - - user - - lead - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomChannelNotificationResponse: - properties: - contact_id: - docs: The Intercom contact ID mapped to the external contact ID - type: string - conversation_id: - docs: The Intercom conversation ID mapped to the external conversation ID - type: string - external_contact_id: - docs: The external contact ID provided in the notification request - type: string - external_conversation_id: - docs: The external conversation ID provided in the notification request - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomerRequest: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: CustomerRequestIntercomUserId - - type: CustomerRequestUserId - - type: CustomerRequestEmail - CustomerRequestEmail: - inline: true - properties: - email: - docs: >- - The email you have defined for the contact who is being added as a - participant. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomerRequestIntercomUserId: - inline: true - properties: - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomerRequestUserId: - inline: true - properties: - user_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomObjectInstanceDeleted: - docs: deleted custom object instance object - properties: - deleted: - docs: Whether the Custom Object instance is deleted or not. - type: optional - id: - docs: The Intercom defined id representing the Custom Object instance. - type: optional - object: - docs: >- - The unique identifier of the Custom Object type that defines the - structure of the Custom Object instance. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CustomObjectInstanceList: - docs: >- - The list of associated custom object instances for a given reference - attribute on the parent object. - properties: - instances: - docs: >- - The list of associated custom object instances for a given reference - attribute on the parent object. - type: optional>> - type: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataAttributeList: - docs: >- - A list of all data attributes belonging to a workspace for contacts, - companies or conversations. - properties: - data: - docs: A list of data attributes - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataEventList: - docs: This will return a list of data events for the App. - properties: - events: - docs: A list of data events - type: optional> - pages: - docs: Pagination - type: optional - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataEventListPages: - docs: Pagination - inline: true - properties: - next: optional - since: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataEventSummary: - docs: This will return a summary of data events for the App. - properties: - email: - docs: The email address of the user - type: optional - events: - docs: A summary of data events - type: list> - intercom_user_id: - docs: The Intercom user ID of the user - type: optional - type: - docs: The type of the object - type: optional> - user_id: - docs: The user ID of the user - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataEventSummaryItem: - docs: This will return a summary of a data event for the App. - properties: - count: - docs: The number of times the event was sent - type: optional - description: - docs: The description of the event - type: optional - first: - docs: The first time the event was sent - type: optional - last: - docs: The last time the event was sent - type: optional - name: - docs: The name of the event - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataExportCsv: - docs: A CSV output file - properties: - company_id: - docs: >- - The company ID of the user in relation to the message that was sent. - Will return -1 if no company is present. - type: optional - content_id: - docs: >- - The specific content that was received. In an A/B test each version - has its own Content ID. - type: optional - content_title: - docs: The title of the content you see in your Intercom workspace. - type: optional - content_type: - docs: Email, Chat, Post etc. - type: optional - email: - docs: The users email who was sent the message. - type: optional - first_click: - docs: >- - The first time the series the user clicked on a link within this - message. - type: optional - first_completion: - docs: >- - The first time a user completed this message if the content was able - to be completed e.g. Tours, Surveys. - type: optional - first_dismisall: - docs: The first time the series the user dismissed this message. - type: optional - first_goal_success: - docs: >- - The first time the user met this messages associated goal if one - exists. - type: optional - first_hard_bounce: - docs: The first time this message hard bounced for this user - type: optional - first_open: - docs: The first time the user opened this message. - type: optional - first_reply: - docs: >- - The first time a user replied to this message if the content was able - to receive replies. - type: optional - first_series_completion: - docs: >- - The first time the series this message was a part of was completed by - the user. - type: optional - first_series_disengagement: - docs: >- - The first time the series this message was a part of was disengaged by - the user. - type: optional - first_series_exit: - docs: >- - The first time the series this message was a part of was exited by the - user. - type: optional - first_unsubscribe: - docs: The first time the user unsubscribed from this message. - type: optional - name: - docs: The full name of the user receiving the message - type: optional - node_id: - docs: >- - The id of the series node that this ruleset is associated with. Each - block in a series has a corresponding node_id. - type: optional - receipt_id: - docs: >- - ID for this receipt. Will be included with any related stats in other - files to identify this specific delivery of a message. - type: optional - received_at: - docs: Timestamp for when the receipt was recorded. - type: optional - ruleset_id: - docs: The id of the message. - type: optional - ruleset_version_id: - docs: >- - As you edit content we record new versions. This ID can help you - determine which version of a piece of content that was received. - type: optional - series_id: - docs: >- - The id of the series that this content is part of. Will return -1 if - not part of a series. - type: optional - series_title: - docs: The title of the series that this content is part of. - type: optional - user_external_id: - docs: The external_user_id of the user who was sent the message - type: optional - user_id: - docs: The user_id of the user who was sent the message. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Datetime: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - docs: A date and time following the ISO8601 notation. - type: datetime - - docs: A date and time as UNIX timestamp notation. - type: integer - DeletedArticleObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the article was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the article which you provided in the URL. - type: optional - object: - docs: The type of object which was deleted. - article - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DeletedCollectionObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the collection was deleted successfully or not. - type: optional - id: - docs: >- - The unique identifier for the collection which you provided in the - URL. - type: optional - object: - docs: The type of object which was deleted. - `collection` - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DeletedCompanyObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the company was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the company which is given by Intercom. - type: optional - object: - docs: The type of object which was deleted. - `company` - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DeletedInternalArticleObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the internal article was deleted successfully or not. - type: optional - id: - docs: >- - The unique identifier for the internal article which you provided in - the URL. - type: optional - object: - docs: The type of object which was deleted. - internal_article - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DeletedObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the news item was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the news item which you provided in the URL. - type: optional - object: - docs: The type of object which was deleted - news-item. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - EmailAddressHeader: - docs: >- - Contains data for an email address header for a conversation part that was - sent as an email. - properties: - email_address: - docs: The email address - type: optional - name: - docs: The name associated with the email address - type: optional - type: - docs: The type of email address header - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - EmailMessageMetadata: - docs: Contains metadata if the message was sent as an email - properties: - email_address_headers: - docs: A list of an email address headers. - type: optional> - subject: - docs: The subject of the email - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Error: - docs: >- - The API will return an Error List for a failed request, which will contain - one or more Error objects. - properties: - errors: - docs: An array of one or more error objects - type: list - request_id: - docs: '' - type: optional - validation: - format: uuid - type: - docs: The type is error.list - type: literal<"error.list"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ErrorErrorsItem: - inline: true - properties: - code: - docs: >- - A string indicating the kind of error, used to further qualify the - HTTP response code - type: string - field: - docs: >- - Optional. Used to identify a particular field or query parameter that - was in error. - type: optional - message: - docs: Optional. Human readable description of the error. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - EventDetails: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: ConversationAttributeUpdatedByWorkflow - - type: ConversationAttributeUpdatedByAdmin - - type: CustomActionStarted - - type: CustomActionFinished - - type: OperatorWorkflowEvent - FileAttribute: - docs: The value describing a file upload set for a custom attribute - properties: - content_type: - docs: The type of file - type: optional - filesize: - docs: The size of the file in bytes - type: optional - height: - docs: The height of the file in pixels, if applicable - type: optional - name: - docs: The name of the file - type: optional - type: - type: optional - url: - docs: >- - The url of the file. This is a temporary URL and will expire after 30 - minutes. - type: optional - width: - docs: The width of the file in pixels, if applicable - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - GroupContent: - docs: The Content of a Group. - properties: - description: - docs: The description of the collection. Only available for collections. - type: optional - name: - docs: The name of the collection or section. - type: optional - type: - docs: The type of object - `group_content` . - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - GroupTranslatedContent: - docs: >- - The Translated Content of an Group. The keys are the locale codes and the - values are the translated content of the Group. - properties: - ar: - docs: The content of the group in Arabic - type: optional - bg: - docs: The content of the group in Bulgarian - type: optional - bs: - docs: The content of the group in Bosnian - type: optional - ca: - docs: The content of the group in Catalan - type: optional - cs: - docs: The content of the group in Czech - type: optional - da: - docs: The content of the group in Danish - type: optional - de: - docs: The content of the group in German - type: optional - el: - docs: The content of the group in Greek - type: optional - en: - docs: The content of the group in English - type: optional - es: - docs: The content of the group in Spanish - type: optional - et: - docs: The content of the group in Estonian - type: optional - fi: - docs: The content of the group in Finnish - type: optional - fr: - docs: The content of the group in French - type: optional - he: - docs: The content of the group in Hebrew - type: optional - hr: - docs: The content of the group in Croatian - type: optional - hu: - docs: The content of the group in Hungarian - type: optional - id: - docs: The content of the group in Indonesian - type: optional - it: - docs: The content of the group in Italian - type: optional - ja: - docs: The content of the group in Japanese - type: optional - ko: - docs: The content of the group in Korean - type: optional - lt: - docs: The content of the group in Lithuanian - type: optional - lv: - docs: The content of the group in Latvian - type: optional - mn: - docs: The content of the group in Mongolian - type: optional - nb: - docs: The content of the group in Norwegian - type: optional - nl: - docs: The content of the group in Dutch - type: optional - pl: - docs: The content of the group in Polish - type: optional - pt: - docs: The content of the group in Portuguese (Portugal) - type: optional - pt-BR: - docs: The content of the group in Portuguese (Brazil) - type: optional - ro: - docs: The content of the group in Romanian - type: optional - ru: - docs: The content of the group in Russian - type: optional - sl: - docs: The content of the group in Slovenian - type: optional - sr: - docs: The content of the group in Serbian - type: optional - sv: - docs: The content of the group in Swedish - type: optional - tr: - docs: The content of the group in Turkish - type: optional - type: - docs: The type of object - group_translated_content. - type: optional - vi: - docs: The content of the group in Vietnamese - type: optional - zh-CN: - docs: The content of the group in Chinese (China) - type: optional - zh-TW: - docs: The content of the group in Chinese (Taiwan) - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - InternalArticleList: - docs: This will return a list of internal articles for the App. - properties: - data: - docs: An array of Internal Article objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of internal articles. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - LinkedObject: - docs: A linked conversation or ticket. - properties: - category: - docs: Category of the Linked Ticket Object. - type: optional - id: - docs: The ID of the linked object - type: optional - type: - docs: ticket or conversation - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - LinkedObjectList: - docs: >- - An object containing metadata about linked conversations and linked - tickets. Up to 1000 can be returned. - properties: - data: - docs: An array containing the linked conversations and linked tickets. - type: optional> - has_more: - docs: Whether or not there are more linked objects than returned. - type: optional - total_count: - docs: The total number of linked objects. - type: optional - type: - docs: Always list. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - LinkedObjectType: - docs: ticket or conversation - enum: - - ticket - - conversation - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Metadata: - type: unstableRoot.ConversationPartMetadata - MultipleFilterSearchRequest: - docs: Search using Intercoms Search APIs with more than one filter. - properties: - operator: - docs: An operator to allow boolean inspection between multiple fields. - type: optional - value: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - MultipleFilterSearchRequestOperator: - docs: An operator to allow boolean inspection between multiple fields. - enum: - - AND - - OR - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - MultipleFilterSearchRequestValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - docs: Add mutiple filters. - type: list - - docs: Add a single filter field. - type: list - NewsItemRequest: - docs: >- - 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: - body: - docs: The news item body, which may contain HTML. - type: optional - deliver_silently: - docs: >- - When set to `true`, the news item will appear in the messenger - newsfeed without showing a notification badge. - type: optional - labels: - docs: Label names displayed to users to categorize the news item. - type: optional> - newsfeed_assignments: - docs: A list of newsfeed_assignments to assign to the specified newsfeed. - type: optional> - reactions: - docs: >- - Ordered list of emoji reactions to the news item. When empty, - reactions are disabled. - type: optional>> - sender_id: - docs: >- - The id of the sender of the news item. Must be a teammate on the - workspace. - type: integer - state: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - type: optional - title: - docs: The title of the news item. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NewsItemRequestState: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - enum: - - draft - - live - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NoteList: - docs: A paginated list of notes associated with a contact. - properties: - data: - docs: An array of notes. - type: optional> - total_count: - docs: A count of the total number of notes. - type: optional - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NotFoundErrorBody: - properties: - errors: - docs: An array of one or more error objects - type: list - request_id: - docs: '' - type: optional - validation: - format: uuid - type: - docs: The type is error.list - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NotFoundErrorBodyErrorsItem: - inline: true - properties: - code: - docs: ticket_not_found - type: string - message: - docs: Ticket not found - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - OffsetPages: - properties: - next: - type: optional - page: - docs: The current offset - type: optional - per_page: - docs: Number of results per page - type: optional - total_pages: - docs: Total number of pages - type: optional - type: - docs: the type of object `offset_pages` - type: literal<"offset_pages"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - OpenConversationRequest: - docs: Payload of the request to open a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - OperatorWorkflowEvent: - docs: >- - Contains details about name of the workflow for conversation part type - operator_workflow_event. - properties: - event: - type: optional - workflow: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - OperatorWorkflowEventEvent: - inline: true - properties: - result: - docs: Result of the workflow event - type: optional - type: - docs: Type of the workflow event initiated - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - OperatorWorkflowEventWorkflow: - inline: true - properties: - name: - docs: The name of the workflow - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PagesLink: - docs: > - 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: - next: - docs: >- - A link to the next page of results. A response that does not contain a - next link does not have further data to fetch. - type: optional - validation: - format: uri - page: - type: optional - per_page: - type: optional - total_pages: - type: optional - type: - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PaginatedResponse: - docs: Paginated Response - properties: - data: - docs: An array of Objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: The type of object - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PaginatedResponseDataItem: - base-properties: {} - discriminant: type - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - news-item: - type: news.NewsItem - newsfeed: - type: news.Newsfeed - PaginatedResponseType: - docs: The type of object - enum: - - list - - name: ConversationList - value: conversation.list - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PartAttachment: - docs: The file attached to a part - properties: - content_type: - docs: The content type of the attachment - type: optional - filesize: - docs: The size of the attachment - type: optional - height: - docs: The height of the attachment - type: optional - name: - docs: The name of the attachment - type: optional - type: - docs: The type of attachment - type: optional - url: - docs: The URL of the attachment - type: optional - width: - docs: The width of the attachment - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PhoneSwitch: - docs: Phone Switch Response - properties: - phone: - docs: >- - Phone number in E.164 format, that has received the SMS to continue - the conversation in the Messenger. - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - QuickReplyOption: - properties: - text: - docs: The text to display in this quick reply option. - type: string - uuid: - docs: >- - A unique identifier for this quick reply option. This value will be - available within the metadata of the comment conversation part that is - created when a user clicks on this reply option. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Recipient: - docs: A recipient of a message - properties: - id: - docs: The identifier for the contact which is given by Intercom. - type: string - type: - docs: The role associated to the contact - `user` or `lead`. - type: RecipientType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - RecipientType: - docs: The role associated to the contact - `user` or `lead`. - enum: - - user - - lead - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - RedactConversationRequest: - base-properties: {} - discriminant: type - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - conversation_part: - docs: Payload of the request to redact a conversation part - type: RedactConversationRequestConversationPart - source: - docs: Payload of the request to redact a conversation source - type: RedactConversationRequestSource - RedactConversationRequestConversationPart: - docs: Payload of the request to redact a conversation part - inline: true - properties: - conversation_id: - docs: The id of the conversation. - type: string - conversation_part_id: - docs: The id of the conversation_part. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - RedactConversationRequestSource: - docs: Payload of the request to redact a conversation source - inline: true - properties: - conversation_id: - docs: The id of the conversation. - type: string - source_id: - docs: The id of the source. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Reference: - docs: reference to another object - properties: - id: - docs: '' - type: optional - type: - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ReplyConversationRequest: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: ContactReplyConversationRequest - - type: AdminReplyConversationRequest - SearchRequest: - docs: Search using Intercoms Search APIs. - properties: - pagination: - type: optional - query: SearchRequestQuery - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SearchRequestQuery: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: SingleFilterSearchRequest - - type: MultipleFilterSearchRequest - SegmentList: - docs: >- - This will return a list of Segment Objects. The result may also have a - pages object if the response is paginated. - properties: - pages: - docs: >- - A pagination object, which may be empty, indicating no further pages - to fetch. - type: optional> - segments: - docs: A list of Segment objects - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SingleFilterSearchRequest: - docs: Search using Intercoms Search APIs with a single filter. - properties: - field: - docs: The accepted field that you want to search on. - type: optional - operator: - docs: >- - The accepted operators you can use to define how you want to search - for the value. - type: optional - value: - docs: The value that you want to search on. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SingleFilterSearchRequestOperator: - docs: >- - The accepted operators you can use to define how you want to search for - the value. - enum: - - name: Equals - value: '=' - - name: NotEquals - value: '!=' - - name: In - value: IN - - name: NotIn - value: NIN - - name: LessThan - value: < - - name: GreaterThan - value: '>' - - name: Contains - value: '~' - - name: DoesNotContain - value: '!~' - - name: StartsWith - value: ^ - - name: EndsWith - value: $ - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SingleFilterSearchRequestValue: - discriminated: false - docs: The value that you want to search on. - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - string - - integer - - list - SingleFilterSearchRequestValueItem: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - string - - integer - SlaApplied: - docs: > - 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: - sla_name: - docs: The name of the SLA as given by the teammate when it was created. - type: optional - sla_status: - docs: |- - 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. - type: optional - type: - docs: object type - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SlaAppliedSlaStatus: - docs: |- - 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. - enum: - - hit - - missed - - cancelled - - active - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SnoozeConversationRequest: - docs: Payload of the request to snooze a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - snoozed_until: - docs: The time you want the conversation to reopen. - type: integer - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SocialProfile: - docs: >- - A Social Profile allows you to label your contacts, companies, and - conversations and list them using that Social Profile. - properties: - name: - docs: The name of the Social media profile - type: optional - type: - docs: value is "social_profile" - type: optional> - url: - docs: The name of the Social media profile - type: optional - validation: - format: uri - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - StartingAfterPaging: - properties: - per_page: - docs: The number of results to fetch per page. - type: optional - starting_after: - docs: The cursor to use in the next request to get the next page of results. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SubscriptionTypeList: - docs: A list of subscription type objects. - properties: - data: - docs: A list of subscription type objects associated with the workspace . - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagCompanyRequest: - docs: You can tag a single company or a list of companies. - properties: - companies: - docs: The id or company_id of the company can be passed as input parameters. - type: list - name: - docs: The name of the tag, which will be created if not found. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagCompanyRequestCompaniesItem: - inline: true - properties: - company_id: - docs: The company id you have defined for the company. - type: optional - id: - docs: The Intercom defined id representing the company. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagList: - docs: A list of tags objects in the workspace. - properties: - data: - docs: A list of tags objects associated with the workspace . - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagMultipleUsersRequest: - docs: You can tag a list of users. - properties: - name: - docs: The name of the tag, which will be created if not found. - type: string - users: list - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagMultipleUsersRequestUsersItem: - inline: true - properties: - id: - docs: The Intercom defined id representing the user. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Tags: - docs: A list of tags objects associated with a conversation - properties: - tags: - docs: A list of tags objects associated with the conversation. - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TeamList: - docs: This will return a list of team objects for the App. - properties: - teams: - docs: A list of team objects - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TeamPriorityLevel: - docs: Admin priority levels for teams - properties: - primary_team_ids: - docs: The primary team ids for the team - type: optional> - secondary_team_ids: - docs: The secondary team ids for the team - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketCustomAttributes: - docs: >- - 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_`. - type: map - TicketList: - docs: Tickets are how you track requests from your users. - properties: - pages: - type: optional - tickets: - docs: The list of ticket objects - type: optional>> - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always ticket.list - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartAuthor: - docs: >- - The author that wrote or triggered the part. Can be a bot, admin, team or - user. - properties: - email: - docs: The email of the author - type: optional - validation: - format: email - id: - docs: The id of the author - type: optional - name: - docs: The name of the author - type: optional - type: - docs: The type of the author - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartAuthorType: - docs: The type of the author - enum: - - admin - - bot - - team - - user - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketParts: - docs: >- - A list of Ticket Part objects for each note and event in the ticket. There - is a limit of 500 parts. - properties: - ticket_parts: - docs: >- - A list of Ticket Part objects for each ticket. There is a limit of 500 - parts. - type: optional> - total_count: - docs: '' - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketReply: - docs: A Ticket Part representing a note, comment, or quick_reply on a ticket - properties: - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: The message body, which may contain HTML. - type: optional - created_at: - docs: The time the note was created. - type: optional - id: - docs: The id representing the part. - type: optional - part_type: - docs: Type of the part - type: optional - redacted: - docs: Whether or not the ticket part has been redacted. - type: optional - type: - docs: Always ticket_part - type: optional> - updated_at: - docs: The last time the note was updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketReplyPartType: - docs: Type of the part - enum: - - note - - comment - - quick_reply - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketRequestCustomAttributes: - docs: >- - 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`). - type: map - TicketStateList: - docs: A list of ticket states associated with a given ticket type. - properties: - data: - docs: A list of ticket states associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeAttribute: - docs: >- - Ticket type attribute, used to define each data field to be captured in a - ticket. - properties: - archived: - docs: Whether the ticket type attribute is archived or not. - type: optional - created_at: - docs: The date and time the ticket type attribute was created. - type: optional - data_type: - docs: >- - The type of the data attribute (allowed values: "string list integer - decimal boolean datetime files") - type: optional - default: - docs: Whether the attribute is built in or not. - type: optional - description: - docs: The description of the ticket type attribute - type: optional - id: - docs: The id representing the ticket type attribute. - type: optional - input_options: - docs: Input options for the attribute - type: optional> - name: - docs: The name of the ticket type attribute - type: optional - order: - docs: The order of the attribute against other attributes - type: optional - required_to_create: - default: false - docs: Whether the attribute is required or not for teammates. - type: optional - required_to_create_for_contacts: - default: false - docs: Whether the attribute is required or not for contacts. - type: optional - ticket_type_id: - docs: The id of the ticket type that the attribute belongs to. - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type_attribute`. - type: optional - updated_at: - docs: The date and time the ticket type attribute was last updated. - type: optional - visible_on_create: - default: true - docs: Whether the attribute is visible or not to teammates. - type: optional - visible_to_contacts: - default: true - docs: Whether the attribute is visible or not to contacts. - type: optional - workspace_id: - docs: The id of the workspace that the ticket type attribute belongs to. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeAttributeDataType: - docs: >- - The type of the data attribute (allowed values: "string list integer - decimal boolean datetime files") - enum: - - string - - list - - integer - - decimal - - boolean - - datetime - - files - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeAttributeList: - docs: A list of attributes associated with a given ticket type. - properties: - ticket_type_attributes: - docs: A list of ticket type attributes associated with a given ticket type. - type: optional>> - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type_attributes.list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeList: - docs: A list of ticket types associated with a given workspace. - properties: - data: - docs: A list of ticket_types associated with a given workspace. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Translation: - docs: >- - A translation object contains the localised details of a subscription - type. - properties: - description: - docs: The localised description of the subscription type. - type: optional - locale: - docs: >- - The two character identifier for the language of the translation - object. - type: optional - name: - docs: The localised name of the subscription type. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UntagCompanyRequest: - docs: You can tag a single company or a list of companies. - properties: - companies: - docs: The id or company_id of the company can be passed as input parameters. - type: list - name: - docs: The name of the tag which will be untagged from the company - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UntagCompanyRequestCompaniesItem: - inline: true - properties: - company_id: - docs: The company id you have defined for the company. - type: optional - id: - docs: The Intercom defined id representing the company. - type: optional - untag: - docs: Always set to true - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateArticleRequest: - docs: You can Update an Article - properties: - author_id: - docs: >- - 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. - type: optional - body: - docs: >- - The content of the article. For multilingual articles, this will be - the body of the default language's content. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - docs: >- - 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. - type: optional - title: - docs: >- - The title of the article.For multilingual articles, this will be the - title of the default language's content. - type: optional - translated_content: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateArticleRequestBody: - properties: - parent_type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateArticleRequestBodyParentType: - enum: - - collection - - section - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateArticleRequestState: - docs: >- - 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 - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateDataAttributeRequest: - discriminated: false - docs: '' - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: UpdateDataAttributeRequestOptions - - unknown - UpdateDataAttributeRequestOptions: - inline: true - properties: - options: - docs: >- - Array of objects representing the options of the list, with `value` as - the key and the option as the value. At least two options are - required. - type: list - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateDataAttributeRequestOptionsOptionsItem: - inline: true - properties: - value: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateTicketTypeRequest: - docs: > - 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/) - properties: - archived: - docs: The archived status of the ticket type. - type: optional - category: - docs: Category of the Ticket Type. - type: optional - description: - docs: The description of the ticket type. - type: optional - icon: - default: 🎟️ - docs: The icon of the ticket type. - type: optional - is_internal: - default: false - docs: >- - 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. - type: optional - name: - docs: The name of the ticket type. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateTicketTypeRequestCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateVisitorRequest: - discriminated: false - docs: Update an existing visitor. - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - UpdateVisitorRequestWithId - - UpdateVisitorRequestWithUserId - UpdateVisitorRequestOne: unknown - UpdateVisitorRequestWithId: - inline: true - properties: - custom_attributes: - docs: The custom attributes which are set for the visitor. - type: optional> - id: - docs: A unique identified for the visitor which is given by Intercom. - type: string - name: - docs: The visitor's name. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateVisitorRequestWithUserId: - inline: true - properties: - custom_attributes: - docs: The custom attributes which are set for the visitor. - type: optional> - name: - docs: The visitor's name. - type: optional - user_id: - docs: A unique identified for the visitor which is given by you. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Visitor: - docs: >- - 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. - properties: - anonymous: - docs: Identifies if this visitor is anonymous. - type: optional - app_id: - docs: The id of the app the visitor is associated with. - type: optional - avatar: - type: optional - companies: - type: optional - created_at: - docs: The time the Visitor was added to Intercom. - type: optional - custom_attributes: - docs: The custom attributes you have set on the Visitor. - type: optional> - do_not_track: - docs: Identifies if this visitor has do not track enabled. - type: optional - email: - docs: The email of the visitor. - type: optional - validation: - format: email - has_hard_bounced: - docs: Identifies if this visitor has had a hard bounce. - type: optional - id: - docs: The Intercom defined id representing the Visitor. - type: optional - las_request_at: - docs: The time the Lead last recorded making a request. - type: optional - location_data: - type: optional - marked_email_as_spam: - docs: Identifies if this visitor has marked an email as spam. - type: optional - name: - docs: The name of the visitor. - type: optional - owner_id: - docs: The id of the admin that owns the Visitor. - type: optional - phone: - docs: The phone number of the visitor. - type: optional - pseudonym: - docs: The pseudonym of the visitor. - type: optional - referrer: - docs: The referer of the visitor. - type: optional - remote_created_at: - docs: The time the Visitor was added to Intercom. - type: optional - segments: - type: optional - session_count: - docs: The number of sessions the Visitor has had. - type: optional - signed_up_at: - docs: The time the Visitor signed up for your product. - type: optional - social_profiles: - type: optional - tags: - type: optional - type: - docs: Value is 'visitor' - type: optional> - unsubscribed_from_emails: - docs: Whether the Visitor is unsubscribed from emails. - type: optional - updated_at: - docs: The last time the Visitor was updated. - type: optional - user_id: - docs: Automatically generated identifier for the Visitor. - type: optional - utm_campaign: - docs: The utm_campaign of the visitor. - type: optional - utm_content: - docs: The utm_content of the visitor. - type: optional - utm_medium: - docs: The utm_medium of the visitor. - type: optional - utm_source: - docs: The utm_source of the visitor. - type: optional - utm_term: - docs: The utm_term of the visitor. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorAvatar: - inline: true - properties: - image_url: - docs: This object represents the avatar associated with the visitor. - type: optional - validation: - format: uri - type: - default: avatar - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorCompanies: - inline: true - properties: - companies: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorDeletedObject: - docs: Response returned when an object is deleted - properties: - id: - docs: The unique identifier for the visitor which is given by Intercom. - type: optional - type: - docs: The type of object which was deleted - type: optional> - user_id: - docs: Automatically generated identifier for the Visitor. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorLocationData: - inline: true - properties: - city_name: - docs: The city name of the visitor. - type: optional - continent_code: - docs: The continent code of the visitor. - type: optional - country_code: - docs: The country code of the visitor. - type: optional - country_name: - docs: The country name of the visitor. - type: optional - postal_code: - docs: The postal code of the visitor. - type: optional - region_name: - docs: The region name of the visitor. - type: optional - timezone: - docs: The timezone of the visitor. - type: optional - type: - default: location_data - docs: '' - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorSegments: - inline: true - properties: - segments: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorSocialProfiles: - inline: true - properties: - social_profiles: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorTags: - inline: true - properties: - tags: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorTagsTagsItem: - inline: true - properties: - id: - docs: The id of the tag. - type: optional - name: - docs: The name of the tag. - type: optional - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - WhatsappMessageStatusList: - properties: - events: list - pages: WhatsappMessageStatusListPages - ruleset_id: - docs: The provided ruleset ID - type: string - total_count: - docs: Total number of events - type: integer - type: literal<"list"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - WhatsappMessageStatusListEventsItem: - inline: true - properties: - conversation_id: - docs: ID of the conversation - type: string - created_at: - docs: Creation timestamp - type: integer - id: - docs: Event ID - type: string - status: - docs: Current status of the message - type: WhatsappMessageStatusListEventsItemStatus - template_name: - docs: Name of the WhatsApp template used - type: optional - type: - docs: Event type - type: literal<"broadcast_outbound"> - updated_at: - docs: Last update timestamp - type: integer - whatsapp_message_id: - docs: WhatsApp's message identifier - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - WhatsappMessageStatusListEventsItemStatus: - docs: Current status of the message - enum: - - sent - - delivered - - read - - failed - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - WhatsappMessageStatusListPages: - inline: true - properties: - next: - docs: Information for fetching next page (null if no more pages) - type: optional - per_page: - docs: Number of results per page - type: integer - total_pages: - docs: Total number of pages - type: integer - type: literal<"pages"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - WhatsappMessageStatusListPagesNext: - docs: Information for fetching next page (null if no more pages) - inline: true - properties: - starting_after: - docs: Cursor for the next page - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -errors: - BadRequestError: - docs: Bad Request - examples: - - name: Example of an invalid away_status_reason_id - value: - errors: - - code: parameter_invalid - message: Away status reason is deleted - type: error.list - - name: >- - Example of a missing away_status_reason_id when away reasons are - mandatory - value: - errors: - - code: away_status_reason_mandatory - message: Away status reason is mandatory - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: >- - author_id must be in the main body or default locale - translated_content object - request_id: e522ca8a-cd15-404e-84b3-7f7536003d4a - type: error.list - - name: No dataset_id - value: - errors: - - code: bad_request - message: '''dataset_id'' is a required parameter' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Invalid dataset_id - value: - errors: - - code: bad_request - message: imaginary is not a valid dataset_id - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: No attribute_ids - value: - errors: - - code: bad_request - message: '''attribute_ids'' is a required parameter' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Empty attribute_ids - value: - errors: - - code: bad_request - message: attribute_ids must contain at least one attribute_id - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Non array attribute_ids - value: - errors: - - code: bad_request - message: '''attribute_ids'' not an array must be of type Array' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Invalid attribute_ids - value: - errors: - - code: bad_request - message: 'attribute_ids invalid for conversation dataset: non_existent' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: Name is a required parameter. - request_id: 816186b3-3187-4b47-adf8-e201bea32208 - type: error.list - - name: Bad Request - value: - errors: - - code: bad_request - message: bad 'test' parameter - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: company not specified - request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a - type: error.list - - name: Bad request - value: - errors: - - code: parameter_invalid - message: Ticket type is not a customer ticket type - request_id: 450e0b22-ccc2-40dd-bf54-bc0faaa28f57 - type: error.list - - name: BadRequest - value: - errors: - - code: data_invalid - message: Contact not found or could not be created - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Same name already exists - value: - 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. - request_id: da2a7037-11f4-4fcc-8d19-27da3b3a4336 - type: error.list - - name: Invalid name - value: - errors: - - code: parameter_invalid - message: >- - Your name for this attribute must only contain alphanumeric - characters, currency symbols, and hyphens - request_id: 1c45cfd9-ffd1-4e3e-9f7a-2ac99abdf03d - type: error.list - - name: Attribute already exists - value: - 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. - request_id: 55999605-a170-4894-a3d0-090c4fee8d11 - type: error.list - - name: Invalid Data Type - value: - errors: - - code: parameter_invalid - message: Data Type isn't an option - request_id: e0a9ccc7-a540-4ef0-8ffc-28ab86658b04 - type: error.list - - name: Too few options for list - value: - errors: - - code: parameter_invalid - message: The Data Attribute model field must be either contact or company - request_id: 6544ccf8-435d-49e1-91ed-e49356f14255 - type: error.list - - name: Too few options in list - value: - errors: - - code: parameter_invalid - message: Options isn't an array - request_id: 37cff4c5-5e1a-4958-a2ba-149b09d1915c - type: error.list - - name: No body supplied for message - value: - errors: - - code: parameter_invalid - message: Body is required - request_id: 3f3e74cc-65af-4408-9bf5-9e71b55c8166 - type: error.list - - name: No body supplied for email message - value: - errors: - - code: parameter_invalid - message: Body is required - request_id: 2d6abc61-1441-4860-9ef0-777852f8b24f - type: error.list - - name: bad request - exception sending sms - value: - error_key: sms_failed - message: SMS was not sent due to an unknown error - - name: bad request - invalid number - value: - error_key: invalid_phone_number - message: Invalid phone number - - name: too_many_ids - value: - errors: - - code: conversation_id_limit_exceeded - message: A list of up to 20 conversation IDs is required - type: error.list - - name: Invalid parameters - value: - errors: - - code: parameter_invalid - message: invalid tag parameters - request_id: 33a05108-3bf7-411f-a270-72db40b5a31c - type: error.list - - name: Tag has dependent objects - value: - errors: - - code: tag_has_dependent_objects - message: 'Unable to delete Tag with dependent objects. Segments: Seg 1.' - request_id: 28960d1e-a056-46c0-bf18-a0d798eb889f - type: error.list - - name: User reply - value: - errors: - - code: parameter_mismatch - message: User replies are not allowed on Backoffice tickets - request_id: 603ce1da-f2bf-4641-a1ee-d1f13ebf9172 - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_invalid - message: Missing required ticket attributes - request_id: c7bf358f-135e-48d7-8286-a4988a8a1456 - type: error.list - - name: >- - Ticket state id is not valid or is not associated with the ticket - type. - value: - errors: - - code: ticket_state_id_invalid - message: >- - Ticket state id is not valid or is not associated with the - ticket type - request_id: 28b71de1-b451-433a-a08c-845f2b1736b6 - type: error.list - status-code: 400 - type: unknown - ForbiddenError: - docs: API plan restricted - examples: - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b9 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: dcf1b373-3e66-4026-a987-98c16f00a908 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 8b3deed3-fd8b-43d6-b6a8-428c9e17aabb - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 34072e07-6b70-4f59-96bf-3106a3563a24 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 7a80b950-b392-499f-85db-ea7c6c424d37 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 48ad16d0-525c-40bf-b733-89239feb70e3 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: a57737d0-63a7-42bd-aa65-8380ef828124 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 99f72599-ac98-4b1e-af96-808654b6383e - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 6fe4106b-967a-46ba-b1c9-9996aff6e8c3 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 72b6821e-54ff-4a25-adf9-abdfef5fe72b - type: error.list - status-code: 403 - type: Error - NotFoundError: - docs: Admin not found - examples: - - name: Admin not found - value: - errors: - - code: admin_not_found - message: Admin for admin_id not found - request_id: efcd0531-798b-4c22-bccd-68877ed7faa4 - type: error.list - - name: Admin not found - value: - errors: - - code: admin_not_found - message: Admin not found - request_id: c59f7ca5-1639-4284-a66d-50e34ed98ab3 - type: error.list - - name: Article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 - type: error.list - - name: Article Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 - type: error.list - - name: Article Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: 'Export job not found for identifier: job1' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Collection not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: a074a09e-97d1-44e2-b164-b703559c9f23 - type: error.list - - name: Collection Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 198e3add-d017-4e18-b478-fbe2cb8c538b - type: error.list - - name: collection Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: f0d0ea9b-ffaf-48f5-95d0-e99531c379e2 - type: error.list - - name: Collection not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bbd5de60-49c4-4850-afff-1226cdaa0beb - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 57d57564-b5e2-4064-abfe-4653e5ac24c0 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: daa64b43-3e3c-4fc4-aef9-91eb40c7885c - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 4f41d1d6-7a42-45e3-a24e-544deb62da47 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 5dde0b79-8c81-4d9e-a4d4-736a44cf2f00 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: de5d939e-77fb-46d7-a3b9-f34199d9f25a - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 981799ea-f19b-432d-828c-491a3b29ad29 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: dcfc3465-8a51-4d78-b24c-2f215d48f339 - type: error.list - - name: Contact Not Found - value: - errors: - - code: not_found - message: User Not Found - request_id: b5a1f332-1bf1-44bd-a068-2634244b6051 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 57055cde-3d0d-4c67-b5c9-b20b80340bf0 - type: error.list - - name: Admin not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 168f1bc3-d198-4797-8422-9f93fe8af5ad - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 6f372239-0259-428f-9943-91b8f7a92162 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 61c119c7-b2f0-4158-8457-fd53e83f936a - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: c9b793ad-ff39-436c-80c9-db6f24d0d444 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 0c2871af-abed-4bce-a5c5-77efbe721711 - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 2774db46-34d9-4925-a24d-8203d4a39f65 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 82b37940-b43f-46ee-a492-11543a317c97 - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: c18422ca-5454-42af-9e1d-dd92066e6e9d - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 302049fb-b8c1-4dc8-a327-a8f6e1923484 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: f22a7847-ee33-449f-80c0-707efd295a53 - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 8a3e4f88-ae65-433a-b4eb-46780ffc5402 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: b3d41080-5b35-42b8-8584-31e4660d355f - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 02871f7a-860e-433a-8545-6a73fbbe5e22 - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Conversation not found - request_id: c6e8c74f-a354-4dfd-a5be-6061d2d26341 - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Conversation not found - request_id: 84db22c5-0fef-465a-a909-2643d8a22c69 - type: error.list - - name: Tag not found - value: - errors: - - code: tag_not_found - message: Tag not found - request_id: 1fe3e9ec-6a5b-4abc-b51c-a515f77d9577 - type: error.list - - name: Contact Not Found - value: - errors: - - code: not_found - message: User Not Found - request_id: d7eb553e-74ae-4341-820b-5d38a94d4a99 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 8c288c4f-b699-4209-9de4-064398f02785 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: de1be01d-a0d3-48a6-9ea6-9789931a6887 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 06234918-c245-4caa-a2cc-90247983c6ff - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: e056b3c3-fae3-4a3c-9bcf-836b84efa331 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 86fd8b2e-7048-4fbd-9fb0-d73085d7210b - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 89835b60-6756-4d2a-b148-26ca0cb49f9f - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: ab1b9371-3185-417f-a53a-dcae35892980 - type: error.list - - name: Not found - value: - errors: - - code: conversation_part_or_message_not_found - message: Conversation part or message not found - request_id: 5b7bb755-4031-4bfe-8897-54d0f1872bbc - type: error.list - - name: ObjectNotFound - value: - errors: - - code: not_found - message: Object not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: CustomObjectNotFound - value: - errors: - - code: not_found - message: Custom object instance not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: IntegrationNotFound - value: - errors: - - code: data_invalid - message: Integration not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: TypeNotFound - value: - errors: - - code: not_found - message: Custom object type `undefined` not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Attribute Not Found - value: - errors: - - code: field_not_found - message: We couldn't find that data attribute to update - request_id: eee16d31-0b0a-4b5f-b95a-25d37528c80f - type: error.list - - name: Job not found - value: - errors: - - code: job_not_found - message: Job Not Found - request_id: 123e4567-e89b-12d3-a456-426614174000 - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: da84e250-8626-47e8-815c-62b33f0f2c36 - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 2014d867-b634-495a-9b4f-ce56c4d657a9 - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 23728e22-7b9f-44a9-9b8d-5028811b9cd0 - type: error.list - - name: Note not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bc300b1a-492a-405f-924e-a5881cb72e3a - type: error.list - - name: Segment not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bd697cc6-7757-488c-a89f-16e6feaf7585 - type: error.list - - name: Not Found - value: - errors: - - code: not_found - message: Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Not Found - value: - errors: - - code: not_found - message: Recording Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Company not found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 23c998cc-32b8-435d-9653-932c15809460 - type: error.list - - name: User not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 7358f78d-f122-45dd-a2e1-c2261300c38a - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: e20c89d2-29c6-4abb-aa3d-c860e1cec1ca - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 49536975-bbc5-4a2f-ab8b-7928275cb4d3 - type: error.list - - name: Team not found - value: - errors: - - code: team_not_found - message: Team not found - request_id: 3ff156ba-a66e-40d4-93ff-cb6e6afc3c9d - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 24561472-06a4-41b2-aca2-97b3ccd9ca19 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: b44cff1d-c6f8-4d60-ab6f-33522cd739d8 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: 734019dc-1d61-4fad-a86e-e3fb06244c4d - type: error.list - - name: Tag not found - value: - errors: - - code: tag_not_found - message: Tag not found - request_id: a3658b9a-3562-48a7-8afe-362284632d67 - type: error.list - - name: Admin not found - value: - errors: - - code: assignee_not_found - message: Assignee not found - request_id: f9757add-b48a-4519-a6e0-04b2ef9c8c6c - type: error.list - - name: Assignee not found - value: - errors: - - code: assignee_not_found - message: Assignee not found - request_id: 39cf6495-768c-450c-a2c4-c9c3c4ea2e01 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: 34a070f1-122e-42dc-a94e-9b86768df26c - type: error.list - - name: Visitor not found - value: - errors: - - code: not_found - message: Visitor Not Found - request_id: 3c1b017d-39fb-4d13-8cc9-540ad0d37106 - type: error.list - - name: visitor Not Found - value: - errors: - - code: not_found - message: Visitor Not Found - request_id: 6a6d5522-54e2-437d-8fd0-1109686af965 - type: error.list - status-code: 404 - type: unknown - TooManyRequestsError: - docs: Too many jobs in progress - examples: - - name: Unauthorized - value: - errors: - - code: rate_limit_exceeded - message: Exceeded rate limit of 5 pending reporting dataset export jobs - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - status-code: 429 - type: Error - UnauthorizedError: - docs: Unauthorized - examples: - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e76b2df0-2413-4215-8a5a-b5f6ebd4e642 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 57cc6148-2c0a-471b-bd9e-859538110958 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5ef5682e-f66e-40a4-b828-8592175f83b8 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff783bc1-754f-4a9f-887b-22f94fec18f0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9e554e0f-ed0a-4fc6-b141-105d70c9d485 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 31262ee6-aa3b-4748-a260-a1084754ebae - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5556d3dd-d4e2-4424-9757-2ad0accb52e5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: cb4a6795-2cdb-44f9-adb7-0624702f7e8a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 093e1dd9-996a-4154-a64c-80803a5c2084 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: bd0c53dd-d3fd-4095-be25-94537a8ba364 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 205ffc13-1b25-43b2-a176-cb817af5f899 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 504cde98-f786-4f64-b373-e26a6a41fd11 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 8217b189-b908-4562-962d-2a19a7b77f25 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2380cdd5-c4a0-451a-b07d-a6f4b720add3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2e760b85-9020-471b-89dc-f579ec8a0104 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 85e91429-72df-4e69-8a12-b55793dff59f - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2eab07fb-5092-49a4-ba74-44094f31f264 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d1ea223d-bb62-42e3-8bcf-30fdcf7dbd99 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c6e86ce8-9402-4196-89c5-f1b2912b4bac - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c70746a8-a5b2-4772-afba-1a4b487ea75d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 12c2d3a0-77ef-462e-a5ed-e67ddff50b6e - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 25d96ec2-641f-4354-b24e-83a85d33bd30 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a29395a5-181c-4f3b-b069-5b2f32604c58 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b286edcc-453d-43af-bf2f-40f303708c61 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d0d16fb5-93e6-45ca-b07d-f98fb92fd733 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7c301f6-9206-418b-9792-98821970e48b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 76edbbb7-e463-4f6a-817a-b7905d467535 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2fa563ba-f9c9-4281-a76b-10bfd777dfd7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 8a9f415f-e9df-41e9-ba1f-739914f66551 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: caf73ce4-bda6-4f2b-bbfb-0d984d430335 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 4748eb32-3261-4798-ace0-a5825edf4eb5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7b13fd9c-31be-40de-94e1-d71f260a3458 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f7586690-c217-47db-9042-cb9550b81260 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 91f04dce-5759-4d80-981e-f598ec989d1a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 537ccc45-2cae-4e72-ac2f-849f1422a771 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ca269b05-8c42-4615-a28d-7df0eb1687c5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9bc1e0cc-5cc4-412d-8037-57e073375ab0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 0273c219-51b7-4938-95d2-19996b2e2734 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7323b97b-9ba4-4c54-946c-38cecea65b3c - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f615465d-fd5f-4d68-8498-389130b897e4 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7de741d-dc8f-49b1-8cbe-791668ade76c - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ca3c5e6e-c743-428b-aa8a-ac371a50cc39 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9b1c9966-caeb-485a-8419-d707fd472c63 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 491beaa4-a452-4940-85e0-498c0ca5528d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 45b30bd1-75d2-40cc-bb39-74ac133a2836 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 89ce96d9-aae9-4eec-ace2-d68cc4f74879 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a947b2f0-23d3-419d-9ec4-cdd191cea676 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff328c7c-6140-48eb-84dd-bb8960b66cd0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f0dc95f1-9e46-4e8d-8150-89365c2c5195 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e097e446-9ae6-44a8-8e13-2bf3008b87ef - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff2353d3-d3d6-4f20-8268-847869d01e73 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1fb28be7-cda6-4029-b4da-447ef61cb61a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 617bb25d-4dea-4a68-ae74-2fb8f4e87b39 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: df73b7b4-2352-44fd-8d14-4ea8536ad138 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b14d75ab-7d26-4191-b33f-77ca0a4d4ede - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 68e42c33-8220-48ea-906f-75584c3ec440 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1350c241-0f22-48ca-bab9-169080340870 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: de63ddb2-c525-4ebf-ad38-82ed8b44c896 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 310f55b0-2660-43e8-bed4-7e82b2f40920 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 50f1e8d1-cf1a-450c-a7b5-87a264076241 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 623bbbb8-f6fb-45f3-a2e2-4106ff3a4349 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9dc7c1a0-b818-472c-adf6-3e327f22f541 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 89ef64b2-d1f9-40c3-89e9-d39175d3d647 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 4814668f-5d31-4bf7-8f66-b426aac054db - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6d231766-b44b-4e78-bc9e-9c268ff19671 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: fa71b91c-4a25-4fe6-88a9-884f6950860e - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c60ce63d-1c74-4fe2-8e21-31d1f817a0c2 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e6f50446-be4a-40ac-8c8d-6fb91e1040fd - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 212c8206-e7a6-44c8-8f27-5f0ad7f1d243 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7a7d8425-2c1b-46ab-8133-c043fc1e5711 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2c8a20ee-ed09-42c0-a31d-a1b4f5d2742d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d7997515-cd92-4fe4-966c-cb1f4bdda1d4 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5142ad8e-883e-4b71-9adb-6494851e9b77 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 33ff62c6-ceb7-4bde-93d6-301bed6f24b2 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5838c54e-dd15-460b-82dd-794c4d0e12c5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e5357876-89be-4a04-80c3-16735b7f53ff - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 022ff8b0-d16f-437c-8217-754c13e16dee - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: caa26d8b-6512-445d-9418-9fc5849ca304 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6d9a1bf5-aa08-4c93-a61a-5a21130b6553 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 81384687-5818-4df9-b421-fba77edd6c17 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b1939528-98f0-4a63-a442-2cc9203fc8c7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: be0d5309-d722-4d2a-aae9-77f4bc0a2cd0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 06d15b1f-19b0-42cc-aff9-a9d9db39402b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e1ed4f34-9477-492a-8ddb-22f10af39734 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2859da57-c83f-405c-8166-240a312442a3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f230e3a7-00a9-456b-bf1c-2ad4b7dc49f6 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c1c0477c-5b80-4874-be65-01ec8a9ffe14 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 90a369be-14bb-48d1-8ed6-6287976f6a64 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a77dadbc-1f1e-4875-bac3-f0d09bbc214a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: fc4b741b-b9f1-4ef9-92c7-eb71e9811df3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5e0bd231-7307-42e6-a6ee-babf05bd163b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6c9836ed-8485-4f1d-929d-b9d7e153daed - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: cd303186-b33e-4409-8bfc-5814b176d6e1 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a63507c2-3b3b-4a1a-aafa-f08b87eb2c12 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 36b79d0c-b78f-4e1d-bd6d-bfc3dcc71f53 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c9a2c3da-7536-4eba-bde7-c38c2d9e2942 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2fc2ae95-64ec-4581-80f0-79ecfdc2e759 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ed4305b3-4364-4fab-9f8d-e07e9a8190ab - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2bed74fe-1b04-4c07-8813-02c700e8dcad - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2e87c98e-4ffc-407e-b7bc-065d4d456ea7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7bf358f-135e-48d7-8286-a4988a8a1d9b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d719ad4f-5ae2-492f-88d6-98ba0a9ab6cc - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 17db783e-1e43-41c9-b4db-0c05da78a909 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 50348131-55cd-4ca1-a65f-de093b232adb - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1d7f49b3-10bc-4bf8-a28a-1ac95de3a6ff - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 3f474ec4-4e61-42ee-9acc-eac64982e393 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b3e71306-0600-41e4-9f44-83b52906d2b7 - type: error.list - status-code: 401 - type: Error - UnprocessableEntityError: - docs: Last customer - examples: - - name: Last customer - value: - errors: - - code: parameter_invalid - message: Removing the last customer is not allowed - request_id: 8275e92f-66b7-40f9-82a8-9647ca8d7eb4 - type: error.list - - name: ValidationError - value: - errors: - - code: data_invalid - message: Invalid or duplicated record reference - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Has Dependant Object - value: - errors: - - code: data_invalid - message: >- - The Data Attribute you are trying to archive has a dependant - object - request_id: f04b6b14-1c5b-46e1-9c95-4a914557062c - type: error.list - - name: No subject supplied for email message - value: - errors: - - code: parameter_not_found - message: No subject supplied for email message - request_id: 97db463e-7070-4ac9-9846-9a5d31933772 - type: error.list - - name: unprocessable entity - value: - error_key: some_error - status-code: 422 - type: unknown diff --git a/fern/.definition/admins.yml b/fern/.definition/admins.yml deleted file mode 100644 index 75d3bc5..0000000 --- a/fern/.definition/admins.yml +++ /dev/null @@ -1,386 +0,0 @@ -imports: - root: __package__.yml -types: - Admin: - docs: Admins are teammate accounts that have access to a workspace. - properties: - avatar: - docs: Image for the associated team or teammate - type: optional - validation: - format: uri - away_mode_enabled: - docs: Identifies if this admin is currently set in away mode. - type: boolean - away_mode_reassign: - docs: >- - Identifies if this admin is set to automatically reassign new - conversations to the apps default inbox. - type: boolean - away_status_reason_id: - docs: The unique identifier of the away status reason - type: optional - email: - docs: The email of the admin. - type: string - has_inbox_seat: - docs: >- - Identifies if this admin has a paid inbox seat to restrict/allow - features that require them. - type: boolean - id: - docs: The id representing the admin. - type: string - job_title: - docs: The job title of the admin. - type: optional - name: - docs: The name of the admin. - type: string - team_ids: - docs: This object represents the avatar associated with the admin. - type: list - team_priority_level: - type: optional - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Admins -service: - auth: false - base-path: '' - display-name: Admins - endpoints: - away: - auth: true - examples: - - path-parameters: - admin_id: admin_id - method: PUT - path: /admins/{admin_id}/away - request: - name: ConfigureAwayAdminRequest - path-parameters: - admin_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - admin_id: admin_id - method: GET - path: /admins/{admin_id} - request: - name: FindAdminRequest - path-parameters: - admin_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - identify: - auth: true - display-name: Identify an admin - docs: > - - 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. - examples: - - name: Successful response - response: - body: - app: - created_at: 1734537243 - id_code: this_is_an_id1_that_should_be_at_least_40 - identity_verification: false - name: MyApp 1 - region: US - timezone: America/Los_Angeles - type: app - avatar: - image_url: >- - https://static.intercomassets.com/assets/default-avatars/admins/128.png - type: avatar - away_mode_enabled: false - away_mode_reassign: false - email: admin1@email.com - email_verified: true - has_inbox_seat: true - id: '991267459' - job_title: Associate - name: Ciaran1 Lee - team_ids: - - 814865 - type: admin - method: GET - path: /me - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all admins - docs: You can fetch a list of admins for a given workspace. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - response: - body: - admins: - - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin7@email.com - has_inbox_seat: true - id: '991267466' - job_title: Associate - name: Ciaran7 Lee - team_ids: - - 814865 - type: admin - type: admin.list - method: GET - path: /admins - response: - docs: Successful response - status-code: 200 - type: root.AdminList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAllActivityLogs: - auth: true - display-name: List all activity logs - docs: You can get a log of activities by all admins in an app. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - query-parameters: - created_at_after: '1677253093' - created_at_before: '1677861493' - response: - body: - activity_logs: - - activity_description: Ciaran5 Lee changed your app name from before to after. - activity_type: app_name_change - created_at: 1734537253 - id: fca05814-4b72-4dce-ad4f-77a786a2c136 - performed_by: - email: admin5@email.com - id: '991267464' - ip: 127.0.0.1 - type: admin - - activity_description: >- - Ciaran5 Lee changed your Initial message title message from - Initial message title to Eventual message title. - activity_type: message_state_change - created_at: 1734537253 - id: f48c653b-0185-48ac-a276-23d11006bafb - performed_by: - email: admin5@email.com - id: '991267464' - ip: 127.0.0.1 - type: admin - pages: - page: 1 - per_page: 20 - total_pages: 1 - type: pages - type: activity_log.list - method: GET - path: /admins/activity_logs - request: - name: ListAllActivityLogsRequest - query-parameters: - created_at_after: - docs: >- - The start date that you request data for. It must be formatted as - a UNIX timestamp. - type: string - created_at_before: - docs: >- - The end date that you request data for. It must be formatted as a - UNIX timestamp. - type: optional - response: - docs: Successful response - status-code: 200 - type: root.ActivityLogList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveAdmin: - auth: true - display-name: Retrieve an admin - docs: You can retrieve the details of a single admin. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Admin found - path-parameters: - id: 1 - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - email: admin9@email.com - has_inbox_seat: true - id: '991267468' - job_title: Associate - name: Ciaran9 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - method: GET - path: /admins/{id} - request: - name: RetrieveAdminRequest - path-parameters: - id: - docs: The unique identifier of a given admin - type: integer - response: - docs: Admin found - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - setAwayAdmin: - auth: true - display-name: Set an admin to away - docs: You can set an Admin as away for the Inbox. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - - name: Admin not found - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - - name: Unauthorized - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - method: PUT - path: /admins/{id}/away - request: - body: - properties: - away_mode_enabled: - default: true - docs: Set to "true" to change the status of the admin to away. - type: boolean - away_mode_reassign: - default: false - docs: >- - Set to "true" to assign any new conversation replies to your - default inbox. - type: boolean - away_status_reason_id: - docs: The unique identifier of the away status reason - type: optional - content-type: application/json - name: SetAwayAdminRequest - path-parameters: - id: - docs: The unique identifier of a given admin - type: integer - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiAgent.yml b/fern/.definition/aiAgent.yml deleted file mode 100644 index accbcc2..0000000 --- a/fern/.definition/aiAgent.yml +++ /dev/null @@ -1,56 +0,0 @@ -imports: - root: __package__.yml -types: - AiAgent: - docs: Data related to AI Agent involvement in the conversation. - properties: - content_sources: - type: optional - created_at: - docs: The time when the AI agent rating was created. - type: optional - last_answer_type: - docs: >- - The type of the last answer delivered by AI Agent. If no answer was - delivered then this will return `null` - type: optional - rating: - docs: The customer satisfaction rating given to AI Agent, from 1-5. - type: optional - rating_remark: - docs: The customer satisfaction rating remark given to AI Agent. - type: optional - resolution_state: - docs: >- - The resolution state of AI Agent. If no AI or custom answer has been - delivered then this will return `null`. - type: optional - source_title: - docs: >- - The title of the source that triggered AI Agent involvement in the - conversation. If this is `essentials_plan_setup` then it will return - `null`. - type: optional - source_type: - docs: >- - The type of the source that triggered AI Agent involvement in the - conversation. - type: optional - updated_at: - docs: The time when the AI agent rating was last updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AiAgentSourceType: - docs: >- - The type of the source that triggered AI Agent involvement in the - conversation. - enum: - - essentials_plan_setup - - profile - - workflow - - workflow_preview - - fin_preview - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiContent.yml b/fern/.definition/aiContent.yml deleted file mode 100644 index 51e54fd..0000000 --- a/fern/.definition/aiContent.yml +++ /dev/null @@ -1,773 +0,0 @@ -imports: - root: __package__.yml -types: - ContentImportSource: - docs: >- - An external source for External Pages that you add to your Fin Content - Library. - properties: - created_at: - docs: The time when the content import source was created. - type: integer - id: - docs: >- - The unique identifier for the content import source which is given by - Intercom. - type: integer - last_synced_at: - docs: The time when the content import source was last synced. - type: integer - status: - default: active - docs: The status of the content import source. - type: ContentImportSourceStatus - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, this - should be set to `api`. - type: ContentImportSourceSyncBehavior - type: - docs: Always external_page - type: literal<"content_import_source"> - updated_at: - docs: The time when the content import source was last updated. - type: integer - url: - docs: The URL of the root of the external source. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContentImportSourcesList: - docs: This will return a list of the content import sources for the App. - properties: - data: - docs: An array of Content Import Source objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of content import sources. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContentImportSourceStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContentImportSourceSyncBehavior: - docs: >- - If you intend to create or update External Pages via the API, this should - be set to `api`. - enum: - - api - - automatic - - manual - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateContentImportSourceRequestStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ExternalPage: - docs: External pages that you have added to your Fin Content Library. - properties: - ai_agent_availability: - docs: >- - Whether the external page should be used to answer questions by AI - Agent. - type: boolean - ai_copilot_availability: - docs: >- - Whether the external page should be used to answer questions by AI - Copilot. - type: boolean - created_at: - docs: The time when the external page was created. - type: integer - external_id: - docs: >- - The identifier for the external page which was given by the source. - Must be unique for the source. - type: string - fin_availability: - docs: >- - Deprecated. Use ai_agent_availability and ai_copilot_availability - instead. - type: optional - html: - docs: The body of the external page in HTML. - type: string - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - last_ingested_at: - docs: The time when the external page was last ingested. - type: integer - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which was - given by Intercom. Every external page must be associated with a - Content Import Source which represents the place it comes from and - from which it inherits a default audience (configured in the UI). For - a new source, make a POST request to the Content Import Source - endpoint and an ID for the source will be returned in the response. - type: integer - title: - docs: The title of the external page. - type: string - type: - docs: Always external_page - type: literal<"external_page"> - updated_at: - docs: The time when the external page was last updated. - type: integer - url: - docs: >- - The URL of the external page. This will be used by Fin to link end - users to the page it based its answer on. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ExternalPagesList: - docs: This will return a list of external pages for the App. - properties: - data: - docs: An array of External Page objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of external pages. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateContentImportSourceRequestStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateContentImportSourceRequestSyncBehavior: - docs: >- - If you intend to create or update External Pages via the API, this should - be set to `api`. You can not change the value to or from api. - enum: - - api - - automated - - manual - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: > - With the AI Content APIs, you can create and manage External Pages and Content - Import Sources for your Fin Content Library. - - -   - - - *External Pages* are pages that you want Fin to be able to answer questions - about. The API for External Pages is a great way to ingest into your Fin - Content Library pages that are not publicly accessible and hence can't be - crawled by Intercom. - - -   - - - *Content Import Sources* are the sources of those pages, and they are used to - determine the default audience for the pages (configured via the UI). You - should create a Content Import Source for each source of External Pages that - you want to ingest into your Fin Content Library. - - -   - - - You can then iterate through the content from that source via its API and POST - it to the External Pages endpoint. That endpoint has an *external_id* - parameter which allows you to specify the identifier from the source. The - endpoint will then either create a new External Page or update an existing one - as appropriate.", -service: - auth: false - base-path: '' - display-name: AI Content - endpoints: - createContentImportSource: - auth: true - display-name: Create a content import source - docs: >- - You can create a new content import source by sending a POST request to - this endpoint. - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - sync_behavior: api - url: https://www.example.com - response: - body: - created_at: 1734537261 - id: 36 - last_synced_at: 1734537261 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537261 - url: https://www.example.com - method: POST - path: /ai/content_import_sources - request: - body: - properties: - status: - default: active - docs: The status of the content import source. - type: optional - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, - this should be set to `api`. - type: literal<"api"> - url: - docs: The URL of the content import source. - type: string - content-type: application/json - name: CreateContentImportSourceRequest - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - createExternalPage: - auth: true - display-name: Create an external page (or update an external page by external ID) - docs: >- - You can create a new external page by sending a POST request to this - endpoint. If an external page already exists with the specified - source_id and external_id, it will be updated instead. - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - external_id: abc1234 - html:

Test

- locale: en - source_id: 44 - title: Test - url: https://www.example.com - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537273 - external_id: abc1234 - fin_availability: true - html:

Test

- id: '21' - last_ingested_at: 1734537274 - locale: en - source_id: 44 - title: Test - type: external_page - updated_at: 1734537274 - url: https://www.example.com - method: POST - path: /ai/external_pages - request: - body: - properties: - ai_agent_availability: - default: false - docs: >- - Whether the external page should be used to answer questions by - AI Agent. Will not default when updating an existing external - page. - type: optional - ai_copilot_availability: - default: false - docs: >- - Whether the external page should be used to answer questions by - AI Copilot. Will not default when updating an existing external - page. - type: optional - external_id: - docs: >- - The identifier for the external page which was given by the - source. Must be unique for the source. - type: string - html: - docs: The body of the external page in HTML. - type: string - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which - was given by Intercom. Every external page must be associated - with a Content Import Source which represents the place it comes - from and from which it inherits a default audience (configured - in the UI). For a new source, make a POST request to the Content - Import Source endpoint and an ID for the source will be returned - in the response. - type: integer - title: - docs: The title of the external page. - type: string - url: - docs: >- - The URL of the external page. This will be used by Fin to link - end users to the page it based its answer on. When a URL is not - present, Fin will not reference the source. - type: optional - content-type: application/json - name: CreateExternalPageRequest - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteContentImportSource: - auth: true - display-name: Delete a content import source - docs: >- - You can delete a content import source by making a DELETE request this - endpoint. This will also delete all external pages that were imported - from this source. - errors: - - root.UnauthorizedError - examples: - - path-parameters: - id: id - method: DELETE - path: /ai/content_import_sources/{id} - request: - name: DeleteContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteExternalPage: - auth: true - display-name: Delete an external page - docs: >- - Sending a DELETE request for an external page will remove it from the - content library UI and from being used for AI answers. - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537276 - external_id: '4' - fin_availability: true - html: '' - id: '22' - last_ingested_at: 1734537276 - locale: en - source_id: 45 - title: My External Content - type: external_page - updated_at: 1734537276 - url: https://support.example.com/us/5 - method: DELETE - path: /ai/external_pages/{id} - request: - name: DeleteExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getContentImportSource: - auth: true - display-name: Retrieve a content import source - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - created_at: 1734537265 - id: 38 - last_synced_at: 1734537265 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537265 - url: https://support.example.com/us/5 - method: GET - path: /ai/content_import_sources/{id} - request: - name: GetContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getExternalPage: - auth: true - display-name: Retrieve an external page - docs: You can retrieve an external page. - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537278 - external_id: '5' - fin_availability: true - html:

Hello world

This is external content

- id: '23' - last_ingested_at: 1734537278 - locale: en - source_id: 46 - title: My External Content - type: external_page - updated_at: 1734537278 - url: https://support.example.com/us/6 - method: GET - path: /ai/external_pages/{id} - request: - name: GetExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listContentImportSources: - auth: true - display-name: List content import sources - docs: You can retrieve a list of all content import sources for a workspace. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - created_at: 1734537259 - id: 33 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/1 - - created_at: 1734537259 - id: 34 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/2 - - created_at: 1734537259 - id: 35 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/3 - pages: - next: next - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 3 - type: list - method: GET - path: /ai/content_import_sources - response: - docs: successful - status-code: 200 - type: ContentImportSourcesList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listExternalPages: - auth: true - display-name: List external pages - docs: You can retrieve a list of all external pages for a workspace. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '3' - fin_availability: true - html:

Hello world

This is external content

- id: '19' - last_ingested_at: 1734537269 - locale: en - source_id: 42 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/3 - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '2' - fin_availability: true - html:

Hello world

This is external content

- id: '18' - last_ingested_at: 1734537269 - locale: en - source_id: 41 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/2 - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '1' - fin_availability: true - html:

Hello world

This is external content

- id: '17' - last_ingested_at: 1734537269 - locale: en - source_id: 40 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/1 - pages: - next: next - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 3 - type: list - method: GET - path: /ai/external_pages - response: - docs: successful - status-code: 200 - type: ExternalPagesList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateContentImportSource: - auth: true - display-name: Update a content import source - docs: You can update an existing content import source. - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - request: - sync_behavior: api - url: https://www.example.com - response: - body: - created_at: 1734537267 - id: 39 - last_synced_at: 1734537267 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537267 - url: https://www.example.com - method: PUT - path: /ai/content_import_sources/{id} - request: - body: - properties: - status: - default: active - docs: The status of the content import source. - type: optional - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, - this should be set to `api`. You can not change the value to or - from api. - type: UpdateContentImportSourceRequestSyncBehavior - url: - docs: >- - The URL of the content import source. This may only be different - from the existing value if the sync behavior is API. - type: string - content-type: application/json - name: UpdateContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateExternalPage: - auth: true - display-name: Update an external page - docs: >- - You can update an existing external page (if it was created via the - API). - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - request: - external_id: '5678' - html:

Test

- locale: en - source_id: 47 - title: Test - url: https://www.example.com - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537280 - external_id: '5678' - fin_availability: true - html:

Test

- id: '24' - last_ingested_at: 1734537281 - locale: en - source_id: 47 - title: Test - type: external_page - updated_at: 1734537281 - url: https://www.example.com - method: PUT - path: /ai/external_pages/{id} - request: - body: - properties: - external_id: - docs: >- - The identifier for the external page which was given by the - source. Must be unique for the source. - type: optional - fin_availability: - default: true - docs: >- - Whether the external page should be used to answer questions by - Fin. - type: optional - html: - docs: The body of the external page in HTML. - type: string - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which - was given by Intercom. Every external page must be associated - with a Content Import Source which represents the place it comes - from and from which it inherits a default audience (configured - in the UI). For a new source, make a POST request to the Content - Import Source endpoint and an ID for the source will be returned - in the response. - type: integer - title: - docs: The title of the external page. - type: string - url: - docs: >- - The URL of the external page. This will be used by Fin to link - end users to the page it based its answer on. - type: string - content-type: application/json - name: UpdateExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/aiContentSource.yml b/fern/.definition/aiContentSource.yml deleted file mode 100644 index ee86f31..0000000 --- a/fern/.definition/aiContentSource.yml +++ /dev/null @@ -1,18 +0,0 @@ -types: - ContentSource: - docs: The content source used by AI Agent in the conversation. - properties: - content_type: - docs: The type of the content source. - type: optional> - locale: - docs: The ISO 639 language code of the content source. - type: optional - title: - docs: The title of the content source. - type: optional - url: - docs: The internal URL linking to the content source for teammates. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/api.yml b/fern/.definition/api.yml deleted file mode 100644 index 10f7190..0000000 --- a/fern/.definition/api.yml +++ /dev/null @@ -1,39 +0,0 @@ -auth: BearerAuthScheme -auth-schemes: - BearerAuthScheme: - scheme: bearer - token: - env: INTERCOM_API_KEY -default-environment: USProduction -display-name: Intercom API -environments: - AUProduction: https://api.au.intercom.io/ - EUProduction: https://api.eu.intercom.io/ - USProduction: https://api.intercom.io/ -error-discrimination: - strategy: status-code -name: api -version: - default: '2.11' - header: - name: version - value: Intercom-Version - values: - - '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 diff --git a/fern/.definition/articles.yml b/fern/.definition/articles.yml deleted file mode 100644 index eab668a..0000000 --- a/fern/.definition/articles.yml +++ /dev/null @@ -1,2515 +0,0 @@ -imports: - internalArticles: internalArticles.yml - root: __package__.yml -types: - Article: - docs: >- - The Articles API is a central place to gather all information and take - actions on your articles. Articles can live within collections and - sections, or alternatively they can stand alone. - extends: - - ArticleListItem - properties: - statistics: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleListItem: - docs: The data returned about your articles when you list them. - properties: - author_id: - docs: >- - 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. - type: integer - body: - docs: >- - The body of the article in HTML. For multilingual articles, this will - be the body of the default language's content. - type: optional - created_at: - docs: >- - The time when the article was created. For multilingual articles, this - will be the timestamp of creation of the default language's content in - seconds. - type: integer - default_locale: - docs: >- - The default locale of the help center. This field is only returned for - multilingual help centers. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - id: - docs: The unique identifier for the article which is given by Intercom. - type: string - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_ids: - docs: >- - The ids of the article's parent collections or sections. An article - without this field stands alone. - type: optional> - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - default: draft - docs: >- - Whether the article is `published` or is a `draft`. For multilingual - articles, this will be the state of the default language's content. - type: ArticleListItemState - title: - docs: >- - The title of the article. For multilingual articles, this will be the - title of the default language's content. - type: string - translated_content: - type: optional - type: - docs: The type of object - `article`. - type: optional> - updated_at: - docs: >- - The time when the article was last updated. For multilingual articles, - this will be the timestamp of last update of the default language's - content in seconds. - type: integer - url: - docs: >- - The URL of the article. For multilingual articles, this will be the - URL of the default language's content. - type: optional - workspace_id: - docs: The id of the workspace which the article belongs to. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleListItemState: - default: draft - docs: >- - Whether the article is `published` or is a `draft`. For multilingual - articles, this will be the state of the default language's content. - enum: - - published - - draft - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchHighlights: - docs: >- - The highlighted results of an Article search. In the examples provided my - search query is always "my query". - properties: - article_id: - docs: The ID of the corresponding article. - type: optional - highlighted_summary: - docs: An Article description and body text highlighted. - type: >- - optional>> - highlighted_title: - docs: An Article title highlighted. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedSummaryItemItem: - docs: An instance of highlighted summary text. - inline: true - properties: - text: - docs: The text of the title. - type: optional - type: - docs: The type of text - `highlight` or `plain`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedSummaryItemItemType: - docs: The type of text - `highlight` or `plain`. - enum: - - highlight - - plain - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedTitleItem: - docs: A highlighted article title. - inline: true - properties: - text: - docs: The text of the title. - type: optional - type: - docs: The type of text - `highlight` or `plain`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedTitleItemType: - docs: The type of text - `highlight` or `plain`. - enum: - - highlight - - plain - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchResponse: - docs: The results of an Article search - properties: - data: - docs: An object containing the results of the search. - type: optional - pages: - type: optional - total_count: - docs: The total number of Articles matching the search query - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArticleSearchResponseData: - docs: An object containing the results of the search. - inline: true - properties: - articles: - docs: An array of Article objects - type: optional> - highlights: - docs: A corresponding array of highlighted Article content - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - InternalArticle: - docs: >- - The Internal Articles API is a central place to gather all information and - take actions on your internal articles. - type: internalArticles.InternalArticleListItem -docs: Everything about your Articles -service: - auth: false - base-path: '' - display-name: Articles - endpoints: - create: - auth: true - display-name: Create an article - docs: >- - You can create a new article by making a POST request to - `https://api.intercom.io/articles`. - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: article created - request: - author_id: 991267497 - body: Body of the Article - description: Description of the Article - parent_id: 145 - parent_type: collection - state: published - title: Thanks for everything - translated_content: - fr: - author_id: 991267497 - body: Corps de l'article - description: Description de l'article - state: published - title: Merci pour tout - response: - body: - author_id: 991267497 - body:

Body of the Article

- created_at: 1734537288 - default_locale: en - description: Description of the Article - id: '42' - parent_id: 145 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: Thanks for everything - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537288 - url: >- - http://help-center.test/myapp-68/en/articles/42-thanks-for-everything - workspace_id: this_is_an_id68_that_should_be_at_least_4 - - name: Bad Request - request: - author_id: 1295 - body: Body of the Article - description: Description of the Article - state: published - title: Thanks for everything - response: - body: - author_id: 991267497 - body:

Body of the Article

- created_at: 1734537288 - default_locale: en - description: Description of the Article - id: '42' - parent_id: 145 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: Thanks for everything - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537288 - url: >- - http://help-center.test/myapp-68/en/articles/42-thanks-for-everything - workspace_id: this_is_an_id68_that_should_be_at_least_4 - method: POST - path: /articles - request: - body: - type: optional - content-type: application/json - response: - docs: article created - status-code: 200 - type: Article - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - article_id: article_id - method: DELETE - path: /articles/{article_id} - request: - name: DeleteArticleRequest - path-parameters: - article_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteArticle: - auth: true - display-name: Delete an article - docs: >- - You can delete a single article by making a DELETE request to - `https://api.intercom.io/articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '51' - object: article - method: DELETE - path: /articles/{id} - request: - name: DeleteArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: root.DeletedArticleObject - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - article_id: article_id - method: GET - path: /articles/{article_id} - request: - name: FindArticleRequest - path-parameters: - article_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all articles - docs: > - 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. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - author_id: 991267492 - body: '' - created_at: 1734537283 - default_locale: en - description: '' - id: '39' - parent_id: 143 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - title: This is the article title - type: article - updated_at: 1734537283 - url: >- - http://help-center.test/myapp-64/en/articles/39-this-is-the-article-title - workspace_id: this_is_an_id64_that_should_be_at_least_4 - pages: - page: 1 - per_page: 25 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - pagination: - offset: $request.page - results: $response.data - path: /articles - response: - docs: successful - status-code: 200 - type: root.ArticleList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveArticle: - auth: true - display-name: Retrieve an article - docs: >- - You can fetch the details of a single article by making a GET request to - `https://api.intercom.io/articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Article found - path-parameters: - id: 1 - response: - body: - author_id: 991267502 - body: '' - created_at: 1734537292 - default_locale: en - description: '' - id: '45' - parent_id: 148 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: This is the article title - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537292 - url: >- - http://help-center.test/myapp-74/en/articles/45-this-is-the-article-title - workspace_id: this_is_an_id74_that_should_be_at_least_4 - method: GET - path: /articles/{id} - request: - name: RetrieveArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: Article found - status-code: 200 - type: Article - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - search: - auth: true - display-name: Search for articles - docs: >- - You can search for articles by making a GET request to - `https://api.intercom.io/articles/search`. - errors: - - root.UnauthorizedError - examples: - - name: Search successful - query-parameters: - phrase: Getting started - state: published - response: - body: - data: - articles: - - author_id: 991267521 - body: '' - created_at: 1734537306 - default_locale: en - description: '' - id: '55' - parent_ids: - - 18 - - 19 - parent_type: collection - state: draft - title: Title 1 - type: article - updated_at: 1734537306 - url: http://intercom.test/help/en/articles/3-default-language - workspace_id: this_is_an_id92_that_should_be_at_least_4 - highlights: - - article_id: '123' - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /articles/search - request: - name: SearchArticlesRequest - query-parameters: - help_center_id: - docs: The ID of the Help Center to search in. - type: optional - highlight: - docs: >- - Return a highlighted version of the matching content within your - articles. Refer to the response schema for more details. - type: optional - phrase: - docs: The phrase within your articles to search for. - type: optional - state: - docs: >- - The state of the Articles returned. One of `published`, `draft` or - `all`. - type: optional - response: - docs: Search successful - status-code: 200 - type: ArticleSearchResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - article_id: article_id - method: PUT - path: /articles/{article_id} - request: - name: UpdateArticleRequest - path-parameters: - article_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateArticle: - auth: true - display-name: Update an article - docs: >- - You can update the details of a single article by making a PUT request - to `https://api.intercom.io/articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991267508 - body:

New gifts in store for the jolly season

- created_at: 1734537297 - default_locale: en - description: '' - id: '48' - parent_id: 151 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: Christmas is here! - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537298 - url: >- - http://help-center.test/myapp-80/en/articles/48-christmas-is-here - workspace_id: this_is_an_id80_that_should_be_at_least_4 - - name: Article Not Found - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991267508 - body:

New gifts in store for the jolly season

- created_at: 1734537297 - default_locale: en - description: '' - id: '48' - parent_id: 151 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: Christmas is here! - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537298 - url: >- - http://help-center.test/myapp-80/en/articles/48-christmas-is-here - workspace_id: this_is_an_id80_that_should_be_at_least_4 - method: PUT - path: /articles/{id} - request: - body: - type: optional - content-type: application/json - name: UpdateArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: Article - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/awayStatusReasons.yml b/fern/.definition/awayStatusReasons.yml deleted file mode 100644 index 79ef621..0000000 --- a/fern/.definition/awayStatusReasons.yml +++ /dev/null @@ -1,37 +0,0 @@ -imports: - root: __package__.yml -docs: Everything about your Away Status Reasons -service: - auth: false - base-path: '' - display-name: Away Status Reasons - endpoints: - listAwayStatusReasons: - auth: true - display-name: List all away status reasons - docs: >- - Returns a list of all away status reasons configured for the workspace, - including deleted ones. - errors: - - root.UnauthorizedError - examples: - - response: - body: - - created_at: 1734537243 - deleted: false - emoji: ☕ - id: id - label: On a break - order: 1 - type: away_status_reason - updated_at: 1734537243 - method: GET - path: /away_status_reasons - response: - docs: Successful response - status-code: 200 - type: list - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/calls.yml b/fern/.definition/calls.yml deleted file mode 100644 index 90918a5..0000000 --- a/fern/.definition/calls.yml +++ /dev/null @@ -1,291 +0,0 @@ -imports: - root: __package__.yml -types: - Call: - docs: Represents a phone call in Intercom - properties: - admin_id: - docs: The id of the admin associated with the call, if any. - type: optional - answered_at: - type: optional - call_type: - docs: The type of call. - type: optional - contact_id: - docs: The id of the contact associated with the call, if any. - type: optional - conversation_id: - docs: The id of the conversation associated with the call, if any. - type: optional - created_at: - type: optional - direction: - docs: The direction of the call. - type: optional - ended_at: - type: optional - ended_reason: - docs: The reason for the call end, if applicable. - type: optional - fin_recording_url: - docs: API URL to the AI Agent (Fin) call recording if available. - type: optional - validation: - format: uri - fin_transcription_url: - docs: API URL to the AI Agent (Fin) call transcript if available. - type: optional - validation: - format: uri - id: - docs: The id of the call. - type: optional - initiated_at: - type: optional - phone: - docs: The phone number involved in the call, in E.164 format. - type: optional - recording_url: - docs: API URL to download or redirect to the call recording if available. - type: optional - validation: - format: uri - state: - docs: The current state of the call. - type: optional - type: - docs: String representing the object's type. Always has the value `call`. - type: optional - updated_at: - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ListCallsWithTranscriptsResponse: - properties: - data: optional> - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ListCallsWithTranscriptsResponseDataItem: - extends: - - Call - inline: true - properties: - transcript: - docs: The call transcript if available, otherwise an empty array. - type: optional>> - transcript_status: - docs: The status of the transcript if available. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - listCalls: - auth: true - display-name: List all calls - docs: | - Retrieve a paginated list of calls. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - admin_id: '789' - answered_at: '2024-01-15T09:30:00Z' - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '456' - created_at: '2024-01-15T09:30:00Z' - direction: outbound - ended_at: '2024-01-15T09:30:00Z' - ended_reason: completed - fin_recording_url: fin_recording_url - fin_transcription_url: fin_transcription_url - id: '123' - initiated_at: '2024-01-15T09:30:00Z' - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - type: call - updated_at: '2024-01-15T09:30:00Z' - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 25 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /calls - request: - name: ListCallsRequest - query-parameters: - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to display per page. Defaults to 25. Max 25. - type: optional - response: - docs: successful - status-code: 200 - type: root.CallList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listCallsWithTranscripts: - auth: true - display-name: List calls with transcripts - docs: > - Retrieve calls by a list of conversation ids and include transcripts - when available. - - A maximum of 20 `conversation_ids` can be provided. If none are provided - or more than 20 are provided, a 400 error is returned. - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: successful - request: - conversation_ids: - - '64619700005694' - - '64619700005695' - response: - body: - data: - - admin_id: '789' - answered_at: '2024-01-15T09:30:00Z' - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '64619700005694' - created_at: '2024-01-15T09:30:00Z' - direction: outbound - ended_at: '2024-01-15T09:30:00Z' - ended_reason: completed - fin_recording_url: fin_recording_url - fin_transcription_url: fin_transcription_url - id: '123' - initiated_at: '2024-01-15T09:30:00Z' - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - transcript: - - key: value - transcript_status: completed - type: call - updated_at: '2024-01-15T09:30:00Z' - type: list - method: POST - path: /calls/search - request: - body: - properties: - conversation_ids: - docs: A list of conversation ids to fetch calls for. Maximum 20. - type: list - content-type: application/json - name: ListCallsWithTranscriptsRequest - response: - docs: successful - status-code: 200 - type: ListCallsWithTranscriptsResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - showCall: - auth: true - display-name: Get a call - docs: Retrieve a single call by id. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: id - response: - body: - admin_id: '789' - answered_at: 1734537440 - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '456' - created_at: 1734537437 - direction: outbound - ended_at: 1734537530 - ended_reason: answered - fin_recording_url: https://api.intercom.io/calls/124/recording - fin_transcription_url: https://api.intercom.io/calls/124/transcript - id: '123' - initiated_at: 1734537437 - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - type: call - updated_at: 1734537531 - method: GET - path: /calls/{id} - request: - name: ShowCallRequest - path-parameters: - id: - docs: The id of the call to retrieve - type: string - response: - docs: successful - status-code: 200 - type: Call - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - showCallRecording: - auth: true - display-name: Get call recording by call id - docs: Redirects to a signed URL for the call's recording if it exists. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - path-parameters: - id: id - method: GET - path: /calls/{id}/recording - request: - name: ShowCallRecordingRequest - path-parameters: - id: - docs: The id of the call - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - showCallTranscript: - auth: true - display-name: Get call transcript by call id - docs: > - Returns the transcript for the specified call as a downloadable text - file. - errors: - - root.NotFoundError - method: GET - path: /calls/{id}/transcript - request: - name: ShowCallTranscriptRequest - path-parameters: - id: - docs: The id of the call - type: string - response: - docs: successful - status-code: 200 - type: text - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/companies.yml b/fern/.definition/companies.yml deleted file mode 100644 index 0975c96..0000000 --- a/fern/.definition/companies.yml +++ /dev/null @@ -1,1038 +0,0 @@ -imports: - root: __package__.yml - segments: segments.yml -types: - CompaniesRetrieveResponse: - base-properties: {} - discriminant: type - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - company: - type: Company - list: - type: root.CompanyList - Company: - docs: >- - Companies allow you to represent organizations using your product. Each - company will have its own description and be associated with contacts. You - can fetch, create, update and list companies. - properties: - app_id: - docs: >- - The Intercom defined code of the workspace the company is associated - to. - type: string - company_id: - docs: The company id you have defined for the company. - type: string - created_at: - docs: The time the company was added in Intercom. - type: integer - custom_attributes: - docs: The custom attributes you have set on the company. - type: optional> - id: - docs: The Intercom defined id representing the company. - type: string - industry: - docs: The industry that the company operates in. - type: optional - last_request_at: - docs: The time the company last recorded making a request. - type: optional - monthly_spend: - docs: How much revenue the company generates for your business. - type: integer - name: - docs: The name of the company. - type: string - plan: - type: optional - remote_created_at: - docs: The time the company was created by you. - type: optional - segments: - docs: The list of segments associated with the company - type: optional - session_count: - docs: How many sessions the company has recorded. - type: integer - size: - docs: The number of employees in the company. - type: optional - tags: - docs: The list of tags associated with the company - type: optional - updated_at: - docs: The last time the company was updated. - type: integer - user_count: - docs: The number of users in the company. - type: integer - website: - docs: The URL for the company website. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyPlan: - inline: true - properties: - id: - docs: The id of the plan - type: optional - name: - docs: The name of the plan - type: optional - type: - docs: Value is always "plan" - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanySegments: - docs: The list of segments associated with the company - inline: true - properties: - segments: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CompanyTags: - docs: The list of tags associated with the company - inline: true - properties: - tags: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Companies -service: - auth: false - base-path: '' - display-name: Companies - endpoints: - attachContact: - auth: true - examples: - - path-parameters: - contact_id: contact_id - request: {} - method: POST - path: /contacts/{contact_id}/companies - request: - body: - properties: - id: - name: company_id - type: optional - content-type: application/json - name: AttachContactToCompanyRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - attachContactToACompany: - auth: true - display-name: Attach a Contact to a Company - docs: You can attach a company to a single contact. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: id - request: - id: 6762f09a1bb69f9f2193bb34 - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - - name: Bad Request - path-parameters: - id: id - request: - id: 58a430d35458202d41b1e65b - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - - name: Company Not Found - path-parameters: - id: id - request: - id: '123' - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - method: POST - path: /contacts/{id}/companies - request: - body: - properties: - id: - docs: The unique identifier for the company which is given by Intercom - name: attachContactToACompanyRequestId - type: string - content-type: application/json - name: AttachContactToACompanyRequest - path-parameters: - id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - createOrUpdate: - auth: true - display-name: Create or Update a company - docs: > - You can create or update a company. - - - Companies will be only visible in Intercom when there is at least one - associated user. - - - Companies are looked up via `company_id` in a `POST` request, if not - found via `company_id`, the new company will be created, if found, that - company will be updated. - - - {% admonition type="warning" name="Using `company_id`" %} - You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. - {% /admonition %} - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: Successful - request: - company_id: company_remote_id - name: my company - remote_created_at: 1374138000 - response: - body: - app_id: this_is_an_id147_that_should_be_at_least_ - company_id: company_remote_id - created_at: 1734537334 - custom_attributes: - creation_source: api - id: 6762f0761bb69f9f2193bae2 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: my company - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1374138000 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537334 - user_count: 0 - website: https://www.intercom.com - method: POST - path: /companies - request: - body: - type: optional - content-type: application/json - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - company_id: company_id - method: DELETE - path: /companies/{company_id} - request: - name: DeleteCompanyRequest - path-parameters: - company_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteCompany: - auth: true - display-name: Delete a company - docs: You can delete a single company. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - deleted: true - id: 6762f0881bb69f9f2193bb09 - object: company - method: DELETE - path: /companies/{id} - request: - name: DeleteCompanyRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: root.DeletedCompanyObject - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachContact: - auth: true - examples: - - path-parameters: - company_id: company_id - contact_id: contact_id - method: DELETE - path: /contacts/{contact_id}/companies/{company_id} - request: - name: DetachContactFromCompanyRequest - path-parameters: - company_id: string - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachContactFromACompany: - auth: true - display-name: Detach a contact from a company - docs: You can detach a company from a single contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 58a430d35458202d41b1e65b - id: 58a430d35458202d41b1e65b - response: - body: - app_id: this_is_an_id205_that_should_be_at_least_ - company_id: '1' - created_at: 1734537376 - custom_attributes: - key: value - id: 6762f0a01bb69f9f2193bb44 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company8 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537376 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537377 - user_count: 0 - website: https://www.intercom.com - method: DELETE - path: /contacts/{contact_id}/companies/{id} - request: - name: DetachContactFromACompanyRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - company_id: company_id - method: GET - path: /companies/{company_id} - request: - name: FindCompanyRequest - path-parameters: - company_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all companies - docs: > - You can list companies. The company list is sorted by the - `last_request_at` field and by default is ordered descending, most - recently requested first. - - - Note that the API does not include companies who have no associated - users in list responses. - - - When using the Companies endpoint and the pages object to iterate - through the returned companies, there is a limit of 10,000 Companies - that can be returned. If you need to list or iterate on more than 10,000 - Companies, please use the [Scroll - API](https://developers.intercom.com/reference#iterating-over-all-companies). - - {% admonition type="warning" name="Pagination" %} - You can use pagination to limit the number of results returned. The default is `20` results per page. - See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - root.UnauthorizedError - examples: - - name: Successful - query-parameters: - order: desc - response: - body: - data: - - app_id: this_is_an_id189_that_should_be_at_least_ - company_id: remote_companies_scroll_2 - created_at: 1734537364 - custom_attributes: - key: value - id: 6762f0941bb69f9f2193bb25 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: IntercomQATest1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537364 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - type: tag.list - updated_at: 1734537364 - user_count: 4 - website: https://www.intercom.com - pages: - page: 1 - per_page: 15 - total_pages: 1 - type: offset_pages - total_count: 1 - method: POST - pagination: - offset: $request.page - results: $response.data - path: /companies/list - request: - name: ListCompaniesRequest - query-parameters: - order: - docs: >- - `asc` or `desc`. Return the companies in ascending or descending - order. Defaults to desc - type: optional - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to return per page. Defaults to 15 - type: optional - response: - docs: Successful - status-code: 200 - type: root.CompanyList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedContacts: - auth: true - examples: - - path-parameters: - company_id: company_id - method: GET - path: /companies/{company_id}/contacts - request: - name: ListAttachedContactsRequest - path-parameters: - company_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ListAttachedContacts: - auth: true - display-name: List attached contacts - docs: You can fetch a list of all contacts that belong to a company. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: https://example.org/128Wash.jpg - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 50 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /companies/{id}/contacts - request: - name: ListAttachedContactsRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: root.CompanyAttachedContacts - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedSegments: - auth: true - examples: - - path-parameters: - company_id: company_id - method: GET - path: /companies/{company_id}/segments - request: - name: ListSegmentsAttachedToCompanyRequest - path-parameters: - company_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ListAttachedSegmentsForCompanies: - auth: true - display-name: List attached segments for companies - docs: You can fetch a list of all segments that belong to a company. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - data: - - count: 3 - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - person_type: contact - type: segment - updated_at: 1394622004 - type: list - method: GET - path: /companies/{id}/segments - request: - name: ListAttachedSegmentsForCompaniesRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: root.CompanyAttachedSegments - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieve: - auth: true - display-name: Retrieve companies - docs: > - You can fetch a single company by passing in `company_id` or `name`. - - `https://api.intercom.io/companies?name={name}` - - `https://api.intercom.io/companies?company_id={company_id}` - - You can fetch all companies and filter by `segment_id` or `tag_id` as a - query parameter. - - `https://api.intercom.io/companies?tag_id={tag_id}` - - `https://api.intercom.io/companies?segment_id={segment_id}` - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - query-parameters: - company_id: '12345' - name: my company - segment_id: '98765' - tag_id: '678910' - response: - body: - data: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: 155.5 - paid_subscriber: true - team_mates: 9 - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - pages: - next: next - page: 1 - per_page: 2 - total_pages: 13 - type: offset_pages - total_count: 100 - type: list - method: GET - path: /companies - request: - name: RetrieveCompanyRequest - query-parameters: - company_id: - docs: The `company_id` of the company to filter by. - type: optional - name: - docs: The `name` of the company to filter by. - type: optional - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to display per page. Defaults to 15 - type: optional - segment_id: - docs: The `segment_id` of the company to filter by. - type: optional - tag_id: - docs: The `tag_id` of the company to filter by. - type: optional - response: - docs: Successful - status-code: 200 - type: CompaniesRetrieveResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - RetrieveACompanyById: - auth: true - display-name: Retrieve a company by ID - docs: You can fetch a single company. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - app_id: this_is_an_id159_that_should_be_at_least_ - company_id: '1' - created_at: 1734537343 - custom_attributes: - key: value - id: 6762f07f1bb69f9f2193baf5 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537343 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537343 - user_count: 1 - website: https://www.intercom.com - method: GET - path: /companies/{id} - request: - name: RetrieveACompanyByIdRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - scroll: - auth: true - display-name: Scroll over all companies - docs: >2 - The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. - - - Each app can only have 1 scroll open at a time. You'll get an error - message if you try to have more than one open per app. - - - If the scroll isn't used for 1 minute, it expires and calls with that - scroll param will fail - - - If the end of the scroll is reached, "companies" will be empty and the - scroll parameter will expire - - - {% admonition type="info" name="Scroll Parameter" %} - You can get the first page of companies by simply sending a GET request to the scroll endpoint. - For subsequent requests you will need to use the scroll parameter from the response. - {% /admonition %} - - {% admonition type="danger" name="Scroll network timeouts" %} - Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: - "Request failed due to an internal network error. Please restart the scroll operation." - If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll. - {% /admonition %} - errors: - - root.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - app_id: this_is_an_id193_that_should_be_at_least_ - company_id: remote_companies_scroll_2 - created_at: 1734537367 - custom_attributes: - key: value - id: 6762f0971bb69f9f2193bb2b - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: IntercomQATest1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537367 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - type: tag.list - updated_at: 1734537367 - user_count: 4 - website: https://www.intercom.com - scroll_param: 69352cd2-ab5b-42ac-b004-a13d4e55e9b0 - type: list - method: GET - pagination: - cursor: $request.scroll_param - next_cursor: $response.scroll_param - results: $response.data - path: /companies/scroll - request: - name: ScrollCompaniesRequest - query-parameters: - scroll_param: - docs: '' - type: optional - response: - docs: Successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - company_id: company_id - method: PUT - path: /companies/{company_id} - request: - name: UpdateCompanyRequest - path-parameters: - company_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateCompany: - auth: true - display-name: Update a company - docs: | - You can update a single company using the Intercom provisioned `id`. - - {% admonition type="warning" name="Using `company_id`" %} - When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. - {% /admonition %} - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - app_id: this_is_an_id165_that_should_be_at_least_ - company_id: '1' - created_at: 1734537348 - custom_attributes: - key: value - id: 6762f0841bb69f9f2193baff - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company2 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537348 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - updated_at: 1734537348 - user_count: 1 - website: https://www.intercom.com - method: PUT - path: /companies/{id} - request: - name: UpdateCompanyRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/contacts.yml b/fern/.definition/contacts.yml deleted file mode 100644 index 1c28509..0000000 --- a/fern/.definition/contacts.yml +++ /dev/null @@ -1,1608 +0,0 @@ -imports: - root: __package__.yml - subscriptionTypes: subscriptionTypes.yml -types: - Contact: - docs: Contacts represent your leads and users in Intercom. - properties: - android_app_name: - docs: The name of the Android app which the contact is using. - type: optional - android_app_version: - docs: The version of the Android app which the contact is using. - type: optional - android_device: - docs: The Android device which the contact is using. - type: optional - android_last_seen_at: - docs: >- - (UNIX timestamp) The time when the contact was last seen on an Android - device. - type: optional - android_os_version: - docs: The version of the Android OS which the contact is using. - type: optional - android_sdk_version: - docs: The version of the Android SDK which the contact is using. - type: optional - avatar: - docs: An image URL containing the avatar of a contact. - type: optional - validation: - format: uri - browser: - docs: The name of the browser which the contact is using. - type: optional - browser_language: - docs: The language set by the browser which the contact is using. - type: optional - browser_version: - docs: The version of the browser which the contact is using. - type: optional - companies: - type: optional - created_at: - docs: (UNIX timestamp) The time when the contact was created. - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact. - type: optional> - email: - docs: The contact's email. - type: optional - email_domain: - docs: The contact's email domain. - type: optional - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - has_hard_bounced: - docs: Whether the contact has had an email sent to them hard bounce. - type: optional - id: - docs: The unique identifier for the contact which is given by Intercom. - type: optional - ios_app_name: - docs: The name of the iOS app which the contact is using. - type: optional - ios_app_version: - docs: The version of the iOS app which the contact is using. - type: optional - ios_device: - docs: The iOS device which the contact is using. - type: optional - ios_last_seen_at: - docs: (UNIX timestamp) The last time the contact used the iOS app. - type: optional - ios_os_version: - docs: The version of iOS which the contact is using. - type: optional - ios_sdk_version: - docs: The version of the iOS SDK which the contact is using. - type: optional - language_override: - docs: >- - A preferred language setting for the contact, used by the Intercom - Messenger even if their browser settings change. - type: optional - last_contacted_at: - docs: (UNIX timestamp) The time when the contact was last messaged. - type: optional - last_email_clicked_at: - docs: >- - (UNIX timestamp) The time when the contact last clicked a link in an - email. - type: optional - last_email_opened_at: - docs: (UNIX timestamp) The time when the contact last opened an email. - type: optional - last_replied_at: - docs: (UNIX timestamp) The time when the contact last messaged in. - type: optional - last_seen_at: - docs: >- - (UNIX timestamp) The time when the contact was last seen (either where - the Intercom Messenger was installed or when specified manually). - type: optional - location: - type: optional - marked_email_as_spam: - docs: Whether the contact has marked an email sent to them as spam. - type: optional - name: - docs: The contacts name. - type: optional - notes: - type: optional - os: - docs: The operating system which the contact is using. - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of the - contact. - type: optional - phone: - docs: The contacts phone. - type: optional - role: - docs: The role of the contact. - type: optional - signed_up_at: - docs: (UNIX timestamp) The time specified for when a contact signed up. - type: optional - social_profiles: - type: optional - tags: - type: optional - type: - docs: The type of object. - type: optional> - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails. - type: optional - updated_at: - docs: (UNIX timestamp) The time when the contact was last updated. - type: optional - workspace_id: - docs: The id of the workspace which the contact belongs to. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactsCreateResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ContactsMergeLeadInUserResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ShowContactByExternalIdResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ShowContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your contacts -service: - auth: false - base-path: '' - display-name: Contacts - endpoints: - archive: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: POST - path: /contacts/{contact_id}/archive - request: - name: ArchiveContactRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ArchiveContact: - auth: true - display-name: Archive contact - docs: You can archive a single contact. - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - archived: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/archive - request: - name: ArchiveContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: root.ContactArchived - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - attachSubscription: - auth: true - display-name: Add subscription to a contact - docs: > - 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. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - name: Contact not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - name: Resource not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: invalid_id - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - method: POST - path: /contacts/{contact_id}/subscriptions - request: - body: - properties: - consent_type: - docs: The consent_type of a subscription, opt_out or opt_in. - type: string - id: - docs: >- - The unique identifier for the subscription which is given by - Intercom - name: subscription_id - type: string - content-type: application/json - name: AttachSubscriptionToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: subscriptionTypes.SubscriptionType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - BlockContact: - auth: true - display-name: Block contact - docs: >- - Block a single contact.
**Note:** conversations of the contact will - also be archived during the process.
More details in [FAQ How do I - block Inbox - spam?](https://www.intercom.com/help/en/articles/8838656-inbox-faqs) - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - blocked: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/block - request: - name: BlockContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: root.ContactBlocked - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - create: - auth: true - display-name: Create contact - docs: You can create a new contact (ie. user or lead). - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - email: joebloggs@intercom.io - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/companies - created_at: 1734537437 - custom_attributes: - key: value - email: joebloggs@intercom.io - email_domain: example.com - has_hard_bounced: false - id: 6762f0dd1bb69f9f2193bb83 - location: - type: location - marked_email_as_spam: false - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/notes - role: user - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537437 - workspace_id: this_is_an_id303_that_should_be_at_least_ - method: POST - path: /contacts - request: - body: - type: root.CreateContactRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: ContactsCreateResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: DELETE - path: /contacts/{contact_id} - request: - name: DeleteContactRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DeleteContact: - auth: true - display-name: Delete a contact - docs: You can delete a single contact. - errors: - - root.UnauthorizedError - examples: - - path-parameters: - id: id - response: - body: - deleted: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: DELETE - path: /contacts/{id} - request: - name: DeleteContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: root.ContactDeleted - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachSubscription: - auth: true - examples: - - path-parameters: - contact_id: contact_id - subscription_id: subscription_id - method: DELETE - path: /contacts/{contact_id}/subscriptions/{subscription_id} - request: - name: DetachSubscriptionFromContactRequest - path-parameters: - contact_id: string - subscription_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: GET - path: /contacts/{contact_id} - request: - name: FindContactRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all contacts - docs: > - You can fetch a list of all contacts (ie. users or leads) in your - workspace. - - {% admonition type="warning" name="Pagination" %} - You can use 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/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: https://example.org/128Wash.jpg - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - pagination: - cursor: $request.starting_after - next_cursor: $response.pages.next.starting_after - results: $response.data - path: /contacts - response: - docs: successful - status-code: 200 - type: root.ContactList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedCompanies: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: GET - pagination: - offset: $request.page - results: $response.companies - path: /contacts/{contact_id}/companies - request: - name: ListAttachedCompaniesRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedSegments: - auth: true - display-name: List attached segments for contact - docs: You can fetch a list of segments that are associated to a contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - count: 3 - created_at: 1734537394 - id: 6762f0b21bb69f9f2193bb65 - name: segment - person_type: user - type: segment - updated_at: 1734537394 - type: list - method: GET - path: /contacts/{contact_id}/segments - request: - name: ListSegmentsAttachedToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: root.ContactSegments - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedSubscriptions: - auth: true - display-name: List subscriptions for a contact - docs: > - 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. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - consent_type: opt_out - content_types: - - email - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '91' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '93' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - type: list - method: GET - path: /contacts/{contact_id}/subscriptions - request: - name: ListAttachedSubscriptionsRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: root.SubscriptionTypeList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAttachedTags: - auth: true - display-name: List tags attached to a contact - docs: >- - You can fetch a list of all tags that are attached to a specific - contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - applied_at: 1663597223 - applied_by: - type: contact - id: '80' - name: Manual tag - type: tag - type: list - method: GET - path: /contacts/{contact_id}/tags - request: - name: ListTagsAttachedToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: root.TagList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listCompaniesForAContact: - auth: true - display-name: List attached companies for contact - docs: You can fetch a list of companies that are associated to a contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: 155.5 - paid_subscriber: true - team_mates: 9 - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - pages: - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /contacts/{id}/companies - request: - name: ListCompaniesForAContactRequest - path-parameters: - id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: root.ContactAttachedCompanies - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - mergeLeadInUser: - auth: true - display-name: Merge a lead and a user - docs: >- - You can merge a contact with a `role` of `lead` into a contact with a - `role` of `user`. - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - from: 6762f0d51bb69f9f2193bb7f - into: 6762f0d51bb69f9f2193bb80 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/companies - created_at: 1734537429 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0d51bb69f9f2193bb80 - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/notes - role: user - signed_up_at: 1734537429 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537430 - workspace_id: this_is_an_id291_that_should_be_at_least_ - method: POST - path: /contacts/merge - request: - body: - properties: - from: - docs: >- - The unique identifier for the contact to merge away from. Must - be a lead. - name: lead_id - type: optional - into: - docs: >- - The unique identifier for the contact to merge into. Must be a - user. - name: contact_id - type: optional - content-type: application/json - name: MergeContactsRequest - response: - docs: successful - status-code: 200 - type: ContactsMergeLeadInUserResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - search: - auth: true - display-name: Search contacts - docs: > - 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 | String
Accepts user or lead | - - | name | String | - - | avatar | String | - - | owner_id | Integer | - - | email | String | - - | email_domain | String | - - | phone | String | - - | external_id | String | - - | created_at | Date (UNIX Timestamp) | - - | signed_up_at | Date (UNIX Timestamp) | - - | updated_at | Date (UNIX Timestamp) | - - | last_seen_at | Date (UNIX Timestamp) | - - | last_contacted_at | Date (UNIX Timestamp) | - - | last_replied_at | Date (UNIX Timestamp) | - - | last_email_opened_at | Date (UNIX Timestamp) | - - | last_email_clicked_at | Date (UNIX Timestamp) | - - | language_override | String | - - | browser | String | - - | browser_language | String | - - | os | String | - - | location.country | String | - - | location.region | String | - - | location.city | String | - - | unsubscribed_from_emails | Boolean | - - | marked_email_as_spam | Boolean | - - | has_hard_bounced | Boolean | - - | ios_last_seen_at | Date (UNIX Timestamp) | - - | ios_app_version | String | - - | ios_device | String | - - | ios_app_device | String | - - | ios_os_version | String | - - | ios_app_name | String | - - | ios_sdk_version | String | - - | android_last_seen_at | Date (UNIX Timestamp) | - - | android_app_version | String | - - | android_device | String | - - | android_app_name | String | - - | andoid_sdk_version | String | - - | segment_id | String | - - | tag_id | String | - - | custom_attributes.{attribute_name} | String | - - - ### Accepted Operators - - - {% admonition type="warning" name="Searching based on `created_at`" %} - You cannot use the `<=` or `>=` operators to search by `created_at`. - {% /admonition %} - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :------------------------------- | - :--------------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In
Shortcut for `OR` - queries
Values must be in Array | - - | NIN | All | Not In
Shortcut for - `OR !` queries
Values must be in Array | - - | > | Integer
Date (UNIX Timestamp) | Greater - than | - - | < | Integer
Date (UNIX Timestamp) | Lower - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: https://example.org/128Wash.jpg - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: POST - pagination: - cursor: $request.pagination.starting_after - next_cursor: $response.pages.next.starting_after - results: $response.data - path: /contacts/search - request: - body: - type: root.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: root.ContactList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ShowContact: - auth: true - display-name: Get a contact - docs: You can fetch the details of a single contact. - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/companies - created_at: 1734537424 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0d01bb69f9f2193bb7d - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/notes - role: user - signed_up_at: 1734537424 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537424 - workspace_id: this_is_an_id283_that_should_be_at_least_ - method: GET - path: /contacts/{id} - request: - name: ShowContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: ShowContactResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ShowContactByExternalId: - auth: true - display-name: Get a contact by External ID - docs: >- - You can fetch the details of a single contact by external ID. Note that - this endpoint only supports users and not leads. - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - external_id: cdd29344-5e0c-4ef0-ac56-f9ba2979bc27 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/companies - created_at: 1734537439 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0df1bb69f9f2193bb84 - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/notes - role: user - signed_up_at: 1734537439 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537439 - workspace_id: this_is_an_id307_that_should_be_at_least_ - method: GET - path: /contacts/find_by_external_id/{external_id} - request: - name: ShowContactByExternalIdRequest - path-parameters: - external_id: - docs: The external ID of the user that you want to retrieve - type: string - response: - docs: successful - status-code: 200 - type: ShowContactByExternalIdResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - unarchive: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: POST - path: /contacts/{contact_id}/unarchive - request: - name: UnarchiveContactRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UnarchiveContact: - auth: true - display-name: Unarchive contact - docs: You can unarchive a single contact. - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - archived: false - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/unarchive - request: - name: UnarchiveContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: root.ContactUnarchived - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: PUT - path: /contacts/{contact_id} - request: - name: UpdateContactRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UpdateContact: - auth: true - display-name: Update a contact - docs: | - You can update an existing contact (ie. user or lead). - - {% admonition type="info" %} - This endpoint handles both **contact updates** and **custom object associations**. - - See _`update a contact with an association to a custom object instance`_ in the request/response examples to see the custom object association format. - {% /admonition %} - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - request: - email: joebloggs@intercom.io - name: joe bloggs - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/companies - created_at: 1734537421 - custom_attributes: - key: value - email: joebloggs@intercom.io - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0cd1bb69f9f2193bb7c - location: - type: location - marked_email_as_spam: false - name: joe bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/notes - role: user - signed_up_at: 1734537421 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537422 - workspace_id: this_is_an_id279_that_should_be_at_least_ - - name: update a contact with an association to a custom object instance - path-parameters: - id: 63a07ddf05a32042dffac965 - request: - custom_attributes: - order: - - '21' - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/companies - created_at: 1734537421 - custom_attributes: - order: - instances: - - custom_attributes: - order_number: ORDER-12345 - total_amount: 99.99 - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '21' - type: Order - type: Order.list - email: joebloggs@intercom.io - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0cd1bb69f9f2193bb7c - location: - type: location - marked_email_as_spam: false - name: joe bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/notes - role: user - signed_up_at: 1734537421 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537422 - workspace_id: this_is_an_id279_that_should_be_at_least_ - method: PUT - path: /contacts/{id} - request: - body: - properties: - avatar: - docs: An image URL containing the avatar of a contact - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact - type: optional> - email: - docs: The contacts email - type: optional - external_id: - docs: A unique identifier for the contact which is given to Intercom - type: optional - last_seen_at: - docs: >- - The time when the contact was last seen (either where the - Intercom Messenger was installed or when specified manually) - type: optional - name: - docs: The contacts name - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of - the contact - type: optional - phone: - docs: The contacts phone - type: optional - role: - docs: The role of the contact. - type: optional - signed_up_at: - docs: The time specified for when a contact signed up - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails - type: optional - content-type: application/json - name: UpdateContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: UpdateContactResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/conversations.yml b/fern/.definition/conversations.yml deleted file mode 100644 index 49052db..0000000 --- a/fern/.definition/conversations.yml +++ /dev/null @@ -1,4030 +0,0 @@ -imports: - aiAgent: aiAgent.yml - messages: messages.yml - root: __package__.yml - tickets: tickets.yml -types: - AttachContactToConversationRequestCustomer: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: AttachContactToConversationRequestCustomerIntercomUserId - - type: AttachContactToConversationRequestCustomerUserId - - type: AttachContactToConversationRequestCustomerCustomer - AttachContactToConversationRequestCustomerCustomer: - inline: true - properties: - customer: - type: optional - email: - docs: >- - The email you have defined for the contact who is being added as a - participant. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AttachContactToConversationRequestCustomerIntercomUserId: - inline: true - properties: - customer: - type: optional - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - AttachContactToConversationRequestCustomerUserId: - inline: true - properties: - customer: - type: optional - user_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - Conversation: - docs: >- - 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. - properties: - admin_assignee_id: - docs: >- - The id of the admin assigned to the conversation. If it's not assigned - to an admin it will return null. - type: optional - ai_agent: - type: optional - ai_agent_participated: - docs: Indicates whether the AI Agent participated in the conversation. - type: optional - company_id: - docs: >- - The ID of the company that the conversation is associated with. The - unique identifier for the company which is given by Intercom. - type: optional - contacts: - type: optional - conversation_parts: - type: optional - conversation_rating: - type: optional - created_at: - docs: The time the conversation was created. - type: optional - custom_attributes: - type: optional - first_contact_reply: - type: optional - id: - docs: The id representing the conversation. - type: optional - linked_objects: - type: optional - open: - docs: Indicates whether a conversation is open (true) or closed (false). - type: optional - priority: - docs: If marked as priority, it will return priority or else not_priority. - type: optional - read: - docs: Indicates whether a conversation has been read. - type: optional - sla_applied: - type: optional - snoozed_until: - docs: >- - If set this is the time in the future when this conversation will be - marked as open. i.e. it will be in a snoozed state until this time. - i.e. it will be in a snoozed state until this time. - type: optional - source: - type: optional - state: - docs: Can be set to "open", "closed" or "snoozed". - type: optional - statistics: - type: optional - tags: - type: optional - team_assignee_id: - docs: >- - The id of the team assigned to the conversation. If it's not assigned - to a team it will return null. - type: optional - teammates: - type: optional - title: - docs: The title given to the conversation. - type: optional - type: - docs: Always conversation. - type: optional - updated_at: - docs: The last time the conversation was updated. - type: optional - waiting_since: - docs: >- - The last time a Contact responded to an Admin. In other words, the - time a customer started waiting for a response. Set to null if last - reply is from an Admin. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationPriority: - docs: If marked as priority, it will return priority or else not_priority. - enum: - - priority - - not_priority - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ConversationState: - docs: Can be set to "open", "closed" or "snoozed". - enum: - - open - - closed - - snoozed - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateConversationRequestFrom: - inline: true - properties: - id: - docs: The identifier for the contact which is given by Intercom. - type: string - validation: - format: uuid - maxLength: 24 - minLength: 24 - type: - docs: The role associated to the contact - user or lead. - type: CreateConversationRequestFromType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - CreateConversationRequestFromType: - docs: The role associated to the contact - user or lead. - enum: - - lead - - user - - contact - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ManageConversationRequestBody: - base-properties: {} - discriminant: message_type - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - assignment: - type: root.AssignConversationRequest - close: - type: root.CloseConversationRequest - open: - type: root.OpenConversationRequest - snoozed: - type: root.SnoozeConversationRequest -docs: Everything about your Conversations -service: - auth: false - base-path: '' - display-name: Conversations - endpoints: - attachContactAsAdmin: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: POST - path: /conversations/{conversation_id}/customers - request: - name: AttachContactToConversationRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - attachContactToConversation: - auth: true - display-name: Attach a contact to a conversation - docs: >+ - You can add participants who are contacts to a conversation, on behalf - of either another contact or an admin. - - - {% admonition type="warning" 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 %} - - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: Attach a contact to a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - customer: - intercom_user_id: 6762f19b1bb69f9f2193bbd4 - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Not found - path-parameters: - id: '123' - request: - admin_id: '12345' - customer: - intercom_user_id: 6762f19e1bb69f9f2193bbd5 - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - method: POST - path: /conversations/{id}/customers - request: - body: - properties: - admin_id: - docs: The `id` of the admin who is adding the new participant. - type: optional - customer: - type: optional - content-type: application/json - name: AttachContactToConversationRequest - path-parameters: - id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Attach a contact to a conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - convertConversationToTicket: - auth: true - display-name: Convert a conversation to a ticket - docs: You can convert a conversation to a ticket. - errors: - - root.BadRequestError - examples: - - name: successful - path-parameters: - id: 1 - request: - ticket_type_id: '53' - response: - body: - admin_assignee_id: '0' - category: Customer - contacts: - contacts: - - external_id: '70' - id: 6762f2041bb69f9f2193bc0c - type: contact - type: contact.list - created_at: 1734537732 - id: '611' - is_shared: true - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - key: value - ticket_id: '22' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - id: 6762f2041bb69f9f2193bc0c - name: Joe Bloggs - type: user - body:

Comment for message

- created_at: 1734537732 - id: '151' - part_type: comment - redacted: false - type: ticket_part - updated_at: 1734537732 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id442_that_should_be_at_least_@intercom.io - id: '991267767' - name: Fin - type: bot - created_at: 1734537737 - id: '152' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537737 - total_count: 2 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '7493' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Customer - created_at: 1734537737 - description: my ticket type description is awesome. - icon: 🦁 - id: '53' - name: my-ticket-type-1 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537737 - workspace_id: this_is_an_id442_that_should_be_at_least_ - type: ticket - updated_at: 1734537737 - - name: Bad request - path-parameters: - id: 1 - request: - ticket_type_id: '54' - response: - body: - admin_assignee_id: '0' - category: Customer - contacts: - contacts: - - external_id: '70' - id: 6762f2041bb69f9f2193bc0c - type: contact - type: contact.list - created_at: 1734537732 - id: '611' - is_shared: true - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - key: value - ticket_id: '22' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - id: 6762f2041bb69f9f2193bc0c - name: Joe Bloggs - type: user - body:

Comment for message

- created_at: 1734537732 - id: '151' - part_type: comment - redacted: false - type: ticket_part - updated_at: 1734537732 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id442_that_should_be_at_least_@intercom.io - id: '991267767' - name: Fin - type: bot - created_at: 1734537737 - id: '152' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537737 - total_count: 2 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '7493' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Customer - created_at: 1734537737 - description: my ticket type description is awesome. - icon: 🦁 - id: '53' - name: my-ticket-type-1 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537737 - workspace_id: this_is_an_id442_that_should_be_at_least_ - type: ticket - updated_at: 1734537737 - method: POST - path: /conversations/{id}/convert - request: - body: - properties: - attributes: - type: optional - ticket_type_id: - docs: >- - The ID of the type of ticket you want to convert the - conversation to - type: string - content-type: application/json - name: ConvertConversationToTicketRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - convertToTicket: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: POST - path: /conversations/{conversation_id}/convert - request: - name: ConvertConversationToTicketRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - create: - auth: true - display-name: Creates a conversation - docs: >+ - 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. - - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: conversation created - request: - body: Hello there - from: - id: 6762f11b1bb69f9f2193bba3 - type: user - response: - body: - body: Hello there - conversation_id: '499' - created_at: 1734537501 - id: '403918330' - message_type: inapp - subject: Greetings - type: user_message - - name: Contact Not Found - request: - body: Hello there - from: - id: 123_doesnt_exist - type: user - response: - body: - body: Hello there - conversation_id: '499' - created_at: 1734537501 - id: '403918330' - message_type: inapp - subject: Greetings - type: user_message - method: POST - path: /conversations - request: - body: - properties: - body: - docs: The content of the message. HTML is not supported. - type: string - created_at: - docs: >- - The time the conversation was created as a UTC Unix timestamp. - If not provided, the current time will be used. This field is - only recommneded for migrating past conversations from another - source into Intercom. - type: optional - from: CreateConversationRequestFrom - content-type: application/json - name: CreateConversationRequest - response: - docs: conversation created - status-code: 200 - type: messages.Message - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteConversation: - auth: true - display-name: Delete a conversation - docs: You can delete a single conversation. - errors: - - root.UnauthorizedError - - root.ForbiddenError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '512' - object: conversation - method: DELETE - path: /conversations/{id} - request: - name: DeleteConversationRequest - path-parameters: - id: - docs: id - type: integer - response: - docs: successful - status-code: 200 - type: root.ConversationDeleted - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachContactAsAdmin: - auth: true - display-name: Detach a contact from a group conversation - docs: >+ - You can add participants who are contacts to a conversation, on behalf - of either another contact or an admin. - - - {% admonition type="warning" 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 %} - - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: Detach a contact from a group conversation - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Conversation not found - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Contact not found - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Last customer - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: 155.5 - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - admins: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - method: DELETE - path: /conversations/{conversation_id}/customers/{contact_id} - request: - body: - properties: - admin_id: - docs: The `id` of the admin who is performing the action. - type: string - content-type: application/json - name: DetachContactFromConversationRequest - path-parameters: - contact_id: - docs: The identifier for the contact as given by Intercom. - type: string - conversation_id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Detach a contact from a group conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: GET - path: /conversations/{conversation_id} - request: - name: FindConversationRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all conversations - docs: > - You can fetch a list of all conversations. - - - You can optionally request the result page size and the cursor to start - after to fetch the result. - - {% admonition type="warning" name="Pagination" %} - You can use pagination to limit the number of results returned. The default is `20` results per page. - See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - root.UnauthorizedError - - root.ForbiddenError - examples: - - name: successful - response: - body: - conversations: - - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f0f31bb69f9f2193bb8b - type: contact - type: contact.list - conversation_parts: - total_count: 1 - created_at: 1734537460 - custom_attributes: - key: value - id: '471' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin166@email.com - from_ai_agent: true - id: '991267628' - is_ai_answer: false - name: Ciaran166 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918320' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537460 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 20 - total_pages: 1 - type: pages - total_count: 1 - type: conversation.list - method: GET - pagination: - cursor: $request.starting_after - next_cursor: $response.pages.next.starting_after - results: $response.conversations - path: /conversations - request: - name: ListConversationsRequest - query-parameters: - per_page: - default: 20 - docs: How many results per page - type: optional - validation: - max: 150 - starting_after: - docs: String used to get the next page of conversations. - type: optional - response: - docs: successful - status-code: 200 - type: root.ConversationList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - manage: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: POST - path: /conversations/{conversation_id}/parts - request: - name: ManageConversationPartsRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - manageConversation: - auth: true - display-name: Manage a conversation - docs: | - For managing conversations you can: - - Close a conversation - - Snooze a conversation to reopen on a future date - - Open a conversation which is `snoozed` or `closed` - - Assign a conversation to an admin and/or team. - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: Close a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - message_type: close - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f16e1bb69f9f2193bbc2 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

Goodbye :)

- created_at: 1734537584 - id: '136' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537584 - part_type: close - redacted: false - type: conversation_part - updated_at: 1734537584 - total_count: 1 - type: conversation_part.list - created_at: 1734537582 - custom_attributes: - key: value - id: '531' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918356' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537584 - - name: Snooze a conversation - path-parameters: - id: '123' - request: - admin_id: '5017691' - message_type: snoozed - snoozed_until: 1673609604 - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1711bb69f9f2193bbc3 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin220@email.com - from_ai_agent: true - id: '991267710' - is_ai_answer: false - name: Ciaran220 Lee - type: admin - created_at: 1734537587 - id: '137' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537587 - part_type: snoozed - redacted: false - type: conversation_part - updated_at: 1734537587 - total_count: 1 - type: conversation_part.list - created_at: 1734537586 - custom_attributes: - key: value - id: '532' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - snoozed_until: 1734541187 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin220@email.com - from_ai_agent: true - id: '991267710' - is_ai_answer: false - name: Ciaran220 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918357' - redacted: false - subject: '' - type: conversation - state: snoozed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537587 - - name: Open a conversation - path-parameters: - id: '123' - request: - admin_id: '5017690' - message_type: open - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '74' - id: 6762f1781bb69f9f2193bbc8 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin221@email.com - from_ai_agent: true - id: '991267712' - is_ai_answer: false - name: Ciaran221 Lee - type: admin - created_at: 1734537601 - id: '139' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537601 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537601 - total_count: 1 - type: conversation_part.list - created_at: 1734537587 - custom_attributes: - key: value - id: '537' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin221@email.com - from_ai_agent: true - id: '991267712' - is_ai_answer: false - name: Ciaran221 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918358' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - title: '' - type: conversation - updated_at: 1734537601 - - name: Assign a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - assignee_id: '4324241' - message_type: assignment - type: admin - response: - body: - admin_assignee_id: 991267715 - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1831bb69f9f2193bbcc - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - assigned_to: - id: '991267715' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin223@email.com - from_ai_agent: true - id: '991267715' - is_ai_answer: false - name: Ciaran223 Lee - type: admin - created_at: 1734537605 - id: '140' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537605 - part_type: assign_and_reopen - redacted: false - type: conversation_part - updated_at: 1734537605 - total_count: 1 - type: conversation_part.list - created_at: 1734537603 - custom_attributes: - key: value - id: '542' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin223@email.com - from_ai_agent: true - id: '991267715' - is_ai_answer: false - name: Ciaran223 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918361' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537605 - - name: Not found - path-parameters: - id: '123' - request: - admin_id: '12345' - message_type: close - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f16e1bb69f9f2193bbc2 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

Goodbye :)

- created_at: 1734537584 - id: '136' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537584 - part_type: close - redacted: false - type: conversation_part - updated_at: 1734537584 - total_count: 1 - type: conversation_part.list - created_at: 1734537582 - custom_attributes: - key: value - id: '531' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918356' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537584 - method: POST - path: /conversations/{id}/parts - request: - body: ManageConversationRequestBody - content-type: application/json - name: ManageConversationRequest - path-parameters: - id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Assign a conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - redactConversationPart: - auth: true - display-name: Redact a conversation part - docs: >+ - 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 %} - - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Redact a conversation part - request: - conversation_id: '19894788788' - conversation_part_id: '19381789428' - type: conversation_part - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1f81bb69f9f2193bc09 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1f81bb69f9f2193bc09 - is_ai_answer: false - name: Joe Bloggs - type: user - body:

This message was deleted

- created_at: 1734537722 - id: '149' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537722 - part_type: open - redacted: true - type: conversation_part - updated_at: 1734537724 - total_count: 1 - type: conversation_part.list - created_at: 1734537721 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537722 - type: conversation - id: '608' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin247@email.com - from_ai_agent: true - id: '991267757' - is_ai_answer: false - name: Ciaran247 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918391' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537724 - waiting_since: 1734537722 - - name: Not found - request: - conversation_id: really_123_doesnt_exist - conversation_part_id: really_123_doesnt_exist - type: conversation_part - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1f81bb69f9f2193bc09 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1f81bb69f9f2193bc09 - is_ai_answer: false - name: Joe Bloggs - type: user - body:

This message was deleted

- created_at: 1734537722 - id: '149' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537722 - part_type: open - redacted: true - type: conversation_part - updated_at: 1734537724 - total_count: 1 - type: conversation_part.list - created_at: 1734537721 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537722 - type: conversation - id: '608' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin247@email.com - from_ai_agent: true - id: '991267757' - is_ai_answer: false - name: Ciaran247 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918391' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537724 - waiting_since: 1734537722 - method: POST - path: /conversations/redact - request: - body: root.RedactConversationRequest - content-type: application/json - response: - docs: Redact a conversation part - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - reply: - auth: true - method: POST - path: /conversations/{conversation_id}/reply - request: - body: unknown - content-type: application/json - name: ReplyToConversationRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - replyConversation: - auth: true - display-name: Reply to a conversation - docs: >- - You can reply to a conversation with a message from an admin or on - behalf of a contact, or with a note for admins. - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: User reply - path-parameters: - id: 123 or "last" - request: - body: Thanks again :) - intercom_user_id: 6762f1571bb69f9f2193bbbb - message_type: comment - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1571bb69f9f2193bbbb - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1571bb69f9f2193bbbb - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537561 - id: '132' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537561 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537561 - total_count: 1 - type: conversation_part.list - created_at: 1734537559 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537561 - type: conversation - id: '524' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin212@email.com - from_ai_agent: true - id: '991267694' - is_ai_answer: false - name: Ciaran212 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918349' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537561 - waiting_since: 1734537561 - - name: Admin Reply with a Note - path-parameters: - id: 123 or "last" - request: - admin_id: '3156780' - body: >- -

An Unordered HTML List

    -
  • Coffee
  • Tea
  • Milk

An - Ordered HTML List

  1. Coffee
  2. Tea
  3. -
  4. Milk
- message_type: note - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f15b1bb69f9f2193bbbc - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin213@email.com - from_ai_agent: true - id: '991267696' - is_ai_answer: false - name: Ciaran213 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537565 - id: '133' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537565 - part_type: note - redacted: false - type: conversation_part - updated_at: 1734537565 - total_count: 1 - type: conversation_part.list - created_at: 1734537563 - custom_attributes: - key: value - id: '525' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin213@email.com - from_ai_agent: true - id: '991267696' - is_ai_answer: false - name: Ciaran213 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918350' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537565 - - name: Admin Reply to send Quick Reply Options - path-parameters: - id: 123 or "last" - request: - admin_id: '3156780' - message_type: quick_reply - reply_options: - - text: 'Yes' - uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb - - text: 'No' - uuid: f4a98af1-be56-4948-a57e-e1a83f8484c6 - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f15e1bb69f9f2193bbbd - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin214@email.com - from_ai_agent: true - id: '991267698' - is_ai_answer: false - name: Ciaran214 Lee - type: admin - created_at: 1734537568 - id: '134' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537568 - part_type: quick_reply - redacted: false - type: conversation_part - updated_at: 1734537568 - total_count: 1 - type: conversation_part.list - created_at: 1734537567 - custom_attributes: - key: value - id: '526' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin214@email.com - from_ai_agent: true - id: '991267698' - is_ai_answer: false - name: Ciaran214 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918351' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537568 - - name: User reply with quick reply selection - path-parameters: - id: 123 or "last" - request: - body: body - intercom_user_id: 6762f1621bb69f9f2193bbbe - message_type: comment - reply_options: - - text: 'Yes' - uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1571bb69f9f2193bbbb - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1571bb69f9f2193bbbb - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537561 - id: '132' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537561 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537561 - total_count: 1 - type: conversation_part.list - created_at: 1734537559 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537561 - type: conversation - id: '524' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin212@email.com - from_ai_agent: true - id: '991267694' - is_ai_answer: false - name: Ciaran212 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918349' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537561 - waiting_since: 1734537561 - - name: User last conversation reply - path-parameters: - id: 123 or "last" - request: - body: Thanks again :) - intercom_user_id: 6762f1661bb69f9f2193bbbf - message_type: comment - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1621bb69f9f2193bbbe - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1621bb69f9f2193bbbe - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537572 - id: '135' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537572 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537572 - total_count: 1 - type: conversation_part.list - created_at: 1734537571 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537572 - type: conversation - id: '527' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin215@email.com - from_ai_agent: true - id: '991267700' - is_ai_answer: false - name: Ciaran215 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918352' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537572 - waiting_since: 1734537572 - method: POST - path: /conversations/{id}/reply - request: - body: root.ReplyConversationRequest - content-type: application/json - name: ReplyConversationRequest - path-parameters: - id: - docs: >- - The Intercom provisioned identifier for the conversation or the - string "last" to reply to the last part of the conversation - type: string - response: - docs: User last conversation reply - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveConversation: - auth: true - display-name: Retrieve a conversation - docs: > - - 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). - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: conversation found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1261bb69f9f2193bba7 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - assigned_to: - id: 1a2b3c - type: contact - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Okay!

- created_at: 1663597223 - external_id: abcd1234 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1663597260 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: jamie+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Jamie Oliver - type: admin - created_at: 1740141842 - event_details: - action: - name: Jira Create Issue - id: '3' - notified_at: 1740141842 - part_type: custom_action_started - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141842 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '278' - is_ai_answer: false - name: Fin - type: bot - created_at: 1740141851 - event_details: - attribute: - name: jira_issue_key - value: - name: PROJ-007 - id: '3' - notified_at: 1740141851 - part_type: conversation_attribute_updated_by_admin - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141851 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: jamie+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Jamie Oliver - type: admin - created_at: 1740141857 - event_details: - action: - name: Jira Create Issue - result: success - id: '3' - notified_at: 1740141857 - part_type: custom_action_finished - redacted: false - state: closed - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141857 - total_count: 4 - type: conversation_part.list - created_at: 1734537511 - custom_attributes: - key: value - id: '503' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin176@email.com - from_ai_agent: true - id: '991267645' - is_ai_answer: false - name: Ciaran176 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918334' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537511 - method: GET - path: /conversations/{id} - request: - name: RetrieveConversationRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - query-parameters: - display_as: - docs: Set to plaintext to retrieve conversation messages in plain text. - type: optional - include_translations: - docs: >- - If set to true, conversation parts will be translated to the - detected language of the conversation. - type: optional - response: - docs: conversation found - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - runAssignmentRules: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: POST - path: /conversations/{conversation_id}/run_assignment_rules - request: - name: AutoAssignConversationRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - search: - auth: true - display-name: Search conversations - docs: > - 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 in the conversation 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"`). - - 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 | String
Accepted fields - are `conversation`, `email`, `facebook`, `instagram`, `phone_call`, - `phone_switch`, `push`, `sms`, `twitter` and `whatsapp`. | - - | source.id | - String - | - - | source.delivered_as | - String - | - - | source.subject | - String - | - - | source.body | - String - | - - | source.author.id | - String - | - - | source.author.type | - String - | - - | source.author.name | - String - | - - | source.author.email | - String - | - - | source.url | - String - | - - | contact_ids | - String - | - - | teammate_ids | - String - | - - | admin_assignee_id | - String - | - - | team_assignee_id | - String - | - - | channel_initiated | - String - | - - | open | - Boolean - | - - | read | - Boolean - | - - | state | - String - | - - | waiting_since | Date (UNIX - timestamp) - | - - | snoozed_until | Date (UNIX - timestamp) - | - - | tag_ids | - String - | - - | priority | - String - | - - | statistics.time_to_assignment | - Integer - | - - | statistics.time_to_admin_reply | - Integer - | - - | statistics.time_to_first_close | - Integer - | - - | statistics.time_to_last_close | - Integer - | - - | statistics.median_time_to_reply | - Integer - | - - | statistics.first_contact_reply_at | Date (UNIX - timestamp) - | - - | statistics.first_assignment_at | Date (UNIX - timestamp) - | - - | statistics.first_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.first_close_at | Date (UNIX - timestamp) - | - - | statistics.last_assignment_at | Date (UNIX - timestamp) - | - - | statistics.last_assignment_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_contact_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_close_at | Date (UNIX - timestamp) - | - - | statistics.last_closed_by_id | - String - | - - | statistics.count_reopens | - Integer - | - - | statistics.count_assignments | - Integer - | - - | statistics.count_conversation_parts | - Integer - | - - | conversation_rating.requested_at | Date (UNIX - timestamp) - | - - | conversation_rating.replied_at | Date (UNIX - timestamp) - | - - | conversation_rating.score | - Integer - | - - | conversation_rating.remark | - String - | - - | conversation_rating.contact_id | - String - | - - | conversation_rating.admin_d | - String - | - - | ai_agent_participated | - Boolean - | - - | ai_agent.resolution_state | - String - | - - | ai_agent.last_answer_type | - String - | - - | ai_agent.rating | - Integer - | - - | ai_agent.rating_remark | - String - | - - | ai_agent.source_type | - String - | - - | ai_agent.source_title | - String - | - - - ### Accepted Operators - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :----------------------------- | - :----------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In Shortcut for `OR` - queries Values most be in Array | - - | NIN | All | Not In Shortcut for `OR - !` queries Values must be in Array | - - | > | Integer Date (UNIX Timestamp) | Greater (or equal) - than | - - | < | Integer Date (UNIX Timestamp) | Lower (or equal) - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - conversations: - - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f14a1bb69f9f2193bbb3 - type: contact - type: contact.list - conversation_parts: - total_count: 1 - created_at: 1734537546 - custom_attributes: - key: value - id: '515' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin210@email.com - from_ai_agent: true - id: '991267691' - is_ai_answer: false - name: Ciaran210 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918346' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537546 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 1 - type: pages - total_count: 1 - type: conversation.list - method: POST - pagination: - cursor: $request.pagination.starting_after - next_cursor: $response.pages.next.starting_after - results: $response.conversations - path: /conversations/search - request: - body: - type: root.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: root.ConversationList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - method: PUT - path: /conversations/{conversation_id} - request: - name: UpdateConversationRequest - path-parameters: - conversation_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateConversation: - auth: true - display-name: Update a conversation - docs: >+ - - 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 %} - - - {% admonition type="info" %} - This endpoint handles both **conversation updates** and **custom object associations**. - - See _`update a conversation with an association to a custom object instance`_ in the request/response examples to see the custom object association format. - {% /admonition %} - - errors: - - root.UnauthorizedError - - root.ForbiddenError - - root.NotFoundError - examples: - - name: conversation found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - issue_type: Billing - priority: High - read: true - title: new conversation title - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1301bb69f9f2193bbab - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '129' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '130' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - total_count: 2 - type: conversation_part.list - created_at: 1734537521 - custom_attributes: - issue_type: Billing - priority: High - id: '507' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin180@email.com - from_ai_agent: true - id: '991267653' - is_ai_answer: false - name: Ciaran180 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918338' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537523 - - name: >- - update a conversation with an association to a custom object - instance - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - order: {} - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1341bb69f9f2193bbac - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 0 - type: conversation_part.list - created_at: 1734537525 - custom_attributes: - order: - instances: - - created_at: 1671028894 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '21' - type: Order - updated_at: 1671028894 - type: Order.list - id: '508' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin185@email.com - from_ai_agent: true - id: '991267659' - is_ai_answer: false - name: Ciaran185 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918339' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537525 - - name: Not found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - issue_type: Billing - priority: High - read: true - title: new conversation title - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1301bb69f9f2193bbab - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '129' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '130' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - total_count: 2 - type: conversation_part.list - created_at: 1734537521 - custom_attributes: - issue_type: Billing - priority: High - id: '507' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin180@email.com - from_ai_agent: true - id: '991267653' - is_ai_answer: false - name: Ciaran180 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918338' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537523 - method: PUT - path: /conversations/{id} - request: - body: - properties: - company_id: - docs: >- - The ID of the company that the conversation is associated with. - The unique identifier for the company which is given by - Intercom. Set to nil to remove company. - type: optional - custom_attributes: - type: optional - read: - docs: Mark a conversation as read within Intercom. - type: optional - title: - docs: The title given to the conversation - type: optional - content-type: application/json - name: UpdateConversationRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - query-parameters: - display_as: - docs: Set to plaintext to retrieve conversation messages in plain text. - type: optional - response: - docs: update a conversation with an association to a custom object instance - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/customChannelEvents.yml b/fern/.definition/customChannelEvents.yml deleted file mode 100644 index dcdb952..0000000 --- a/fern/.definition/customChannelEvents.yml +++ /dev/null @@ -1,226 +0,0 @@ -imports: - root: __package__.yml -docs: > - With the "Custom Channel" integration, you can bring Fin and Intercom - capabilities to your own platform via API, enabling powerful custom - integrations. - - - Intercom treats your integration like any other Intercom channel, allowing - your application and Intercom to exchange events seamlessly. This makes it - possible, for example, for your users to interact with Fin directly within - your own application’s UI. - - - > **Note:** "Fin over API" is currently under managed availability. Please - reach out to your accounts team to discuss access and tailored, hands-on - support. -service: - auth: false - base-path: '' - display-name: Custom Channel Events - endpoints: - notifyAttributeCollected: - auth: true - display-name: >- - Notify Intercom of an attribute collector response in a custom channel - conversation - docs: > - Notifies Intercom that a user provided a response to an attribute - collector in your custom channel/platform. This allows Intercom to - process the attribute and trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: NotificationSuccess - request: - attribute: - id: shipping_address - value: 123 Main St, Springfield - contact: - email: bob@example.com - external_id: user_004 - name: Bob Example - type: user - event_id: evt_24680 - external_conversation_id: conv_11223 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_attribute_collected - request: - body: - extends: - - root.CustomChannelBaseEvent - properties: - attribute: - type: root.CustomChannelAttribute - content-type: application/json - name: NotifyAttributeCollectedRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: root.CustomChannelNotificationResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - notifyNewConversation: - auth: true - display-name: Notify Intercom of a new conversation created in a custom channel - docs: > - Notifies Intercom that a new conversation was created in your custom - channel/platform. This triggers conversation creation and workflow - automations within Intercom for your custom channel integration. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: NotificationSuccess - request: - contact: - email: jane.doe@example.com - external_id: user_001 - name: Jane Doe - type: user - event_id: evt_12345 - external_conversation_id: conv_67890 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_new_conversation - request: - body: - type: root.CustomChannelBaseEvent - content-type: application/json - response: - docs: Successfully notified Intercom - status-code: 200 - type: root.CustomChannelNotificationResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - notifyNewMessage: - auth: true - display-name: Notify Intercom of a new message in a custom channel conversation - docs: > - Notifies Intercom that a new message was sent in a conversation on your - custom channel/platform. This allows Intercom to process the message and - trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: NotificationSuccess - request: - body: Hello, I need help with my order. - contact: - email: john.smith@example.com - external_id: user_002 - name: John Smith - type: user - event_id: evt_54321 - external_conversation_id: conv_98765 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_new_message - request: - body: - extends: - - root.CustomChannelBaseEvent - properties: - body: - docs: The message content sent by the user. - type: string - content-type: application/json - name: NotifyNewMessageRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: root.CustomChannelNotificationResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - notifyQuickReplySelected: - auth: true - display-name: >- - Notify Intercom of a quick reply response in a custom channel - conversation - docs: > - Notifies Intercom that a user selected a quick reply option in your - custom channel/platform. This allows Intercom to process the response - and trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: NotificationSuccess - request: - contact: - email: alice@example.com - external_id: user_003 - name: Alice Example - type: user - event_id: evt_67890 - external_conversation_id: conv_13579 - quick_reply_option_id: '1234' - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_quick_reply_selected - request: - body: - extends: - - root.CustomChannelBaseEvent - properties: - quick_reply_option_id: - docs: Id of the selected quick reply option. - type: string - content-type: application/json - name: NotifyQuickReplySelectedRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: root.CustomChannelNotificationResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/customObjectInstances.yml b/fern/.definition/customObjectInstances.yml deleted file mode 100644 index da72b3e..0000000 --- a/fern/.definition/customObjectInstances.yml +++ /dev/null @@ -1,278 +0,0 @@ -imports: - root: __package__.yml -types: - CustomObjectInstance: - docs: >- - 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: - created_at: - docs: The time the attribute was created as a UTC Unix timestamp - type: optional - custom_attributes: - docs: The custom attributes you have set on the custom object instance. - type: optional> - external_created_at: - docs: >- - The time when the Custom Object instance was created in the external - system it originated from. - type: optional - external_id: - docs: The id you have defined for the custom object instance. - type: optional - external_updated_at: - docs: >- - The time when the Custom Object instance was last updated in the - external system it originated from. - type: optional - id: - docs: The Intercom defined id representing the custom object instance. - type: optional - type: - docs: >- - The identifier of the custom object type that defines the structure of - the custom object instance. - type: optional - updated_at: - docs: The time the attribute was last updated as a UTC Unix timestamp - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: | - Everything about your Custom Object instances. - {% admonition type="warning" name="Permission Requirements" %} - From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions. - {% /admonition %} -service: - auth: false - base-path: '' - display-name: Custom Object Instances - endpoints: - createCustomObjectInstances: - auth: true - display-name: Create or Update a Custom Object Instance - docs: Create or update a custom object instance - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - request: - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - response: - body: - created_at: 1734537745 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '22' - type: Order - updated_at: 1734537745 - method: POST - path: /custom_object_instances/{custom_object_type_identifier} - request: - body: - properties: - custom_attributes: - docs: >- - The custom attributes which are set for the Custom Object - instance. - type: optional>> - external_created_at: - docs: >- - The time when the Custom Object instance was created in the - external system it originated from. - type: optional - external_id: - docs: >- - A unique identifier for the Custom Object instance in the - external system it originated from. - type: optional - external_updated_at: - docs: >- - The time when the Custom Object instance was last updated in the - external system it originated from. - type: optional - content-type: application/json - name: CreateOrUpdateCustomObjectInstanceRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteCustomObjectInstancesByExternalId: - auth: true - display-name: Delete a Custom Object Instance by ID - docs: Delete a single Custom Object instance using the Intercom defined id. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - id: id - response: - body: - deleted: true - id: '26' - object: Order - method: DELETE - path: /custom_object_instances/{custom_object_type_identifier}/{id} - request: - name: DeleteCustomObjectInstancesByExternalIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - id: - docs: The Intercom defined id of the custom object instance - type: string - response: - docs: successful - status-code: 200 - type: root.CustomObjectInstanceDeleted - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteCustomObjectInstancesById: - auth: true - display-name: Delete a Custom Object Instance by External ID - docs: Delete a single Custom Object instance by external_id. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - query-parameters: - external_id: external_id - response: - body: - deleted: true - id: '26' - object: Order - method: DELETE - path: /custom_object_instances/{custom_object_type_identifier} - request: - name: DeleteCustomObjectInstancesByIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - query-parameters: - external_id: string - response: - docs: successful - status-code: 200 - type: root.CustomObjectInstanceDeleted - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getCustomObjectInstancesByExternalId: - auth: true - display-name: Get Custom Object Instance by External ID - docs: Fetch a Custom Object Instance by external_id. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - query-parameters: - external_id: external_id - response: - body: - created_at: 1734537748 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_id: '123' - id: '24' - type: Order - updated_at: 1734537748 - method: GET - path: /custom_object_instances/{custom_object_type_identifier} - request: - name: GetCustomObjectInstancesByExternalIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - query-parameters: - external_id: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getCustomObjectInstancesById: - auth: true - display-name: Get Custom Object Instance by ID - docs: Fetch a Custom Object Instance by id. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - id: id - response: - body: - created_at: 1734537750 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_id: '123' - id: '25' - type: Order - updated_at: 1734537750 - method: GET - path: /custom_object_instances/{custom_object_type_identifier}/{id} - request: - name: GetCustomObjectInstancesByIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - id: - docs: The id or external_id of the custom object instance - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataAttributes.yml b/fern/.definition/dataAttributes.yml deleted file mode 100644 index 1793e1c..0000000 --- a/fern/.definition/dataAttributes.yml +++ /dev/null @@ -1,800 +0,0 @@ -imports: - root: __package__.yml -types: - DataAttribute: - docs: >- - 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: - admin_id: - docs: Teammate who created the attribute. Only applicable to CDAs - type: optional - api_writable: - docs: Can this attribute be updated through API - type: optional - archived: - docs: Is this attribute archived. (Only applicable to CDAs) - type: optional - created_at: - docs: The time the attribute was created as a UTC Unix timestamp - type: optional - custom: - docs: Set to true if this is a CDA - type: optional - data_type: - docs: The data type of the attribute. - type: DataAttributeDataType - description: - docs: Readable description of the attribute. - type: optional - full_name: - docs: >- - 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. - type: string - id: - docs: >- - The unique identifier for the data attribute which is given by - Intercom. Only available for custom attributes. - type: optional - label: - docs: Readable name of the attribute (i.e. name you see in the UI) - type: string - messenger_writable: - docs: Can this attribute be updated by the Messenger - type: optional - model: - docs: >- - Value is `contact` for user/lead attributes and `company` for company - attributes. - type: optional - name: - docs: Name of the attribute. - type: string - options: - docs: List of predefined options for attribute value. - type: optional> - type: - docs: Value is `data_attribute`. - type: literal<"data_attribute"> - ui_writable: - docs: Can this attribute be updated in the UI - type: optional - updated_at: - docs: The time the attribute was last updated as a UTC Unix timestamp - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataAttributeDataType: - docs: The data type of the attribute. - enum: - - string - - integer - - float - - boolean - - date - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataAttributeModel: - docs: >- - Value is `contact` for user/lead attributes and `company` for company - attributes. - enum: - - contact - - company - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataAttributesListRequestModel: - enum: - - contact - - company - - conversation - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Data Attributes -service: - auth: false - base-path: '' - display-name: Data Attributes - endpoints: - create: - auth: true - display-name: Create a data attribute - docs: You can create a data attributes for a `contact` or a `company`. - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: Successful - request: - data_type: string - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - - name: Same name already exists - request: - data_type: integer - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - - name: Invalid name - request: - data_type: string - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - - name: Attribute already exists - request: - data_type: string - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - - name: Invalid Data Type - request: - data_type: string - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - - name: Too few options for list - request: - options: - - value: 1-10 - response: - body: - admin_id: '991267786' - api_writable: true - archived: false - created_at: 1734537756 - custom: true - data_type: string - description: Whether the user is a paid subscriber. - full_name: custom_attributes.Mithril Shirt - id: 37 - label: Mithril Shirt - messenger_writable: false - model: company - name: Mithril Shirt - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537756 - method: POST - path: /data_attributes - request: - body: - type: root.CreateDataAttributeRequest - content-type: application/json - response: - docs: Successful - status-code: 200 - type: DataAttribute - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all data attributes - docs: >- - You can fetch a list of all data attributes belonging to a workspace for - contacts, companies or conversations. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - response: - body: - data: - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The name of a company - full_name: name - id: 12878 - label: Company name - messenger_writable: true - model: company - name: name - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: A number identifying a company - full_name: company_id - id: 12878 - label: Company ID - messenger_writable: true - model: company - name: company_id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The last day anyone from a company visited your site or app - full_name: last_request_at - id: 12878 - label: Company last seen - messenger_writable: true - model: company - name: last_request_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The day a company was added to Intercom - full_name: remote_created_at - id: 12878 - label: Company created at - messenger_writable: true - model: company - name: remote_created_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: The number of people in a company - full_name: user_count - id: 12878 - label: People - messenger_writable: true - model: company - name: user_count - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: >- - All visits from anyone in a company to your product's site - or app - full_name: session_count - id: 12878 - label: Company web sessions - messenger_writable: true - model: company - name: session_count - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: >- - A specific plan or level within your product that companies - have signed up to - full_name: plan.name - id: 12878 - label: Plan - messenger_writable: true - model: company - name: name - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: float - description: The monthly revenue you receive from a company - full_name: monthly_spend - id: 12878 - label: Monthly Spend - messenger_writable: true - model: company - name: monthly_spend - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: >- - The number of people employed in this company, expressed as - a single number - full_name: size - id: 12878 - label: Company size - messenger_writable: true - model: company - name: size - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: >- - The category or domain this company belongs to e.g. - 'ecommerce' or 'SaaS' - full_name: industry - id: 12878 - label: Company industry - messenger_writable: true - model: company - name: industry - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The web address for the company's primary marketing site - full_name: website - id: 12878 - label: Company website - messenger_writable: true - model: company - name: website - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '991267784' - api_writable: true - archived: false - created_at: 1734537753 - custom: true - data_type: string - description: >- - One ring to rule them all, one ring to find them, One ring - to bring them all and in the darkness bind them. - full_name: custom_attributes.The One Ring - id: 34 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537753 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the company - full_name: id - id: 12878 - label: ID - messenger_writable: true - model: company - name: id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The time the company was added to Intercom - full_name: created_at - id: 12878 - label: Created at - messenger_writable: true - model: company - name: created_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The last time the company was updated - full_name: updated_at - id: 12878 - label: Updated at - messenger_writable: true - model: company - name: updated_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the plan - full_name: plan.id - id: 12878 - label: Plan ID - messenger_writable: true - model: company - name: id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the app - full_name: app_id - id: 12878 - label: App ID - messenger_writable: true - model: company - name: app_id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - type: list - method: GET - path: /data_attributes - request: - name: ListDataAttributesRequest - query-parameters: - include_archived: - docs: >- - Include archived attributes in the list. By default we return only - non archived data attributes. - type: optional - model: - docs: Specify the data attribute model to return. - type: optional - response: - docs: Successful response - status-code: 200 - type: root.DataAttributeList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - data_attribute_id: data_attribute_id - method: PUT - path: /data_attributes/{data_attribute_id} - request: - name: UpdateDataAttributeRequest - path-parameters: - data_attribute_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateDataAttribute: - auth: true - display-name: Update a data attribute - docs: > - - 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. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - - root.UnprocessableEntityError - examples: - - name: Successful - path-parameters: - id: 1 - request: - options: - - value: 1-10 - - value: 11-20 - response: - body: - admin_id: '991267793' - api_writable: true - archived: false - created_at: 1734537762 - custom: true - data_type: string - description: Just a plain old ring - full_name: custom_attributes.The One Ring - id: 44 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 1-10 - - 11-20 - type: data_attribute - ui_writable: false - updated_at: 1734537763 - - name: Too few options in list - path-parameters: - id: 1 - request: - options: - - value: 1-10 - - value: 11-50 - response: - body: - admin_id: '991267793' - api_writable: true - archived: false - created_at: 1734537762 - custom: true - data_type: string - description: Just a plain old ring - full_name: custom_attributes.The One Ring - id: 44 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 1-10 - - 11-20 - type: data_attribute - ui_writable: false - updated_at: 1734537763 - - name: Attribute Not Found - path-parameters: - id: 1 - request: - options: - - value: 1-10 - - value: 11-20 - response: - body: - admin_id: '991267793' - api_writable: true - archived: false - created_at: 1734537762 - custom: true - data_type: string - description: Just a plain old ring - full_name: custom_attributes.The One Ring - id: 44 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 1-10 - - 11-20 - type: data_attribute - ui_writable: false - updated_at: 1734537763 - - name: Has Dependant Object - path-parameters: - id: 1 - request: - archived: true - description: Trying to archieve - response: - body: - admin_id: '991267793' - api_writable: true - archived: false - created_at: 1734537762 - custom: true - data_type: string - description: Just a plain old ring - full_name: custom_attributes.The One Ring - id: 44 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 1-10 - - 11-20 - type: data_attribute - ui_writable: false - updated_at: 1734537763 - method: PUT - path: /data_attributes/{id} - request: - body: - type: root.UpdateDataAttributeRequest - content-type: application/json - name: UpdateDataAttributeRequest - path-parameters: - id: - docs: The data attribute id - type: integer - response: - docs: Successful - status-code: 200 - type: DataAttribute - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataEvents.yml b/fern/.definition/dataEvents.yml deleted file mode 100644 index d185ce4..0000000 --- a/fern/.definition/dataEvents.yml +++ /dev/null @@ -1,36 +0,0 @@ -types: - DataEvent: - docs: Data events are used to notify Intercom of changes to your data. - properties: - created_at: - docs: The time the event occurred as a UTC Unix timestamp - type: integer - email: - docs: >- - An email address for your user. An email should only be used where - your application uses email to uniquely identify users. - type: optional - event_name: - docs: >- - 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`. - type: string - id: - docs: Your identifier for a lead or a user. - type: optional - intercom_user_id: - docs: The Intercom identifier for the user. - type: optional - metadata: - docs: Optional metadata about the event. - type: optional> - type: - docs: The type of the object - type: optional> - user_id: - docs: Your identifier for the user. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/dataExport.yml b/fern/.definition/dataExport.yml deleted file mode 100644 index 1a26a82..0000000 --- a/fern/.definition/dataExport.yml +++ /dev/null @@ -1,216 +0,0 @@ -types: - DataExport: - docs: >- - The data export api is used to view all message sent & viewed in a given - timeframe. - properties: - download_expires_at: - docs: The time after which you will not be able to access the data. - type: optional - download_url: - docs: The location where you can download your data. - type: optional - job_identfier: - docs: The identifier for your job. - type: optional - status: - docs: The current state of your job. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - DataExportStatus: - docs: The current state of your job. - enum: - - pending - - in_progress - - failed - - completed - - no_data - - canceled - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Data Exports -service: - auth: false - base-path: '' - display-name: Data Export - endpoints: - cancel: - auth: true - display-name: Cancel content data export - docs: You can cancel your job - examples: - - name: successful - path-parameters: - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: canceled - method: POST - path: /export/cancel/{job_identifier} - request: - name: CancelDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - create: - auth: true - display-name: Create content data export - docs: > - 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. - examples: - - name: successful - request: - created_at_after: 1734519776 - created_at_before: 1734537776 - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: pending - method: POST - path: /export/content/data - request: - body: - properties: - created_at_after: - docs: >- - The start date that you request data for. It must be formatted - as a unix timestamp. - type: integer - created_at_before: - docs: >- - The end date that you request data for. It must be formatted as - a unix timestamp. - type: integer - content-type: application/json - name: CreateDataExportRequest - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - download: - auth: true - display-name: Download content data export - docs: > - 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. - examples: - - path-parameters: - job_identifier: job_identifier - method: GET - path: /download/content/data/{job_identifier} - request: - name: DownloadDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - display-name: Show content data export - docs: > - 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. - examples: - - name: successful - path-parameters: - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: pending - method: GET - path: /export/content/data/{job_identifier} - request: - name: FindDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/events.yml b/fern/.definition/events.yml deleted file mode 100644 index c8eea08..0000000 --- a/fern/.definition/events.yml +++ /dev/null @@ -1,300 +0,0 @@ -imports: - root: __package__.yml -types: - CreateDataEventSummariesRequestEventSummaries: - docs: >- - 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`. - inline: true - properties: - count: - docs: The number of times the event occurred. - type: optional - event_name: - docs: >- - 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`. - type: optional - first: - docs: The first time the event was sent - type: optional - last: - docs: The last time the event was sent - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - create: - auth: true - display-name: Submit a data event - docs: >+ - - 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. - - errors: - - root.UnauthorizedError - examples: - - request: - created_at: 1671028894 - event_name: invited-friend - id: 8a88a590-e1c3-41e2-a502-e0649dbf721c - method: POST - path: /events - request: - body: - type: root.CreateDataEventRequest - content-type: application/json - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all data events - docs: > - - > 🚧 - - > - - > 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. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - query-parameters: - type: type - response: - body: - email: user26@email.com - events: - - count: 1 - description: A user placed an order - first: '2014-01-16T23:12:21.000+00:00' - last: '2014-01-16T23:12:21.000+00:00 ' - name: placed-order - intercom_user_id: 6762f22b1bb69f9f2193bc12 - type: event.summary - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - method: GET - path: /events - request: - name: ListEventsRequest - query-parameters: - email: - docs: email query parameter - type: optional - intercom_user_id: - docs: intercom_user_id query parameter - type: optional - per_page: - docs: How many results to display per page. Defaults to 15 - type: optional - summary: - docs: summary flag - type: optional - type: - docs: The value must be user - type: string - user_id: - docs: user_id query parameter - type: optional - response: - docs: Successful response - status-code: 200 - type: root.DataEventSummary - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - summaries: - auth: true - display-name: Create event summaries - docs: >+ - 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. - - errors: - - root.UnauthorizedError - examples: - - request: {} - method: POST - path: /events/summaries - request: - body: - properties: - event_summaries: - docs: >- - 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`. - type: optional - user_id: - docs: Your identifier for the user. - type: optional - content-type: application/json - name: ListEventSummariesRequest - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/export.yml b/fern/.definition/export.yml deleted file mode 100644 index 5c5d069..0000000 --- a/fern/.definition/export.yml +++ /dev/null @@ -1,186 +0,0 @@ -imports: - root: __package__.yml -types: - GetExportReportingDataGetDatasetsResponse: - properties: - data: optional> - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - GetExportReportingDataGetDatasetsResponseDataItem: - inline: true - properties: - attributes: >- - optional> - default_time_attribute_id: optional - description: optional - id: optional - name: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - GetExportReportingDataGetDatasetsResponseDataItemAttributesItem: - inline: true - properties: - id: optional - name: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - GetExportReportingDataJobIdentifierResponse: - properties: - download_expires_at: optional - download_url: optional - job_identifier: optional - status: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - PostExportReportingDataEnqueueResponse: - properties: - download_expires_at: optional - download_url: optional - job_identifier: optional - status: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - downloadCompletedExportJobData: - auth: true - display-name: Download completed export job data - errors: - - root.NotFoundError - examples: - - path-parameters: - job_identifier: job_identifier - query-parameters: - app_id: app_id - job_identifier: job_identifier - method: GET - path: /download/reporting_data/{job_identifier} - request: - name: GetDownloadReportingDataJobIdentifierRequest - path-parameters: - job_identifier: string - query-parameters: - app_id: string - job_identifier: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - enqueueANewReportingDataExportJob: - auth: true - display-name: Enqueue a new reporting data export job - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.TooManyRequestsError - examples: - - request: - attribute_ids: - - conversation_id - - conversation_started_at - dataset_id: conversation - end_time: 1717510000 - start_time: 1717490000 - response: - body: - download_expires_at: download_expires_at - download_url: download_url - job_identifier: job1 - status: pending - method: POST - path: /export/reporting_data/enqueue - request: - body: - properties: - attribute_ids: list - dataset_id: string - end_time: long - start_time: long - content-type: application/json - name: PostExportReportingDataEnqueueRequest - response: - docs: Job enqueued successfully - status-code: 200 - type: PostExportReportingDataEnqueueResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getExportJobStatus: - auth: true - display-name: Get export job status - errors: - - root.NotFoundError - examples: - - name: With complete status - path-parameters: - job_identifier: job_identifier - query-parameters: - app_id: app_id - client_id: client_id - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identifier: job1 - status: complete - - name: With failed status - path-parameters: - job_identifier: job_identifier - query-parameters: - app_id: app_id - client_id: client_id - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identifier: job1 - status: failed - method: GET - path: /export/reporting_data/{job_identifier} - request: - name: GetExportReportingDataJobIdentifierRequest - path-parameters: - job_identifier: string - query-parameters: - app_id: - docs: >- - The Intercom defined code of the workspace the company is - associated to. - type: string - client_id: string - job_identifier: - docs: Unique identifier of the job. - type: string - response: - docs: Job status returned successfully - status-code: 200 - type: GetExportReportingDataJobIdentifierResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listAvailableDatasetsAndAttributes: - auth: true - display-name: List available datasets and attributes - examples: - - response: - body: - data: - - attributes: - - id: conversation_id - name: Conversation ID - default_time_attribute_id: conversation_started_at - description: 'Conversation-level details: status, channel, assignee.' - id: conversation - name: Conversation - type: list - method: GET - path: /export/reporting_data/get_datasets - response: - docs: List of datasets - status-code: 200 - type: GetExportReportingDataGetDatasetsResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenter.yml b/fern/.definition/helpCenter.yml deleted file mode 100644 index 25c9107..0000000 --- a/fern/.definition/helpCenter.yml +++ /dev/null @@ -1,770 +0,0 @@ -imports: - root: __package__.yml -types: - Collection: - docs: Collections are top level containers for Articles within the Help Center. - properties: - created_at: - docs: >- - The time when the article was created (seconds). For multilingual - articles, this will be the timestamp of creation of the default - language's content. - type: integer - default_locale: - docs: >- - The default locale of the help center. This field is only returned for - multilingual help centers. - type: optional - description: - docs: >- - The description of the collection. For multilingual help centers, this - will be the description of the collection for the default language. - type: optional - help_center_id: - docs: The id of the help center the collection is in. - type: optional - icon: - docs: The icon of the collection. - type: optional - id: - docs: The unique identifier for the collection which is given by Intercom. - type: string - name: - docs: >- - The name of the collection. For multilingual collections, this will be - the name of the default language's content. - type: string - order: - docs: >- - The order of the section in relation to others sections within a - collection. Values go from `0` upwards. `0` is the default if there's - no order. - type: integer - parent_id: - docs: >- - The id of the parent collection. If `null` then it is the first level - collection. - type: optional - translated_content: - type: optional - updated_at: - docs: >- - The time when the article was last updated (seconds). For multilingual - articles, this will be the timestamp of last update of the default - language's content. - type: optional - url: - docs: >- - The URL of the collection. For multilingual help centers, this will be - the URL of the collection for the default language. - type: optional - workspace_id: - docs: The id of the workspace which the collection belongs to. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - HelpCenter: - docs: Help Centers contain collections - properties: - created_at: - docs: The time when the Help Center was created. - type: optional - custom_domain: - docs: Custom domain configured for the help center - type: optional - display_name: - docs: The display name of the Help Center only seen by teammates. - type: optional - id: - docs: The unique identifier for the Help Center which is given by Intercom. - type: optional - identifier: - docs: >- - The identifier of the Help Center. This is used in the URL of the Help - Center. - type: optional - updated_at: - docs: The time when the Help Center was last updated. - type: optional - url: - docs: >- - The URL for the help center, if you have a custom domain then this - will show the URL using the custom domain. - type: optional - website_turned_on: - docs: >- - Whether the Help Center is turned on or not. This is controlled in - your Help Center settings. - type: optional - workspace_id: - docs: The id of the workspace which the Help Center belongs to. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - HelpCenterList: - docs: A list of Help Centers belonging to the App - properties: - data: - docs: An array of Help Center objects - type: optional> - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Help Center -service: - auth: false - base-path: '' - display-name: Help Center - endpoints: - deleteCollection: - auth: true - display-name: Delete a collection - docs: >- - You can delete a single collection by making a DELETE request to - `https://api.intercom.io/collections/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '182' - object: collection - method: DELETE - path: /help_center/collections/{id} - request: - name: DeleteCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: root.DeletedCollectionObject - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveCollection: - auth: true - display-name: Retrieve a collection - docs: >- - You can fetch the details of a single collection by making a GET request - to `https://api.intercom.io/help_center/collections/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Collection found - path-parameters: - id: 1 - response: - body: - created_at: 1734537315 - default_locale: en - description: english collection description - help_center_id: 84 - icon: bookmark - id: '170' - name: English collection title - order: 22 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537315 - url: http://help-center.test/myapp-106/collection-22 - workspace_id: this_is_an_id106_that_should_be_at_least_ - method: GET - path: /help_center/collections/{id} - request: - name: RetrieveCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: Collection found - status-code: 200 - type: Collection - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveHelpCenter: - auth: true - display-name: Retrieve a Help Center - docs: >- - You can fetch the details of a single Help Center by making a GET - request to `https://api.intercom.io/help_center/help_center/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Collection found - path-parameters: - id: 1 - response: - body: - created_at: 1734537325 - custom_domain: help.mycompany.com - display_name: Intercom Help Center - id: '93' - identifier: help-center-1 - updated_at: 1734537325 - url: https://help.mycompany.com - website_turned_on: false - workspace_id: this_is_an_id124_that_should_be_at_least_ - method: GET - path: /help_center/help_centers/{id} - request: - name: RetrieveHelpCenterRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: Collection found - status-code: 200 - type: HelpCenter - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateCollection: - auth: true - display-name: Update a collection - docs: >- - You can update the details of a single collection by making a PUT - request to `https://api.intercom.io/collections/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - name: Update collection name - response: - body: - created_at: 1734537318 - default_locale: en - description: english collection description - help_center_id: 87 - icon: folder - id: '176' - name: Update collection name - order: 25 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537319 - url: http://help-center.test/myapp-112/collection-25 - workspace_id: this_is_an_id112_that_should_be_at_least_ - - name: Collection Not Found - path-parameters: - id: 1 - request: - name: Update collection name - response: - body: - created_at: 1734537318 - default_locale: en - description: english collection description - help_center_id: 87 - icon: folder - id: '176' - name: Update collection name - order: 25 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537319 - url: http://help-center.test/myapp-112/collection-25 - workspace_id: this_is_an_id112_that_should_be_at_least_ - method: PUT - path: /help_center/collections/{id} - request: - body: - properties: - description: - docs: >- - The description of the collection. For multilingual collections, - this will be the description of the default language's content. - type: optional - name: - docs: >- - The name of the collection. For multilingual collections, this - will be the name of the default language's content. - type: optional - parent_id: - docs: >- - The id of the parent collection. If `null` then it will be - updated as the first level collection. - type: optional - translated_content: - type: optional - content-type: application/json - name: UpdateCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: Collection - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenters.yml b/fern/.definition/helpCenters.yml deleted file mode 100644 index a2c9842..0000000 --- a/fern/.definition/helpCenters.yml +++ /dev/null @@ -1,56 +0,0 @@ -imports: - helpCenter: helpCenter.yml - root: __package__.yml -service: - auth: false - base-path: '' - endpoints: - find: - auth: true - examples: - - path-parameters: - help_center_id: help_center_id - method: GET - path: /help_center/help_centers/{help_center_id} - request: - name: FindHelpCenterRequest - path-parameters: - help_center_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all Help Centers - docs: >- - You can list all Help Centers by making a GET request to - `https://api.intercom.io/help_center/help_centers`. - errors: - - root.UnauthorizedError - examples: - - name: Help Centers found - response: - body: - data: - - created_at: 1672928359 - custom_domain: help.mycompany.com - display_name: Intercom Help Center - id: '123' - identifier: intercom - updated_at: 1672928610 - url: https://help.mycompany.com - website_turned_on: true - workspace_id: hfi1bx4l - type: list - method: GET - pagination: - offset: $request.page - results: $response.data - path: /help_center/help_centers - response: - docs: Help Centers found - status-code: 200 - type: helpCenter.HelpCenterList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/helpCenters/collections.yml b/fern/.definition/helpCenters/collections.yml deleted file mode 100644 index d6b968f..0000000 --- a/fern/.definition/helpCenters/collections.yml +++ /dev/null @@ -1,484 +0,0 @@ -imports: - helpCenter: ../helpCenter.yml - root: ../__package__.yml -service: - auth: false - base-path: '' - endpoints: - create: - auth: true - display-name: Create a collection - docs: >- - You can create a new collection by making a POST request to - `https://api.intercom.io/help_center/collections.` - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: collection created - request: - name: Thanks for everything - response: - body: - created_at: 1734537312 - default_locale: en - description: '' - help_center_id: 81 - icon: book-bookmark - id: '165' - name: Thanks for everything - order: 1 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537312 - url: http://help-center.test/myapp-100/ - workspace_id: this_is_an_id100_that_should_be_at_least_ - - name: Bad Request - request: - description: Missing required parameter - name: collection 51 - response: - body: - created_at: 1734537312 - default_locale: en - description: '' - help_center_id: 81 - icon: book-bookmark - id: '165' - name: Thanks for everything - order: 1 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537312 - url: http://help-center.test/myapp-100/ - workspace_id: this_is_an_id100_that_should_be_at_least_ - method: POST - path: /help_center/collections - request: - body: - properties: - description: - docs: >- - The description of the collection. For multilingual collections, - this will be the description of the default language's content. - type: optional - help_center_id: - docs: >- - The id of the help center where the collection will be created. - If `null` then it will be created in the default help center. - type: optional - name: - docs: >- - The name of the collection. For multilingual collections, this - will be the name of the default language's content. - type: string - parent_id: - docs: >- - The id of the parent collection. If `null` then it will be - created as the first level collection. - type: optional - translated_content: - type: optional - content-type: application/json - name: CreateCollectionRequest - response: - docs: collection created - status-code: 200 - type: helpCenter.Collection - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - collection_id: collection_id - method: DELETE - path: /help_center/collections/{collection_id} - request: - name: DeleteCollectionRequest - path-parameters: - collection_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - collection_id: collection_id - method: GET - path: /help_center/collections/{collection_id} - request: - name: FindCollectionRequest - path-parameters: - collection_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all collections - docs: > - You can fetch a list of all collections by making a GET request to - `https://api.intercom.io/help_center/collections`. - - - Collections 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 collections first. - errors: - - root.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - created_at: 1734537309 - default_locale: en - description: english collection description - help_center_id: 79 - icon: bookmark - id: '159' - name: English collection title - order: 17 - updated_at: 1734537309 - url: http://help-center.test/myapp-96/collection-17 - workspace_id: this_is_an_id96_that_should_be_at_least_4 - - created_at: 1734537309 - default_locale: en - icon: bookmark - id: '160' - name: English section title - order: 1 - parent_id: '159' - updated_at: 1734537309 - url: http://help-center.test/myapp-96/section-1 - workspace_id: this_is_an_id96_that_should_be_at_least_4 - pages: - next: next - page: 1 - per_page: 20 - total_pages: 1 - type: offset_pages - total_count: 2 - type: list - method: GET - pagination: - offset: $request.page - results: $response.data - path: /help_center/collections - response: - docs: Successful - status-code: 200 - type: root.CollectionList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - collection_id: collection_id - method: PUT - path: /help_center/collections/{collection_id} - request: - name: UpdateCollectionRequest - path-parameters: - collection_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/internalArticles.yml b/fern/.definition/internalArticles.yml deleted file mode 100644 index 91991c1..0000000 --- a/fern/.definition/internalArticles.yml +++ /dev/null @@ -1,345 +0,0 @@ -imports: - articles: articles.yml - root: __package__.yml -types: - InternalArticleListItem: - docs: The data returned about your internal articles when you list them. - properties: - author_id: - docs: The id of the author of the article. - type: optional - body: - docs: The body of the article in HTML. - type: optional - created_at: - docs: The time when the article was created. - type: optional - id: - docs: The unique identifier for the article which is given by Intercom. - type: optional - locale: - docs: The default locale of the article. - type: optional - owner_id: - docs: The id of the owner of the article. - type: optional - title: - docs: The title of the article. - type: optional - type: - docs: The type of object - `internal_article`. - type: optional> - updated_at: - docs: The time when the article was last updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - InternalArticleSearchResponse: - docs: The results of an Internal Article search - properties: - data: - docs: An object containing the results of the search. - type: optional - pages: - type: optional - total_count: - docs: The total number of Internal Articles matching the search query - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - InternalArticleSearchResponseData: - docs: An object containing the results of the search. - inline: true - properties: - internal_articles: - docs: An array of Internal Article objects - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Internal Articles -service: - auth: false - base-path: '' - display-name: Internal Articles - endpoints: - createInternalArticle: - auth: true - display-name: Create an internal article - docs: >- - You can create a new internal article by making a POST request to - `https://api.intercom.io/internal_articles`. - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: internal article created - request: - author_id: 991266252 - body: Body of the Article - owner_id: 991266252 - title: Thanks for everything - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '42' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - - name: Bad Request - request: - author_id: 1295 - body: Body of the Internal Article - owner_id: 1295 - title: Thanks for everything - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '42' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - method: POST - path: /internal_articles - request: - body: - type: optional - content-type: application/json - response: - docs: internal article created - status-code: 200 - type: articles.InternalArticle - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteInternalArticle: - auth: true - display-name: Delete an internal article - docs: >- - You can delete a single internal article by making a DELETE request to - `https://api.intercom.io/internal_articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '51' - object: internal_article - method: DELETE - path: /internal_articles/{id} - request: - name: DeleteInternalArticleRequest - path-parameters: - id: - docs: >- - The unique identifier for the internal article which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: root.DeletedInternalArticleObject - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listInternalArticles: - auth: true - display-name: List all articles - docs: >- - You can fetch a list of all internal articles by making a GET request to - `https://api.intercom.io/internal_articles`. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '39' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 25 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /internal_articles - response: - docs: successful - status-code: 200 - type: root.InternalArticleList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveInternalArticle: - auth: true - display-name: Retrieve an internal article - docs: >- - You can fetch the details of a single internal article by making a GET - request to `https://api.intercom.io/internal_articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Internal article found - path-parameters: - id: 1 - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '45' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - method: GET - path: /internal_articles/{id} - request: - name: RetrieveInternalArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: Internal article found - status-code: 200 - type: articles.InternalArticle - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - searchInternalArticles: - auth: true - display-name: Search for internal articles - docs: >- - You can search for internal articles by making a GET request to - `https://api.intercom.io/internal_articles/search`. - errors: - - root.UnauthorizedError - examples: - - name: Search successful - response: - body: - data: - internal_articles: - - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '55' - locale: en - owner_id: 991266252 - updated_at: 1672928610 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /internal_articles/search - request: - name: SearchInternalArticlesRequest - query-parameters: - folder_id: - docs: The ID of the folder to search in. - type: optional - response: - docs: Search successful - status-code: 200 - type: InternalArticleSearchResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateInternalArticle: - auth: true - display-name: Update an internal article - docs: >- - You can update the details of a single internal article by making a PUT - request to `https://api.intercom.io/internal_articles/`. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '48' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - - name: Internal article not found - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '48' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - method: PUT - path: /internal_articles/{id} - request: - body: - type: optional - content-type: application/json - name: UpdateInternalArticleRequest - path-parameters: - id: - docs: >- - The unique identifier for the internal article which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: articles.InternalArticle - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/jobs.yml b/fern/.definition/jobs.yml deleted file mode 100644 index f8b5f7b..0000000 --- a/fern/.definition/jobs.yml +++ /dev/null @@ -1,87 +0,0 @@ -imports: - root: __package__.yml -types: - Jobs: - docs: >- - Jobs are tasks that are processed asynchronously by the Intercom system - after being enqueued via the API. This allows for efficient handling of - operations that may take time to complete, such as data imports or - exports. You can check the status of your jobs to monitor their progress - and ensure they are completed successfully. - properties: - id: - docs: The id of the job that's currently being processed or has completed. - type: string - resource_id: - docs: The id of the resource created during job execution (e.g. ticket id) - type: optional - resource_type: - docs: The type of resource created during job execution. - type: optional - resource_url: - docs: >- - The url of the resource created during job exeuction. Use this url to - fetch the resource. - type: optional - status: - docs: The status of the job execution. - type: optional - type: - docs: The type of the object - type: optional> - url: - docs: API endpoint URL to check the job status. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - JobsStatus: - docs: The status of the job execution. - enum: - - pending - - success - - failed - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about jobs -service: - auth: false - base-path: '' - display-name: Jobs - endpoints: - status: - auth: true - display-name: Retrieve job status - docs: Retrieve the status of job execution. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: job status retrieved - path-parameters: - id: id - response: - body: - id: '2' - resource_id: '20' - resource_type: ticket - resource_url: https://api.intercom.io/tickets/20 - status: success - type: job - url: https://api.intercom.io/jobs/status/20 - method: GET - path: /jobs/status/{id} - request: - name: JobsStatusRequest - path-parameters: - id: - docs: The unique identifier for the job which is given by Intercom - type: string - response: - docs: Job execution status - status-code: 200 - type: Jobs - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/messages.yml b/fern/.definition/messages.yml deleted file mode 100644 index 9acedf5..0000000 --- a/fern/.definition/messages.yml +++ /dev/null @@ -1,293 +0,0 @@ -imports: - root: __package__.yml -types: - Message: - docs: >- - Message are how you reach out to contacts in Intercom. They are created - when an admin sends an outbound message to a contact. - properties: - body: - docs: The message body, which may contain HTML. - type: string - conversation_id: - docs: The associated conversation_id - type: optional - created_at: - docs: The time the conversation was created. - type: integer - id: - docs: The id representing the message. - type: string - message_type: - docs: >- - The type of message that was sent. Can be email, inapp, facebook or - twitter. - type: MessageMessageType - subject: - docs: 'The subject of the message. Only present if message_type: email.' - type: optional - type: - docs: The type of the message - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - MessageMessageType: - docs: >- - The type of message that was sent. Can be email, inapp, facebook or - twitter. - enum: - - email - - inapp - - facebook - - twitter - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your messages -service: - auth: false - base-path: '' - display-name: Messages - endpoints: - create: - auth: true - display-name: Create a message - docs: > - 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. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.ForbiddenError - - root.UnprocessableEntityError - examples: - - name: user_message_created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: lead_message_created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: admin_message_created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No body supplied for message - request: - body: Hello there - create_conversation_without_contact_reply: true - created_at: 1590000000 - from: - id: 394051 - type: admin - message_type: inapp - subject: heyy - template: plain - to: - id: 6762f23b1bb69f9f2193bc1a - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No subject supplied for email message - request: - body: hey there - create_conversation_without_contact_reply: true - created_at: 1590000000 - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No body supplied for email message - request: - body: Hello there - create_conversation_without_contact_reply: true - created_at: 1590000000 - from: - id: 394051 - type: admin - message_type: email - subject: heyy - template: plain - to: - id: 6762f23d1bb69f9f2193bc1c - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: user message created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: lead message created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '614' - created_at: 1734537783 - id: '403918397' - message_type: inapp - subject: Greetings - type: user_message - - name: admin message created - request: - body: Hello there - from: - id: 394051 - type: admin - message_type: email - subject: Thanks for everything - template: plain - to: - id: 536e564f316c83104c000020 - type: user - response: - body: - body: heyy - conversation_id: '64619700005570' - created_at: 1734537786 - id: '19' - message_type: inapp - subject: heyy - type: admin_message - method: POST - path: /messages - request: - body: - type: optional - content-type: application/json - response: - docs: admin message created - status-code: 200 - type: Message - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news.yml b/fern/.definition/news.yml deleted file mode 100644 index 14d233e..0000000 --- a/fern/.definition/news.yml +++ /dev/null @@ -1,378 +0,0 @@ -imports: - root: __package__.yml -types: - Newsfeed: - docs: > - 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: - created_at: - docs: Timestamp for when the newsfeed was created. - type: optional - id: - docs: The unique identifier for the newsfeed which is given by Intercom. - type: optional - name: - docs: >- - The name of the newsfeed. This name will never be visible to your - users. - type: optional - updated_at: - docs: Timestamp for when the newsfeed was last updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NewsfeedAssignment: - docs: Assigns a news item to a newsfeed. - properties: - newsfeed_id: - docs: >- - 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). - type: optional - published_at: - docs: >- - 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". - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NewsItem: - docs: >- - 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: - body: - docs: The news item body, which may contain HTML. - type: optional - cover_image_url: - docs: URL of the image used as cover. Must have .jpg or .png extension. - type: optional - validation: - format: uri - created_at: - docs: Timestamp for when the news item was created. - type: optional - deliver_silently: - docs: >- - When set to true, the news item will appear in the messenger newsfeed - without showing a notification badge. - type: optional - id: - docs: The unique identifier for the news item which is given by Intercom. - type: optional - labels: - docs: Label names displayed to users to categorize the news item. - type: optional>> - newsfeed_assignments: - docs: A list of newsfeed_assignments to assign to the specified newsfeed. - type: optional> - reactions: - docs: >- - Ordered list of emoji reactions to the news item. When empty, - reactions are disabled. - type: optional>> - sender_id: - docs: >- - The id of the sender of the news item. Must be a teammate on the - workspace. - type: optional - state: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - type: optional - title: - docs: The title of the news item. - type: optional - updated_at: - docs: Timestamp for when the news item was last updated. - type: optional - workspace_id: - docs: The id of the workspace which the news item belongs to. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NewsItemState: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - enum: - - draft - - live - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your News -service: - auth: false - base-path: '' - display-name: News - endpoints: - deleteNewsItem: - auth: true - display-name: Delete a news item - docs: You can delete a single news item. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '40' - object: news-item - method: DELETE - path: /news/news_items/{id} - request: - name: DeleteNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: root.DeletedObject - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listLiveNewsfeedItems: - auth: true - display-name: List all live newsfeed items - docs: You can fetch a list of all news items that are live on a given newsfeed - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - data: - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 20 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /news/newsfeeds/{id}/items - request: - name: ListLiveNewsfeedItemsRequest - path-parameters: - id: - docs: >- - The unique identifier for the news feed item which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: root.PaginatedResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveNewsfeed: - auth: true - display-name: Retrieve a newsfeed - docs: You can fetch the details of a single newsfeed - errors: - - root.UnauthorizedError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - created_at: 1734537815 - id: '72' - name: Visitor Feed - updated_at: 1734537815 - method: GET - path: /news/newsfeeds/{id} - request: - name: RetrieveNewsfeedRequest - path-parameters: - id: - docs: >- - The unique identifier for the news feed item which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: Newsfeed - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveNewsItem: - auth: true - display-name: Retrieve a news item - docs: You can fetch the details of a single news item. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - body:

Hello there,

- created_at: 1734537800 - deliver_silently: false - id: '34' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 55 - published_at: 1734537800 - reactions: - - 👍 - - 👍 - - 👍 - - 👍 - sender_id: 991267837 - state: live - title: We have news - updated_at: 1734537800 - workspace_id: this_is_an_id538_that_should_be_at_least_ - method: GET - path: /news/news_items/{id} - request: - name: RetrieveNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: NewsItem - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateNewsItem: - auth: true - display-name: Update a news item - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- reactions: - - 😝 - - 😂 - sender_id: 991267845 - title: Christmas is here! - response: - body: - body:

New gifts in store for the jolly season

- created_at: 1734537803 - deliver_silently: false - id: '37' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 😝 - - 😂 - sender_id: 991267845 - state: live - title: Christmas is here! - updated_at: 1734537804 - workspace_id: this_is_an_id544_that_should_be_at_least_ - - name: News Item Not Found - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- reactions: - - 😝 - - 😂 - sender_id: 991267848 - title: Christmas is here! - response: - body: - body:

New gifts in store for the jolly season

- created_at: 1734537803 - deliver_silently: false - id: '37' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 😝 - - 😂 - sender_id: 991267845 - state: live - title: Christmas is here! - updated_at: 1734537804 - workspace_id: this_is_an_id544_that_should_be_at_least_ - method: PUT - path: /news/news_items/{id} - request: - body: - type: root.NewsItemRequest - content-type: application/json - name: UpdateNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: NewsItem - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news/feeds.yml b/fern/.definition/news/feeds.yml deleted file mode 100644 index 3f800aa..0000000 --- a/fern/.definition/news/feeds.yml +++ /dev/null @@ -1,73 +0,0 @@ -imports: - root: ../__package__.yml -service: - auth: false - base-path: '' - endpoints: - find: - auth: true - examples: - - path-parameters: - newsfeed_id: newsfeed_id - method: GET - path: /news/newsfeeds/{newsfeed_id} - request: - name: FindNewsFeedRequest - path-parameters: - newsfeed_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all newsfeeds - docs: You can fetch a list of all newsfeeds - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - created_at: 1674917488 - id: '12312' - name: My Newsfeed - type: newsfeed - updated_at: 1674917488 - - created_at: 1674917488 - id: '12312' - name: My Newsfeed - type: newsfeed - updated_at: 1674917488 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 2 - type: list - method: GET - path: /news/newsfeeds - response: - docs: successful - status-code: 200 - type: root.PaginatedResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listItems: - auth: true - examples: - - path-parameters: - newsfeed_id: newsfeed_id - method: GET - path: /news/newsfeeds/{newsfeed_id}/items - request: - name: ListNewsFeedItemsRequest - path-parameters: - newsfeed_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/news/items.yml b/fern/.definition/news/items.yml deleted file mode 100644 index dff6357..0000000 --- a/fern/.definition/news/items.yml +++ /dev/null @@ -1,178 +0,0 @@ -imports: - news: ../news.yml - root: ../__package__.yml -service: - auth: false - base-path: '' - endpoints: - create: - auth: true - display-name: Create a news item - docs: You can create a news item - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - body:

New costumes in store for this spooky season

- deliver_silently: true - labels: - - Product - - Update - - New - newsfeed_assignments: - - newsfeed_id: 53 - published_at: 1664638214 - reactions: - - 😆 - - 😅 - sender_id: 991267834 - state: live - title: Halloween is here! - response: - body: - body:

New costumes in store for this spooky season

- created_at: 1734537797 - deliver_silently: true - id: '33' - labels: - - New - - Product - - Update - newsfeed_assignments: - - newsfeed_id: 53 - published_at: 1664638214 - reactions: - - 😆 - - 😅 - sender_id: 991267834 - state: live - title: Halloween is here! - updated_at: 1734537797 - workspace_id: this_is_an_id534_that_should_be_at_least_ - method: POST - path: /news/news_items - request: - body: - type: root.NewsItemRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: news.NewsItem - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - news_item_id: news_item_id - method: DELETE - path: /news/news_items/{news_item_id} - request: - name: DeleteNewsItemRequest - path-parameters: - news_item_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - news_item_id: news_item_id - method: GET - path: /news/news_items/{news_item_id} - request: - name: FindNewsItemRequest - path-parameters: - news_item_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all news items - docs: You can fetch a list of all news items - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 2 - type: list - method: GET - path: /news/news_items - response: - docs: successful - status-code: 200 - type: root.PaginatedResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - news_item_id: news_item_id - method: PUT - path: /news/news_items/{news_item_id} - request: - name: UpdateNewsItemRequest - path-parameters: - news_item_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/notes.yml b/fern/.definition/notes.yml deleted file mode 100644 index f65d16d..0000000 --- a/fern/.definition/notes.yml +++ /dev/null @@ -1,359 +0,0 @@ -imports: - admins: admins.yml - root: __package__.yml -types: - Note: - docs: Notes allow you to annotate and comment on your contacts. - properties: - author: - docs: Optional. Represents the Admin that created the note. - type: optional - body: - docs: The body text of the note. - type: optional - contact: - docs: Represents the contact that the note was created about. - type: optional - created_at: - docs: The time the note was created. - type: optional - id: - docs: The id of the note. - type: optional - type: - docs: String representing the object's type. Always has the value `note`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - NoteContact: - docs: Represents the contact that the note was created about. - inline: true - properties: - id: - docs: The id of the contact. - type: optional - type: - docs: String representing the object's type. Always has the value `contact`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Notes -service: - auth: false - base-path: '' - display-name: Notes - endpoints: - create: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: POST - path: /contacts/{contact_id}/notes - request: - name: CreateContactNoteRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - createNote: - auth: true - display-name: Create a note - docs: You can add a note to a single contact. - errors: - - root.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: 6762f0ad1bb69f9f2193bb62 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - - name: Admin not found - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: 6762f0af1bb69f9f2193bb63 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - - name: Contact not found - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: '123' - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - method: POST - path: /contacts/{id}/notes - request: - body: - properties: - admin_id: - docs: The unique identifier of a given admin. - type: optional - body: - docs: The text of the note. - type: string - contact_id: - docs: The unique identifier of a given contact. - type: optional - content-type: application/json - name: CreateNoteRequest - path-parameters: - id: - docs: The unique identifier of a given contact. - type: integer - response: - docs: Successful response - status-code: 200 - type: Note - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - note_id: note_id - method: GET - path: /notes/{note_id} - request: - name: FindNoteRequest - path-parameters: - note_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - examples: - - path-parameters: - contact_id: contact_id - method: GET - pagination: - offset: $request.page - results: $response.data - path: /contacts/{contact_id}/notes - request: - name: ListContactNotesRequest - path-parameters: - contact_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - listNotes: - auth: true - display-name: List all notes - docs: You can fetch a list of notes that are associated to a contact. - errors: - - root.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - response: - body: - data: - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - team_ids: - - 814865 - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733932587 - id: '26' - type: note - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - team_ids: - - 814865 - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733846187 - id: '25' - type: note - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - team_ids: - - 814865 - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733846187 - id: '24' - type: note - total_count: 3 - type: list - method: GET - path: /contacts/{id}/notes - request: - name: ListNotesRequest - path-parameters: - id: - docs: The unique identifier of a contact. - type: integer - response: - docs: Successful response - status-code: 200 - type: root.NoteList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveNote: - auth: true - display-name: Retrieve a note - docs: You can fetch the details of a single note. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Note found - path-parameters: - id: 1 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin346@email.com - has_inbox_seat: true - id: '991267864' - job_title: Associate - name: Ciaran346 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

This is a note.

- contact: - id: 6762f2591bb69f9f2193bc1f - type: contact - created_at: 1733846617 - id: '34' - type: note - method: GET - path: /notes/{id} - request: - name: RetrieveNoteRequest - path-parameters: - id: - docs: The unique identifier of a given note - type: integer - response: - docs: Note found - status-code: 200 - type: Note - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/phoneCallRedirects.yml b/fern/.definition/phoneCallRedirects.yml deleted file mode 100644 index 1525cba..0000000 --- a/fern/.definition/phoneCallRedirects.yml +++ /dev/null @@ -1,77 +0,0 @@ -imports: - root: __package__.yml -service: - auth: false - base-path: '' - endpoints: - create: - auth: true - display-name: Create a phone Switch - docs: > - 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. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.UnprocessableEntityError - examples: - - name: successful - request: - custom_attributes: - issue_type: Billing - priority: High - phone: '+353832345678' - response: - body: - phone: +1 1234567890 - type: phone_call_redirect - - name: bad request - exception sending sms - request: - custom_attributes: - issue_type: Billing - priority: High - phone: '+353832345678' - response: - body: - phone: +1 1234567890 - type: phone_call_redirect - - name: bad request - invalid number - request: - custom_attributes: - issue_type: Billing - priority: High - phone: '+353832345678' - response: - body: - phone: +1 1234567890 - type: phone_call_redirect - - name: unprocessable entity - request: - custom_attributes: - issue_type: Billing - priority: High - phone: '+40241100100' - response: - body: - phone: +1 1234567890 - type: phone_call_redirect - method: POST - path: /phone_call_redirects - request: - body: - type: optional - content-type: application/json - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/segments.yml b/fern/.definition/segments.yml deleted file mode 100644 index 3e52e27..0000000 --- a/fern/.definition/segments.yml +++ /dev/null @@ -1,136 +0,0 @@ -imports: - root: __package__.yml -types: - Segment: - docs: A segment is a group of your contacts defined by the rules that you set. - properties: - count: - docs: >- - The number of items in the user segment. It's returned when - `include_count=true` is included in the request. - type: optional - created_at: - docs: The time the segment was created. - type: optional - id: - docs: The unique identifier representing the segment. - type: optional - name: - docs: The name of the segment. - type: optional - person_type: - docs: 'Type of the contact: contact (lead) or user.' - type: optional - type: - docs: The type of object. - type: optional> - updated_at: - docs: The time the segment was updated. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SegmentPersonType: - docs: 'Type of the contact: contact (lead) or user.' - enum: - - contact - - user - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Segments -service: - auth: false - base-path: '' - display-name: Segments - endpoints: - find: - auth: true - examples: - - path-parameters: - segment_id: segment_id - method: GET - path: /segments/{segment_id} - request: - name: FindSegmentRequest - path-parameters: - segment_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all segments - docs: You can fetch a list of all segments. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - response: - body: - pages: - key: value - segments: - - count: 3 - created_at: 1734537820 - id: 6762f25c1bb69f9f2193bc22 - name: John segment - person_type: user - type: segment - updated_at: 1734537820 - - count: 3 - created_at: 1734537820 - id: 6762f25c1bb69f9f2193bc23 - name: Jane segment - person_type: user - type: segment - updated_at: 1734537820 - type: segment.list - method: GET - path: /segments - request: - name: ListSegmentsRequest - query-parameters: - include_count: - docs: It includes the count of contacts that belong to each segment. - type: optional - response: - docs: Successful response - status-code: 200 - type: root.SegmentList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveSegment: - auth: true - display-name: Retrieve a segment - docs: You can fetch the details of a single segment. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful response - path-parameters: - id: '123' - response: - body: - count: 3 - created_at: 1734537823 - id: 6762f25f1bb69f9f2193bc26 - name: John segment - person_type: user - type: segment - updated_at: 1734537823 - method: GET - path: /segments/{id} - request: - name: RetrieveSegmentRequest - path-parameters: - id: - docs: The unique identified of a given segment. - type: string - response: - docs: Successful response - status-code: 200 - type: Segment - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/subscriptionTypes.yml b/fern/.definition/subscriptionTypes.yml deleted file mode 100644 index cf2169e..0000000 --- a/fern/.definition/subscriptionTypes.yml +++ /dev/null @@ -1,153 +0,0 @@ -imports: - root: __package__.yml -types: - SubscriptionType: - docs: >- - A subscription type lets customers easily opt out of non-essential - communications without missing what's important to them. - properties: - consent_type: - docs: Describes the type of consent. - type: optional - content_types: - docs: >- - The message types that this subscription supports - can contain - `email` or `sms_message`. - type: optional> - default_translation: - type: optional - id: - docs: The unique identifier representing the subscription type. - type: optional - state: - docs: The state of the subscription type. - type: optional - translations: - docs: >- - An array of translations objects with the localised version of the - subscription type in each available locale within your translation - settings. - type: optional> - type: - docs: The type of the object - subscription - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SubscriptionTypeConsentType: - docs: Describes the type of consent. - enum: - - opt_out - - opt_in - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SubscriptionTypeContentTypesItem: - enum: - - email - - sms_message - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - SubscriptionTypeState: - docs: The state of the subscription type. - enum: - - live - - draft - - archived - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about subscription types -service: - auth: false - base-path: '' - display-name: Subscription Types - endpoints: - detachSubscriptionTypeToContact: - auth: true - display-name: Remove subscription from a contact - docs: >- - 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. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '122' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - method: DELETE - path: /contacts/{contact_id}/subscriptions/{id} - request: - name: DetachSubscriptionTypeToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: >- - The unique identifier for the subscription type which is given by - Intercom - type: string - response: - docs: Successful - status-code: 200 - type: SubscriptionType - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List subscription types - docs: >- - You can list all subscription types. A list of subscription type objects - will be returned. - errors: - - root.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - consent_type: opt_out - content_types: - - email - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '135' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - type: list - method: GET - path: /subscription_types - response: - docs: Successful - status-code: 200 - type: root.SubscriptionTypeList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/tags.yml b/fern/.definition/tags.yml deleted file mode 100644 index 23a35a2..0000000 --- a/fern/.definition/tags.yml +++ /dev/null @@ -1,697 +0,0 @@ -imports: - root: __package__.yml -types: - Tag: - docs: >- - A tag allows you to label your contacts, companies, and conversations and - list them using that tag. - properties: - applied_at: - docs: The time when the tag was applied to the object - type: optional - applied_by: - type: optional - id: - docs: The id of the tag - type: string - name: - docs: The name of the tag - type: string - type: - docs: value is "tag" - type: literal<"tag"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagBasic: - docs: >- - A tag allows you to label your contacts, companies, and conversations and - list them using that tag. - properties: - id: - docs: The id of the tag - type: optional - name: - docs: The name of the tag - type: optional - type: - docs: value is "tag" - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TagsCreateRequestBody: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: root.CreateOrUpdateTagRequest - - type: root.TagCompanyRequest - - type: root.UntagCompanyRequest - - type: root.TagMultipleUsersRequest -docs: Everything about tags -service: - auth: false - base-path: '' - display-name: Tags - endpoints: - create: - auth: true - display-name: Create or update a tag, Tag or untag companies, Tag contacts - docs: | - 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. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Action successful - request: - name: test - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: Invalid parameters - request: - name: Independent - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: Company not found - request: - companies: - - company_id: '123' - name: test - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: User not found - request: - name: test - users: - - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - method: POST - path: /tags - request: - body: TagsCreateRequestBody - content-type: application/json - response: - docs: Action successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - delete: - auth: true - examples: - - path-parameters: - tag_id: tag_id - method: DELETE - path: /tags/{tag_id} - request: - name: DeleteTagRequest - path-parameters: - tag_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteTag: - auth: true - display-name: Delete tag - docs: >- - You can delete the details of tags that are on the workspace by passing - in the id. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - path-parameters: - id: '123' - method: DELETE - path: /tags/{id} - request: - name: DeleteTagRequest - path-parameters: - id: - docs: The unique identifier of a given tag - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachTagFromContact: - auth: true - display-name: Remove tag from a contact - docs: >- - You can remove tag from a specific contact. This will return a tag - object for the tag that was removed from the contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '84' - name: Manual tag - type: tag - method: DELETE - path: /contacts/{contact_id}/tags/{id} - request: - name: DetachTagFromContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachTagFromConversation: - auth: true - display-name: Remove tag from a conversation - docs: >- - You can remove tag from a specific conversation. This will return a tag - object for the tag that was removed from the conversation. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - - name: Conversation not found - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - method: DELETE - path: /conversations/{conversation_id}/tags/{id} - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - content-type: application/json - name: DetachTagFromConversationRequest - path-parameters: - conversation_id: - docs: conversation_id - type: string - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - detachTagFromTicket: - auth: true - display-name: Remove tag from a ticket - docs: >- - You can remove tag from a specific ticket. This will return a tag object - for the tag that was removed from the ticket. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - - name: Ticket not found - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - method: DELETE - path: /tickets/{ticket_id}/tags/{id} - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - content-type: application/json - name: DetachTagFromTicketRequest - path-parameters: - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - ticket_id: - docs: ticket_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - find: - auth: true - examples: - - path-parameters: - tag_id: tag_id - method: GET - path: /tags/{tag_id} - request: - name: FindTagRequest - path-parameters: - tag_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - findTag: - auth: true - display-name: Find a specific tag - docs: | - You can fetch the details of tags that are on the workspace by their id. - This will return a tag object. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Tag found - path-parameters: - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '113' - name: Manual tag - type: tag - method: GET - path: /tags/{id} - request: - name: FindTagRequest - path-parameters: - id: - docs: The unique identifier of a given tag - type: string - response: - docs: Tag found - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all tags - docs: |+ - You can fetch a list of all tags for a given workspace. - - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - applied_at: 1663597223 - applied_by: - type: contact - id: '102' - name: Manual tag 1 - type: tag - type: list - method: GET - path: /tags - response: - docs: successful - status-code: 200 - type: root.TagList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - tagContact: - auth: true - display-name: Add tag to a contact - docs: >- - You can tag a specific contact. This will return a tag object for the - tag that was added to the contact. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - - name: Contact not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - method: POST - path: /contacts/{contact_id}/tags - request: - body: - properties: - id: - docs: The unique identifier for the tag which is given by Intercom - name: tag_id - type: string - content-type: application/json - name: TagContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - tagConversation: - auth: true - display-name: Add tag to a conversation - docs: >- - You can tag a specific conversation. This will return a tag object for - the tag that was added to the conversation. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - conversation_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '86' - name: Manual tag - type: tag - - name: Conversation not found - path-parameters: - conversation_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '86' - name: Manual tag - type: tag - method: POST - path: /conversations/{conversation_id}/tags - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - name: tag_id - type: string - content-type: application/json - name: TagConversationRequest - path-parameters: - conversation_id: - docs: conversation_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - tagTicket: - auth: true - display-name: Add tag to a ticket - docs: >- - You can tag a specific ticket. This will return a tag object for the tag - that was added to the ticket. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - ticket_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '121' - name: Manual tag - type: tag - - name: Ticket not found - path-parameters: - ticket_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '121' - name: Manual tag - type: tag - method: POST - path: /tickets/{ticket_id}/tags - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - name: tag_id - type: string - content-type: application/json - name: TagTicketRequest - path-parameters: - ticket_id: - docs: ticket_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - untagContact: - auth: true - examples: - - path-parameters: - contact_id: contact_id - tag_id: tag_id - method: DELETE - path: /contacts/{contact_id}/tags/{tag_id} - request: - name: UntagContactRequest - path-parameters: - contact_id: string - tag_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - untagConversation: - auth: true - examples: - - path-parameters: - conversation_id: conversation_id - tag_id: tag_id - method: DELETE - path: /conversations/{conversation_id}/tags/{tag_id} - request: - name: UntagConversationRequest - path-parameters: - conversation_id: string - tag_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - untagTicket: - auth: true - examples: - - path-parameters: - tag_id: tag_id - ticket_id: ticket_id - method: DELETE - path: /tickets/{ticket_id}/tags/{tag_id} - request: - name: UntagTicketRequest - path-parameters: - tag_id: string - ticket_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/teams.yml b/fern/.definition/teams.yml deleted file mode 100644 index 65c6cd0..0000000 --- a/fern/.definition/teams.yml +++ /dev/null @@ -1,107 +0,0 @@ -imports: - root: __package__.yml -types: - Team: - docs: Teams are groups of admins in Intercom. - properties: - admin_ids: - docs: The list of admin IDs that are a part of the team. - type: optional> - admin_priority_level: - type: optional - id: - docs: The id of the team - type: optional - name: - docs: The name of the team - type: optional - type: - docs: Value is always "team" - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Teams -service: - auth: false - base-path: '' - display-name: Teams - endpoints: - find: - auth: true - examples: - - path-parameters: - team_id: team_id - method: GET - path: /teams/{team_id} - request: - name: FindTeamRequest - path-parameters: - team_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all teams - docs: This will return a list of team objects for the App. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - teams: - - admin_ids: - - 493881 - id: '814865' - name: Example Team - type: team - type: team.list - method: GET - path: /teams - response: - docs: successful - status-code: 200 - type: root.TeamList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - retrieveTeam: - auth: true - display-name: Retrieve a team - docs: >- - You can fetch the details of a single team, containing an array of - admins that belong to this team. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - admin_ids: - - 493881 - admin_priority_level: - primary_admin_ids: - - 493881 - secondary_admin_ids: - - 814865 - id: '991267902' - name: team 1 - type: team - method: GET - path: /teams/{id} - request: - name: RetrieveTeamRequest - path-parameters: - id: - docs: The unique identifier of a given team. - type: string - response: - docs: successful - status-code: 200 - type: Team - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketStates.yml b/fern/.definition/ticketStates.yml deleted file mode 100644 index 0b183ed..0000000 --- a/fern/.definition/ticketStates.yml +++ /dev/null @@ -1,204 +0,0 @@ -imports: - root: __package__.yml -docs: Everything about your ticket states -service: - auth: false - base-path: '' - display-name: Ticket States - endpoints: - listTicketStates: - auth: true - display-name: List all ticket states - docs: You can get a list of all ticket states for a workspace. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - archived: false - category: submitted - external_label: Submitted - id: '8269' - internal_label: Submitted - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: in_progress - external_label: In progress - id: '8270' - internal_label: In progress - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: waiting_on_customer - external_label: Waiting on you - id: '8271' - internal_label: Waiting on customer - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: resolved - external_label: Resolved - id: '8272' - internal_label: Resolved - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: submitted - external_label: User label - id: '8273' - internal_label: Admin label 1 - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: submitted - external_label: User label - id: '8274' - internal_label: Admin label 2 - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - type: list - method: GET - path: /ticket_states - response: - docs: successful - status-code: 200 - type: root.TicketStateList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypeAttributes.yml b/fern/.definition/ticketTypeAttributes.yml deleted file mode 100644 index 0b341da..0000000 --- a/fern/.definition/ticketTypeAttributes.yml +++ /dev/null @@ -1,120 +0,0 @@ -imports: - root: __package__.yml -docs: Everything about your ticket type attributes -service: - auth: false - base-path: '' - display-name: Ticket Type Attributes - endpoints: - updateTicketTypeAttribute: - auth: true - display-name: Update an existing attribute for a ticket type - docs: You can update an existing attribute for a ticket type. - errors: - - root.UnauthorizedError - examples: - - name: Ticket Type Attribute updated - path-parameters: - id: id - ticket_type_id: ticket_type_id - request: - description: New Attribute Description - response: - body: - archived: false - created_at: 1734537864 - data_type: string - default: false - description: New Attribute Description - id: '162' - input_options: - key: value - name: name - order: 0 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 65 - type: ticket_type_attribute - updated_at: 1734537864 - visible_on_create: false - visible_to_contacts: false - workspace_id: this_is_an_id644_that_should_be_at_least_ - method: PUT - path: /ticket_types/{ticket_type_id}/attributes/{id} - request: - body: - properties: - allow_multiple_values: - docs: >- - Whether the attribute allows multiple files to be attached to it - (only applicable to file attributes) - type: optional - archived: - docs: >- - Whether the attribute should be archived and not shown during - creation of the ticket (it will still be present on previously - created tickets) - type: optional - description: - docs: >- - The description of the attribute presented to the teammate or - contact - type: optional - list_items: - docs: >- - A comma delimited list of items for the attribute value (only - applicable to list attributes) - type: optional - multiline: - docs: >- - Whether the attribute allows multiple lines of text (only - applicable to string attributes) - type: optional - name: - docs: The name of the ticket type attribute - type: optional - required_to_create: - default: false - docs: >- - Whether the attribute is required to be filled in when teammates - are creating the ticket in Inbox. - type: optional - required_to_create_for_contacts: - default: false - docs: >- - Whether the attribute is required to be filled in when contacts - are creating the ticket in Messenger. - type: optional - visible_on_create: - default: true - docs: >- - Whether the attribute is visible to teammates when creating a - ticket in Inbox. - type: optional - visible_to_contacts: - default: true - docs: >- - Whether the attribute is visible to contacts when creating a - ticket in Messenger. - type: optional - content-type: application/json - name: UpdateTicketTypeAttributeRequest - path-parameters: - id: - docs: >- - The unique identifier for the ticket type attribute which is given - by Intercom. - type: string - ticket_type_id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket Type Attribute updated - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypes.yml b/fern/.definition/ticketTypes.yml deleted file mode 100644 index b90829c..0000000 --- a/fern/.definition/ticketTypes.yml +++ /dev/null @@ -1,354 +0,0 @@ -imports: - root: __package__.yml - tickets: tickets.yml -docs: Everything about your ticket types -service: - auth: false - base-path: '' - display-name: Ticket Types - endpoints: - create: - auth: true - display-name: Create a ticket type - docs: > - 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/) - errors: - - root.UnauthorizedError - examples: - - name: Ticket type created - request: - category: Customer - description: Customer Report Template - icon: 🎟️ - name: Customer Issue - response: - body: - archived: false - category: Customer - created_at: 1734537869 - description: Customer Report Template - icon: 🎟️ - id: '70' - name: Customer Issue - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8337' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8338' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8339' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8340' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - ticket_type_attributes: - - archived: false - default: true - description: Bug title. - id: '1' - input_options: - key: value - name: Title - order: 1 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 42 - type: ticket_type_attribute - visible_on_create: false - visible_to_contacts: false - workspace_id: ecahpwf5 - type: list - type: ticket_type - updated_at: 1734537869 - workspace_id: this_is_an_id652_that_should_be_at_least_ - method: POST - path: /ticket_types - request: - body: - type: optional - content-type: application/json - response: - docs: Ticket type created - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - get: - auth: true - examples: - - path-parameters: - ticket_type_id: ticket_type_id - method: GET - path: /ticket_types/{ticket_type_id} - request: - name: FindTicketTypeRequest - path-parameters: - ticket_type_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getTicketType: - auth: true - display-name: Retrieve a ticket type - docs: You can fetch the details of a single ticket type. - errors: - - root.UnauthorizedError - examples: - - name: Ticket type found - path-parameters: - id: id - response: - body: - archived: false - category: Customer - created_at: 1734537870 - description: Bug Report Template - icon: 🎟️ - id: '72' - name: Bug Report - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8353' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8354' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8355' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8356' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - ticket_type_attributes: - - archived: false - default: true - description: Bug title. - id: '1' - input_options: - key: value - name: Title - order: 1 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 42 - type: ticket_type_attribute - visible_on_create: false - visible_to_contacts: false - workspace_id: ecahpwf5 - type: list - type: ticket_type - updated_at: 1734537870 - workspace_id: this_is_an_id656_that_should_be_at_least_ - method: GET - path: /ticket_types/{id} - request: - name: GetTicketTypeRequest - path-parameters: - id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket type found - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - list: - auth: true - display-name: List all ticket types - docs: You can get a list of all ticket types for a workspace. - errors: - - root.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - archived: false - category: Customer - created_at: 1734537866 - description: Bug Report Template - icon: 🎟️ - id: '67' - name: Bug Report - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8321' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8322' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8323' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8324' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537866 - workspace_id: this_is_an_id648_that_should_be_at_least_ - type: list - method: GET - path: /ticket_types - response: - docs: successful - status-code: 200 - type: root.TicketTypeList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - ticket_type_id: ticket_type_id - method: PUT - path: /ticket_types/{ticket_type_id} - request: - name: UpdateTicketTypeRequest - path-parameters: - ticket_type_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateTicketType: - auth: true - display-name: Update a ticket type - docs: > - - 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/) - errors: - - root.UnauthorizedError - examples: - - name: Ticket type updated - path-parameters: - id: id - request: - name: Bug Report 2 - response: - body: - archived: false - category: Customer - created_at: 1734537873 - description: Bug Report Template - icon: 🎟️ - id: '74' - name: Bug Report 2 - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8369' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8370' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8371' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8372' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - ticket_type_attributes: - - archived: false - default: true - description: Bug title. - id: '1' - input_options: - key: value - name: Title - order: 1 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 42 - type: ticket_type_attribute - visible_on_create: false - visible_to_contacts: false - workspace_id: ecahpwf5 - type: list - type: ticket_type - updated_at: 1734537874 - workspace_id: this_is_an_id660_that_should_be_at_least_ - method: PUT - path: /ticket_types/{id} - request: - body: - type: optional - content-type: application/json - name: UpdateTicketTypeRequest - path-parameters: - id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket type updated - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/ticketTypes/attributes.yml b/fern/.definition/ticketTypes/attributes.yml deleted file mode 100644 index 2311267..0000000 --- a/fern/.definition/ticketTypes/attributes.yml +++ /dev/null @@ -1,141 +0,0 @@ -imports: - root: ../__package__.yml -types: - CreateTicketTypeAttributeRequestDataType: - docs: The data type of the attribute - enum: - - string - - list - - integer - - decimal - - boolean - - datetime - - files - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - create: - auth: true - display-name: Create a new attribute for a ticket type - docs: You can create a new attribute for a ticket type. - errors: - - root.UnauthorizedError - examples: - - name: Ticket Type Attribute created - path-parameters: - ticket_type_id: ticket_type_id - request: - data_type: string - description: Attribute Description - name: Attribute Title - required_to_create: false - response: - body: - archived: false - created_at: 1734537862 - data_type: string - default: false - description: Attribute Description - id: '157' - input_options: - multiline: false - name: Attribute Title - order: 2 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 63 - type: ticket_type_attribute - updated_at: 1734537862 - visible_on_create: true - visible_to_contacts: true - workspace_id: this_is_an_id640_that_should_be_at_least_ - method: POST - path: /ticket_types/{ticket_type_id}/attributes - request: - body: - properties: - allow_multiple_values: - docs: >- - Whether the attribute allows multiple files to be attached to it - (only applicable to file attributes) - type: optional - data_type: - docs: The data type of the attribute - type: CreateTicketTypeAttributeRequestDataType - description: - docs: >- - The description of the attribute presented to the teammate or - contact - type: string - list_items: - docs: >- - A comma delimited list of items for the attribute value (only - applicable to list attributes) - type: optional - multiline: - docs: >- - Whether the attribute allows multiple lines of text (only - applicable to string attributes) - type: optional - name: - docs: The name of the ticket type attribute - type: string - required_to_create: - default: false - docs: >- - Whether the attribute is required to be filled in when teammates - are creating the ticket in Inbox. - type: optional - required_to_create_for_contacts: - default: false - docs: >- - Whether the attribute is required to be filled in when contacts - are creating the ticket in Messenger. - type: optional - visible_on_create: - default: true - docs: >- - Whether the attribute is visible to teammates when creating a - ticket in Inbox. - type: optional - visible_to_contacts: - default: true - docs: >- - Whether the attribute is visible to contacts when creating a - ticket in Messenger. - type: optional - content-type: application/json - name: CreateTicketTypeAttributeRequest - path-parameters: - ticket_type_id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket Type Attribute created - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - attribute_id: attribute_id - ticket_type_id: ticket_type_id - method: PUT - path: /ticket_types/{ticket_type_id}/attributes/{attribute_id} - request: - name: UpdateTicketTypeAttributeRequest - path-parameters: - attribute_id: string - ticket_type_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/tickets.yml b/fern/.definition/tickets.yml deleted file mode 100644 index f656962..0000000 --- a/fern/.definition/tickets.yml +++ /dev/null @@ -1,2120 +0,0 @@ -imports: - jobs: jobs.yml - root: __package__.yml -types: - DeleteTicketResponse: - docs: Response when a ticket is deleted. - properties: - deleted: - docs: Whether the ticket is deleted or not. - type: optional - id: - docs: The unique identifier for the ticket. - type: optional - object: - docs: always ticket - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - ReplyTicketRequestBody: - discriminated: false - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - type: root.ContactReplyTicketRequest - - type: root.AdminReplyTicketRequest - Ticket: - docs: Tickets are how you track requests from your users. - properties: - admin_assignee_id: - docs: The id representing the admin assigned to the ticket. - type: optional - category: - docs: Category of the Ticket. - type: optional - contacts: - type: optional - created_at: - docs: The time the ticket was created as a UTC Unix timestamp. - type: optional - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: optional - is_shared: - docs: Whether or not the ticket is shared with the customer. - type: optional - linked_objects: - type: optional - open: - docs: Whether or not the ticket is open. If false, the ticket is closed. - type: optional - snoozed_until: - docs: >- - The time the ticket will be snoozed until as a UTC Unix timestamp. If - null, the ticket is not currently snoozed. - type: optional - team_assignee_id: - docs: The id representing the team assigned to the ticket. - type: optional - ticket_attributes: - type: optional - ticket_id: - docs: >- - The ID of the Ticket used in the Intercom Inbox and Messenger. Do not - use ticket_id for API queries. - type: optional - ticket_parts: - type: optional - ticket_state: - type: optional - ticket_type: - type: optional - type: - docs: Always ticket - type: optional> - updated_at: - docs: The last time the ticket was updated as a UTC Unix timestamp. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketCategory: - docs: Category of the Ticket. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketContacts: - docs: The list of contacts affected by a ticket. - properties: - contacts: - docs: The list of contacts affected by this ticket. - type: optional> - type: - docs: always contact.list - type: optional> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPart: - docs: A Ticket Part represents a message in the ticket. - properties: - app_package_code: - docs: >- - The app package code if this part was created via API. Note this field - won't show if the part was not created via API. - type: optional - assigned_to: - docs: >- - The id of the admin that was assigned the ticket by this ticket_part - (null if there has been no change in assignment.) - type: optional - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: The message body, which may contain HTML. - type: optional - created_at: - docs: The time the ticket part was created. - type: optional - external_id: - docs: The external id of the ticket part - type: optional - id: - docs: The id representing the ticket part. - type: optional - part_type: - docs: The type of ticket part. - type: optional - previous_ticket_state: - docs: The previous state of the ticket. - type: optional - redacted: - docs: Whether or not the ticket part has been redacted. - type: optional - ticket_state: - docs: The state of the ticket. - type: optional - type: - docs: Always ticket_part - type: optional - updated_at: - docs: The last time the ticket part was updated. - type: optional - updated_attribute_data: - docs: >- - The updated attribute data of the ticket part. Only present for - attribute update parts. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartPreviousTicketState: - docs: The previous state of the ticket. - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartTicketState: - docs: The state of the ticket. - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartUpdatedAttributeData: - docs: >- - The updated attribute data of the ticket part. Only present for attribute - update parts. - inline: true - properties: - attribute: - docs: Information about the attribute that was updated. - type: TicketPartUpdatedAttributeDataAttribute - value: - docs: The new value of the attribute. - type: TicketPartUpdatedAttributeDataValue - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartUpdatedAttributeDataAttribute: - docs: Information about the attribute that was updated. - inline: true - properties: - id: - docs: The unique identifier of the attribute. - type: string - label: - docs: The human-readable name of the attribute. - type: string - type: - docs: The type of the object. Always 'attribute'. - type: literal<"attribute"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartUpdatedAttributeDataValue: - docs: The new value of the attribute. - inline: true - properties: - id: TicketPartUpdatedAttributeDataValueId - label: TicketPartUpdatedAttributeDataValueLabel - type: - docs: The type of the object. Always 'value'. - type: literal<"value"> - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketPartUpdatedAttributeDataValueId: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - docs: >- - The value for text/number/decimal/boolean/date attributes, or the ID - of the list option for list attributes. - type: optional - - docs: Array of file IDs for file attributes. - type: list - TicketPartUpdatedAttributeDataValueLabel: - discriminated: false - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - docs: >- - The display value for text/number/decimal/boolean/date/list - attributes. - type: string - - docs: Array of file names for file attributes. - type: list - TicketState: - docs: A ticket state, used to define the state of a ticket. - properties: - category: - docs: The category of the ticket state - type: optional - external_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible to customers, in the messenger, email and tickets portal. - type: optional - id: - docs: The id of the ticket state - type: optional - internal_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible in Intercom - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_state`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketStateCategory: - docs: The category of the ticket state - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketStateDetailed: - docs: A ticket state, used to define the state of a ticket. - properties: - archived: - docs: Whether the ticket state is archived - type: optional - category: - docs: The category of the ticket state - type: optional - external_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible to customers, in the messenger, email and tickets portal. - type: optional - id: - docs: The id of the ticket state - type: optional - internal_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible in Intercom - type: optional - ticket_types: - docs: A list of ticket types associated with a given ticket state. - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_state`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketStateDetailedCategory: - docs: The category of the ticket state - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketStateDetailedTicketTypes: - docs: A list of ticket types associated with a given ticket state. - inline: true - properties: - data: - docs: A list of ticket type attributes associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketType: - docs: A ticket type, used to define the data fields to be captured in a ticket. - properties: - archived: - docs: Whether the ticket type is archived or not. - type: optional - category: - docs: Category of the Ticket Type. - type: optional - created_at: - docs: The date and time the ticket type was created. - type: optional - description: - docs: The description of the ticket type - type: optional - icon: - docs: The icon of the ticket type - type: optional - id: - docs: The id representing the ticket type. - type: optional - name: - docs: The name of the ticket type - type: optional - ticket_states: - docs: A list of ticket states associated with a given ticket type. - type: optional - ticket_type_attributes: - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type`. - type: optional - updated_at: - docs: The date and time the ticket type was last updated. - type: optional - workspace_id: - docs: The id of the workspace that the ticket type belongs to. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - TicketTypeTicketStates: - docs: A list of ticket states associated with a given ticket type. - inline: true - properties: - data: - docs: A list of ticket states associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your tickets -service: - auth: false - base-path: '' - display-name: Tickets - endpoints: - create: - auth: true - display-name: Create a ticket - docs: You can create a new ticket. - errors: - - root.UnauthorizedError - examples: - - name: Successful response - request: - contacts: - - id: 6762f2d81bb69f9f2193bc54 - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_type_id: '1234' - response: - body: - admin_assignee_id: '0' - category: Back-office - contacts: - contacts: - - external_id: '70' - id: 6762f2d81bb69f9f2193bc54 - type: contact - type: contact.list - created_at: 1734537944 - id: '626' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '33' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id688_that_should_be_at_least_@intercom.io - id: '991267999' - name: Fin - type: bot - created_at: 1734537945 - id: '175' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537945 - total_count: 1 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '8481' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537943 - description: my ticket type description is awesome. - icon: 🦁 - id: '88' - name: my-ticket-type-23 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537943 - workspace_id: this_is_an_id688_that_should_be_at_least_ - type: ticket - updated_at: 1734537946 - method: POST - path: /tickets - request: - body: - extends: - - root.CreateTicketRequest - properties: - skip_notifications: - docs: Option to disable notifications when a Ticket is created. - type: optional - content-type: application/json - name: CreateTicketRequest - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - deleteTicket: - auth: true - display-name: Delete a ticket - docs: You can delete a ticket using the Intercom provided ID. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - path-parameters: - id: id - response: - body: - deleted: true - id: '632' - object: ticket - method: DELETE - path: /tickets/{id} - request: - name: DeleteTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: DeleteTicketResponse - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - enqueueCreateTicket: - auth: true - display-name: Enqueue create ticket - docs: >- - Enqueues ticket creation for asynchronous processing, returning if the - job was enqueued successfully to be processed. We attempt to perform a - best-effort validation on inputs before tasks are enqueued. If the given - parameters are incorrect, we won't enqueue the job. - errors: - - root.BadRequestError - - root.UnauthorizedError - examples: - - name: Successful response - request: - contacts: - - id: 6762f2d81bb69f9f2193bc54 - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_type_id: '1234' - response: - body: - id: '20' - resource_type: ticket - status: pending - type: job - url: https://api.intercom.io/jobs/status/20 - method: POST - path: /tickets/enqueue - request: - body: - extends: - - root.CreateTicketRequest - properties: - skip_notifications: - docs: Option to disable notifications when a Ticket is created. - type: optional - content-type: application/json - name: EnqueueCreateTicketRequest - response: - docs: Successful response - status-code: 200 - type: jobs.Jobs - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - get: - auth: true - examples: - - path-parameters: - ticket_id: ticket_id - method: GET - path: /tickets/{ticket_id} - request: - name: FindTicketRequest - path-parameters: - ticket_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - getTicket: - auth: true - display-name: Retrieve a ticket - docs: You can fetch the details of a single ticket. - errors: - - root.UnauthorizedError - examples: - - name: Ticket found - path-parameters: - id: id - response: - body: - admin_assignee_id: '0' - category: Back-office - contacts: - contacts: - - external_id: b16afa36-2637-4880-adee-a46d145bc27f - id: 6762f2f61bb69f9f2193bc59 - type: contact - type: contact.list - created_at: 1734537974 - id: '631' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - _default_description_: - key: value - _default_title_: attribute_value - ticket_id: '38' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin509@email.com - id: '991268047' - name: Ciaran509 Lee - type: admin - created_at: 1734537975 - id: '185' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537975 - total_count: 1 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '8537' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537973 - description: my ticket type description is awesome. - icon: 🦁 - id: '95' - name: my-ticket-type-30 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537973 - workspace_id: this_is_an_id702_that_should_be_at_least_ - type: ticket - updated_at: 1734537976 - method: GET - path: /tickets/{id} - request: - name: GetTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: string - response: - docs: Ticket found - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - reply: - auth: true - method: POST - path: /tickets/{ticket_id}/reply - request: - body: unknown - content-type: application/json - name: ReplyToTicketRequest - path-parameters: - ticket_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - replyTicket: - auth: true - display-name: Reply to a ticket - docs: >- - You can reply to a ticket with a message from an admin or on behalf of a - contact, or with a note for admins. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: User reply - path-parameters: - id: '123' - request: - body: Thanks again :) - intercom_user_id: 6762f2971bb69f9f2193bc49 - message_type: comment - type: user - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - - name: Admin note reply - path-parameters: - id: '123' - request: - admin_id: '3156780' - body: >- -

An Unordered HTML List

    -
  • Coffee
  • Tea
  • Milk

An - Ordered HTML List

  1. Coffee
  2. Tea
  3. -
  4. Milk
- message_type: note - type: admin - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - - name: Admin quick_reply reply - path-parameters: - id: '123' - request: - admin_id: '3156780' - message_type: quick_reply - reply_options: - - text: 'Yes' - uuid: 0df48b85-9a93-4c66-a167-753eff0baaec - - text: 'No' - uuid: 4f0b5145-4193-4b4f-8cad-ce19478a3938 - type: admin - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin423@email.com - id: '991267948' - name: Ciaran423 Lee - type: admin - body:

Okay!

- created_at: 1734537890 - id: '158' - part_type: quick_reply - redacted: false - type: ticket_part - updated_at: 1734537890 - - name: Not found - path-parameters: - id: '123' - request: - body: Thanks again :) - intercom_user_id: 6762f2a41bb69f9f2193bc4c - message_type: comment - type: user - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - method: POST - path: /tickets/{id}/reply - request: - body: ReplyTicketRequestBody - content-type: application/json - name: ReplyTicketRequest - path-parameters: - id: string - response: - docs: Admin Reply to send Quick Reply Options - status-code: 200 - type: root.TicketReply - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - search: - auth: true - display-name: Search tickets - docs: > - You can search for multiple tickets by the value of their attributes in - order to fetch exactly which ones you want. - - - To search for tickets, you send a `POST` request to - `https://api.intercom.io/tickets/search`. - - - This will accept a query object in the body which will define your - filters. - - {% 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. - 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 multiples 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 Ticket 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 `"foobar"`). - - 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) - | - - | _default_title_ | - String - | - - | _default_description_ | - String - | - - | category | - String - | - - | ticket_type_id | - String - | - - | contact_ids | - String - | - - | teammate_ids | - String - | - - | admin_assignee_id | - String - | - - | team_assignee_id | - String - | - - | open | - Boolean - | - - | state | - String - | - - | snoozed_until | Date (UNIX - timestamp) - | - - | ticket_attribute.{id} | String or Boolean or Date - (UNIX timestamp) or Float or Integer | - - - {% admonition type="info" name="Searching by Category" %} - - When searching for tickets by the **`category`** field, specific terms - must be used instead of the category names: - - * For **Customer** category tickets, use the term `request`. - - * For **Back-office** category tickets, use the term `task`. - - * For **Tracker** category tickets, use the term `tracker`. - - {% /admonition %} - - - ### Accepted Operators - - - {% admonition type="info" name="Searching based on `created_at`" %} - You may use the `<=` or `>=` operators to search by `created_at`. - {% /admonition %} - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :----------------------------- | - :----------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In Shortcut for `OR` - queries Values most be in Array | - - | NIN | All | Not In Shortcut for `OR - !` queries Values must be in Array | - - | > | Integer Date (UNIX Timestamp) | Greater (or equal) - than | - - | < | Integer Date (UNIX Timestamp) | Lower (or equal) - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 1 - type: pages - tickets: - - admin_assignee_id: '0' - category: Back-office - contacts: - contacts: - - external_id: 9b913927-c084-4391-b1db-098341b5ffe3 - id: 6762f3061bb69f9f2193bc5b - type: contact - type: contact.list - created_at: 1734537990 - id: '633' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - _default_title_: attribute_value - ticket_id: '40' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin539@email.com - id: '991268079' - name: Ciaran539 Lee - type: admin - created_at: 1734537991 - id: '188' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537991 - total_count: 1 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '8577' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537989 - description: my ticket type description is awesome. - icon: 🦁 - id: '100' - name: my-ticket-type-35 - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537989 - workspace_id: this_is_an_id712_that_should_be_at_least_ - type: ticket - updated_at: 1734537992 - total_count: 1 - type: ticket.list - method: POST - pagination: - cursor: $request.pagination.starting_after - next_cursor: $response.pages.next.starting_after - results: $response.tickets - path: /tickets/search - request: - body: - type: root.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: root.TicketList - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - examples: - - path-parameters: - ticket_id: ticket_id - method: PUT - path: /tickets/{ticket_id} - request: - name: UpdateTicketRequest - path-parameters: - ticket_id: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - updateTicket: - auth: true - display-name: Update a ticket - docs: You can update a ticket. - errors: - - root.BadRequestError - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: Successful response - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - open: true - snoozed_until: 1673609604 - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: Admin not found - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: Assignee not found - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: >- - Ticket state id is not valid or is not associated with the ticket - type. - path-parameters: - id: id - request: - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - method: PUT - path: /tickets/{id} - request: - body: - properties: - admin_id: - docs: >- - The ID of the admin performing ticket update. Needed for - workflows execution and attributing actions to specific admins. - type: optional - assignee_id: - docs: >- - The ID of the admin or team to which the ticket is assigned. Set - this 0 to unassign it. - type: optional - company_id: - docs: >- - The ID of the company that the ticket is associated with. The - unique identifier for the company which is given by Intercom. - Set to nil to remove company. - type: optional - is_shared: - docs: Specify whether the ticket is visible to users. - type: optional - open: - docs: >- - Specify if a ticket is open. Set to false to close a ticket. - Closing a ticket will also unsnooze it. - type: optional - snoozed_until: - docs: The time you want the ticket to reopen. - type: optional - ticket_attributes: - docs: The attributes set on the ticket. - type: optional> - ticket_state_id: - docs: The ID of the ticket state associated with the ticket type. - type: optional - content-type: application/json - name: UpdateTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom - type: string - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml diff --git a/fern/.definition/unstable/__package__.yml b/fern/.definition/unstable/__package__.yml deleted file mode 100644 index 251f3c0..0000000 --- a/fern/.definition/unstable/__package__.yml +++ /dev/null @@ -1,5843 +0,0 @@ -imports: - unstableAdmins: admins.yml - unstableAiContentSource: aiContentSource.yml - unstableArticles: articles.yml - unstableCalls: calls.yml - unstableCompanies: companies.yml - unstableContacts: contacts.yml - unstableConversations: conversations.yml - unstableCustomObjectInstances: customObjectInstances.yml - unstableDataAttributes: dataAttributes.yml - unstableDataEvents: dataEvents.yml - unstableHelpCenter: helpCenter.yml - unstableInternalArticles: internalArticles.yml - unstableNews: news.yml - unstableNotes: notes.yml - unstableSegments: segments.yml - unstableSubscriptionTypes: subscriptionTypes.yml - unstableTags: tags.yml - unstableTeams: teams.yml - unstableTickets: tickets.yml -types: - ActivityLog: - docs: Activities performed by Admins. - properties: - activity_description: - docs: A sentence or two describing the activity. - type: optional - activity_type: - type: optional - created_at: - docs: The time the activity was created. - type: optional - id: - docs: The id representing the activity. - type: optional - metadata: - type: optional - performed_by: - docs: Details about the Admin involved in the activity. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ActivityLogActivityType: - enum: - - admin_conversation_assignment_limit_change - - admin_ticket_assignment_limit_change - - admin_away_mode_change - - admin_deletion - - admin_deprovisioned - - admin_impersonation_end - - admin_impersonation_start - - admin_invite_change - - admin_invite_creation - - admin_invite_deletion - - admin_login_failure - - admin_login_success - - admin_logout - - admin_password_reset_request - - admin_password_reset_success - - admin_permission_change - - admin_provisioned - - admin_two_factor_auth_change - - admin_unauthorized_sign_in_method - - app_admin_join - - app_authentication_method_change - - app_data_deletion - - app_data_export - - app_google_sso_domain_change - - app_identity_verification_change - - app_name_change - - app_outbound_address_change - - app_package_installation - - app_package_token_regeneration - - app_package_uninstallation - - app_team_creation - - app_team_deletion - - app_team_membership_modification - - app_timezone_change - - app_webhook_creation - - app_webhook_deletion - - articles_in_messenger_enabled_change - - bulk_delete - - bulk_export - - campaign_deletion - - campaign_state_change - - conversation_part_deletion - - conversation_topic_change - - conversation_topic_creation - - conversation_topic_deletion - - help_center_settings_change - - inbound_conversations_change - - inbox_access_change - - message_deletion - - message_state_change - - messenger_look_and_feel_change - - messenger_search_required_change - - messenger_spaces_change - - office_hours_change - - role_change - - role_creation - - role_deletion - - ruleset_activation_title_preview - - ruleset_creation - - ruleset_deletion - - search_browse_enabled_change - - search_browse_required_change - - seat_change - - seat_revoke - - security_settings_change - - temporary_expectation_change - - upfront_email_collection_change - - welcome_message_change - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ActivityLogList: - docs: A paginated list of activity logs. - properties: - activity_logs: - docs: An array of activity logs - type: optional>> - pages: - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `activity_log.list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ActivityLogMetadata: - docs: Additional data provided about Admin activity. - properties: - auto_changed: - docs: Indicates if the status was changed automatically or manually. - type: optional - away_mode: - docs: >- - The away mode status which is set to true when away and false when - returned. - type: optional - away_status_reason: - docs: The reason the Admin is away. - type: optional - conversation_assignment_limit: - docs: The conversation assignment limit value for an admin. - type: optional - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - reassign_conversations: - docs: >- - Indicates if conversations should be reassigned while an Admin is - away. - type: optional - sign_in_method: - docs: The way the admin signed in. - type: optional - source: - docs: The action that initiated the status change. - type: optional - ticket_assignment_limit: - docs: The ticket assignment limit value for an admin. - type: optional - update_by: - docs: The ID of the Admin who initiated the activity. - type: optional - update_by_name: - docs: The name of the Admin who initiated the activity. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ActivityLogPerformedBy: - docs: Details about the Admin involved in the activity. - inline: true - properties: - email: - docs: The email of the admin. - type: optional - id: - docs: The id representing the admin. - type: optional - ip: - docs: The IP address of the admin. - type: optional - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AddressableList: - docs: A list used to access other resources from a parent model. - properties: - id: - docs: The id of the addressable object - type: optional - type: - docs: The addressable object type - type: optional - validation: - format: uri - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminList: - docs: A list of admins associated with a given workspace. - properties: - admins: - docs: A list of admins associated with a given workspace. - type: optional>> - type: - docs: >- - String representing the object's type. Always has the value - `admin.list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminPriorityLevel: - docs: Admin priority levels for the team - properties: - primary_admin_ids: - docs: The primary admin ids for the team - type: optional> - secondary_admin_ids: - docs: The secondary admin ids for the team - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminReplyConversationRequest: - docs: Payload of the request to reply on behalf of an admin - properties: - admin_id: - docs: The id of the admin who is authoring the comment. - type: string - attachment_files: - docs: >- - A list of files that will be added as attachments. You can include up - to 10 files - type: optional> - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: >- - The text body of the reply. Notes accept some HTML formatting. Must be - present for comment and note message types. - type: optional - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: AdminReplyConversationRequestMessageType - reply_options: - docs: >- - The quick reply options to display to the end user. Must be present - for quick_reply message types. - type: optional> - type: literal<"admin"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminReplyConversationRequestMessageType: - enum: - - comment - - note - - quick_reply - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminReplyTicketRequest: - docs: Payload of the request to reply on behalf of an admin - properties: - admin_id: - docs: The id of the admin who is authoring the comment. - type: string - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: >- - The text body of the reply. Notes accept some HTML formatting. Must be - present for comment and note message types. - type: optional - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: AdminReplyTicketRequestMessageType - reply_options: - docs: >- - The quick reply options to display. Must be present for quick_reply - message types. - type: optional> - type: literal<"admin"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminReplyTicketRequestMessageType: - enum: - - comment - - note - - quick_reply - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminReplyTicketRequestReplyOptionsItem: - inline: true - properties: - text: - docs: The text to display in this quick reply option. - type: string - uuid: - docs: >- - A unique identifier for this quick reply option. This value will be - available within the metadata of the comment ticket part that is - created when a user clicks on this reply option. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminWithApp: - docs: Admins are the teammate accounts that have access to a workspace - properties: - app: - docs: App that the admin belongs to. - type: optional - avatar: - docs: This object represents the avatar associated with the admin. - type: optional - away_mode_enabled: - docs: Identifies if this admin is currently set in away mode. - type: optional - away_mode_reassign: - docs: >- - Identifies if this admin is set to automatically reassign new - conversations to the apps default inbox. - type: optional - email: - docs: The email of the admin. - type: optional - email_verified: - docs: Identifies if this admin's email is verified. - type: optional - has_inbox_seat: - docs: >- - Identifies if this admin has a paid inbox seat to restrict/allow - features that require them. - type: optional - id: - docs: The id representing the admin. - type: optional - job_title: - docs: The job title of the admin. - type: optional - name: - docs: The name of the admin. - type: optional - team_ids: - docs: This is a list of ids of the teams that this admin is part of. - type: optional> - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AdminWithAppAvatar: - docs: This object represents the avatar associated with the admin. - inline: true - properties: - image_url: - docs: This object represents the avatar associated with the admin. - type: optional - validation: - format: uri - type: - default: avatar - docs: >- - This is a string that identifies the type of the object. It will - always have the value `avatar`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - App: - docs: App is a workspace on Intercom - properties: - created_at: - docs: When the app was created. - type: optional - id_code: - docs: The id of the app. - type: optional - identity_verification: - docs: Whether or not the app uses identity verification. - type: optional - name: - docs: The name of the app. - type: optional - region: - docs: The Intercom region the app is located in. - type: optional - timezone: - docs: The timezone of the region where the app is located. - type: optional - type: - default: app - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleContent: - docs: The Content of an Article. - properties: - author_id: - docs: The ID of the author of the article. - type: optional - body: - docs: The body of the article. - type: optional - created_at: - docs: The time when the article was created (seconds). - type: optional - description: - docs: The description of the article. - type: optional - state: - docs: Whether the article is `published` or is a `draft` . - type: optional - title: - docs: The title of the article. - type: optional - type: - docs: The type of object - `article_content` . - type: optional - updated_at: - docs: The time when the article was last updated (seconds). - type: optional - url: - docs: The URL of the article. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleContentState: - docs: Whether the article is `published` or is a `draft` . - enum: - - published - - draft - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleList: - docs: This will return a list of articles for the App. - properties: - data: - docs: An array of Article objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of articles. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleStatistics: - docs: The statistics of an article. - properties: - conversions: - docs: The number of conversations started from the article. - type: optional - happy_reaction_percentage: - docs: >- - The percentage of happy reactions the article has received against - other types of reaction. - type: optional - neutral_reaction_percentage: - docs: >- - The percentage of neutral reactions the article has received against - other types of reaction. - type: optional - reactions: - docs: The number of total reactions the article has received. - type: optional - sad_reaction_percentage: - docs: >- - The percentage of sad reactions the article has received against other - types of reaction. - type: optional - type: - docs: The type of object - `article_statistics`. - type: optional> - views: - docs: The number of total views the article has received. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleTranslatedContent: - docs: >- - The Translated Content of an Article. The keys are the locale codes and - the values are the translated content of the article. - properties: - ar: - docs: The content of the article in Arabic - type: optional - bg: - docs: The content of the article in Bulgarian - type: optional - bs: - docs: The content of the article in Bosnian - type: optional - ca: - docs: The content of the article in Catalan - type: optional - cs: - docs: The content of the article in Czech - type: optional - da: - docs: The content of the article in Danish - type: optional - de: - docs: The content of the article in German - type: optional - el: - docs: The content of the article in Greek - type: optional - en: - docs: The content of the article in English - type: optional - es: - docs: The content of the article in Spanish - type: optional - et: - docs: The content of the article in Estonian - type: optional - fi: - docs: The content of the article in Finnish - type: optional - fr: - docs: The content of the article in French - type: optional - he: - docs: The content of the article in Hebrew - type: optional - hr: - docs: The content of the article in Croatian - type: optional - hu: - docs: The content of the article in Hungarian - type: optional - id: - docs: The content of the article in Indonesian - type: optional - it: - docs: The content of the article in Italian - type: optional - ja: - docs: The content of the article in Japanese - type: optional - ko: - docs: The content of the article in Korean - type: optional - lt: - docs: The content of the article in Lithuanian - type: optional - lv: - docs: The content of the article in Latvian - type: optional - mn: - docs: The content of the article in Mongolian - type: optional - nb: - docs: The content of the article in Norwegian - type: optional - nl: - docs: The content of the article in Dutch - type: optional - pl: - docs: The content of the article in Polish - type: optional - pt: - docs: The content of the article in Portuguese (Portugal) - type: optional - pt-BR: - docs: The content of the article in Portuguese (Brazil) - type: optional - ro: - docs: The content of the article in Romanian - type: optional - ru: - docs: The content of the article in Russian - type: optional - sl: - docs: The content of the article in Slovenian - type: optional - sr: - docs: The content of the article in Serbian - type: optional - sv: - docs: The content of the article in Swedish - type: optional - tr: - docs: The content of the article in Turkish - type: optional - type: - docs: The type of object - article_translated_content. - type: optional - vi: - docs: The content of the article in Vietnamese - type: optional - zh-CN: - docs: The content of the article in Chinese (China) - type: optional - zh-TW: - docs: The content of the article in Chinese (Taiwan) - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AssignConversationRequest: - docs: Payload of the request to assign a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - assignee_id: - docs: >- - The `id` of the `admin` or `team` which will be assigned the - conversation. A conversation can be assigned both an admin and a - team.\nSet `0` if you want this assign to no admin or team (ie. - Unassigned). - type: string - body: - docs: >- - Optionally you can send a response in the conversation when it is - assigned. - type: optional - type: AssignConversationRequestType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AssignConversationRequestType: - enum: - - admin - - team - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AwayStatusReason: - properties: - created_at: - docs: The Unix timestamp when the status reason was created - type: optional - deleted: - docs: Whether the status reason has been soft deleted - type: optional - emoji: - docs: The emoji associated with the status reason - type: optional - id: - docs: The unique identifier for the away status reason - type: optional - label: - docs: The display text for the away status reason - type: optional - order: - docs: The display order of the status reason - type: optional - type: optional - updated_at: - docs: The Unix timestamp when the status reason was last updated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CallList: - docs: A paginated list of calls. - properties: - data: - docs: A list of calls. - type: optional> - pages: - type: optional - total_count: - docs: Total number of items available. - type: optional - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CloseConversationRequest: - docs: Payload of the request to close a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - body: - docs: >- - Optionally you can leave a message in the conversation to provide - additional context to the user and other teammates. - type: optional - type: literal<"admin"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CollectionList: - docs: This will return a list of Collections for the App. - properties: - data: - docs: An array of collection objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of collections. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyAttachedContacts: - docs: A list of Contact Objects - properties: - data: - docs: An array containing Contact Objects - type: optional> - pages: - type: optional - total_count: - docs: The total number of contacts - type: optional - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyAttachedSegments: - docs: A list of Segment Objects - properties: - data: - docs: An array containing Segment Objects - type: optional> - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyData: - docs: >- - An object containing data about the companies that a contact is associated - with. - properties: - id: - docs: The unique identifier for the company which is given by Intercom. - type: optional - type: - docs: The type of the object. Always company. - type: optional> - url: - docs: The relative URL of the company. - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyList: - docs: This will return a list of companies for the App. - properties: - data: - docs: An array containing Company Objects. - type: optional> - pages: - type: optional - total_count: - docs: The total number of companies. - type: optional - type: - docs: The type of object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyScroll: - docs: >- - Companies allow you to represent organizations using your product. Each - company will have its own description and be associated with contacts. You - can fetch, create, update and list companies. - properties: - data: - type: optional> - pages: - type: optional - scroll_param: - docs: >- - The scroll parameter to use in the next request to fetch the next page - of results. - type: optional - total_count: - docs: The total number of companies - type: optional - type: - docs: The type of object - `list` - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactArchived: - docs: archived contact object - extends: - - ContactReference - properties: - archived: - docs: Whether the contact is archived or not. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactAttachedCompanies: - docs: A list of Company Objects - properties: - companies: - docs: An array containing Company Objects - type: optional> - pages: - type: optional - total_count: - docs: The total number of companies associated to this contact - type: optional - type: - docs: The type of object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactBlocked: - docs: blocked contact object - extends: - - ContactReference - properties: - blocked: - docs: Always true. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactCompanies: - docs: >- - An object with metadata about companies attached to a contact . Up to 10 - will be displayed here. Use the url to get more. - properties: - data: - docs: An array of company data objects attached to the contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Integer representing the total number of companies attached to this - contact - type: optional - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactDeleted: - docs: deleted contact object - extends: - - ContactReference - properties: - deleted: - docs: Whether the contact is deleted or not. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactList: - docs: Contacts are your users in Intercom. - properties: - data: - docs: The list of contact objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always list - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactLocation: - docs: An object containing location meta data about a Intercom contact. - properties: - city: - docs: The city that the contact is located in - type: optional - country: - docs: The country that the contact is located in - type: optional - region: - docs: The overal region that the contact is located in - type: optional - type: - docs: Always location - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactNotes: - docs: >- - An object containing notes meta data about the notes that a contact has. - Up to 10 will be displayed here. Use the url to get more. - properties: - data: - docs: This object represents the notes attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Int representing the total number of companyies attached to this - contact - type: optional - url: - docs: Url to get more company resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReference: - docs: reference to contact object - properties: - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - id: - docs: The unique identifier for the contact which is given by Intercom. - type: optional - type: - docs: always contact - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyBaseRequest: - properties: - attachment_urls: - docs: >- - A list of image URLs that will be added as attachments. You can - include up to 10 URLs. - type: optional> - body: - docs: The text body of the comment. - type: string - created_at: - docs: >- - The time the reply was created. If not provided, the current time will - be used. - type: optional - message_type: literal<"comment"> - reply_options: - docs: >- - The quick reply selection the contact wishes to respond with. These - map to buttons displayed in the Messenger UI if sent by a bot, or the - reply options sent by an Admin via the API. - type: optional> - type: literal<"user"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyBaseRequestReplyOptionsItem: - inline: true - properties: - text: - docs: The text of the chosen reply option. - type: string - uuid: - docs: The unique identifier for the quick reply option selected. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyConversationRequest: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: ContactReplyIntercomUserIdRequest - - type: ContactReplyEmailRequest - - type: ContactReplyUserIdRequest - ContactReplyEmailRequest: - docs: Payload of the request to reply on behalf of a contact using their `email` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: A list of files that will be added as attachments. - type: optional> - email: - docs: The email you have defined for the user. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyIntercomUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `intercom_user_id` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: A list of files that will be added as attachments. - type: optional> - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyTicketEmailRequest: - docs: Payload of the request to reply on behalf of a contact using their `email` - extends: - - ContactReplyBaseRequest - properties: - email: - docs: The email you have defined for the user. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyTicketIntercomUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `intercom_user_id` - extends: - - ContactReplyBaseRequest - properties: - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyTicketRequest: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: ContactReplyTicketIntercomUserIdRequest - - type: ContactReplyTicketUserIdRequest - - type: ContactReplyTicketEmailRequest - ContactReplyTicketUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `user_id` - extends: - - ContactReplyBaseRequest - properties: - user_id: - docs: The external_id you have defined for the contact. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactReplyUserIdRequest: - docs: >- - Payload of the request to reply on behalf of a contact using their - `user_id` - extends: - - ContactReplyBaseRequest - properties: - attachment_files: - docs: >- - A list of files that will be added as attachments. You can include up - to 10 files. - type: optional> - user_id: - docs: The external_id you have defined for the contact. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactSegments: - docs: A list of segments objects attached to a specific contact. - properties: - data: - docs: Segment objects associated with the contact. - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactSocialProfiles: - docs: An object containing social profiles that a contact has. - properties: - data: - docs: A list of social profiles objects associated with the contact. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactSubscriptionTypes: - docs: >- - An object containing Subscription Types meta data about the - SubscriptionTypes that a contact has. - properties: - data: - docs: This object represents the subscriptions attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: >- - Int representing the total number of subscription types attached to - this contact - type: optional - url: - docs: Url to get more subscription type resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactTags: - docs: >- - An object containing tags meta data about the tags that a contact has. Up - to 10 will be displayed here. Use the url to get more. - properties: - data: - docs: This object represents the tags attached to a contact. - type: optional> - has_more: - docs: >- - Whether there's more Addressable Objects to be viewed. If true, use - the url to view all - type: optional - total_count: - docs: Int representing the total number of tags attached to this contact - type: optional - url: - docs: url to get more tag resources for this contact - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactUnarchived: - docs: unarchived contact object - extends: - - ContactReference - properties: - archived: - docs: Whether the contact is archived or not. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContentSourcesList: - properties: - content_sources: - docs: The content sources used by AI Agent in the conversation. - type: optional> - total_count: - docs: >- - The total number of content sources used by AI Agent in the - conversation. - type: optional - type: - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttachmentFiles: - docs: Properties of the attachment files in a conversation part - properties: - content_type: - docs: The content type of the file - type: optional - data: - docs: The base64 encoded file data. - type: optional - name: - docs: The name of the file. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByAdmin: - docs: >- - Contains details about Custom Data Attributes (CDAs) that were modified by - an admin (operator) for conversation part type - conversation_attribute_updated_by_admin. - properties: - attribute: - type: optional - value: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByAdminAttribute: - inline: true - properties: - name: - docs: Name of the CDA updated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByAdminValue: - inline: true - properties: - name: - docs: Value of the CDA updated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflow: - docs: >- - Contains details about the workflow that was triggered and any Custom Data - Attributes (CDAs) that were modified during the workflow execution for - conversation part type - conversation_attribute_updated_by_workflow. - properties: - attribute: - type: optional - value: - type: optional - workflow: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowAttribute: - inline: true - properties: - name: - docs: Name of the CDA updated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowValue: - inline: true - properties: - name: - docs: Value of the CDA updated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationAttributeUpdatedByWorkflowWorkflow: - inline: true - properties: - name: - docs: Name of the workflow - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationContacts: - docs: >- - The list of contacts (users or leads) involved in this conversation. This - will only contain one customer unless more were added via the group - conversation feature. - properties: - contacts: - docs: >- - The list of contacts (users or leads) involved in this conversation. - This will only contain one customer unless more were added via the - group conversation feature. - type: optional> - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationDeleted: - docs: deleted conversation object - properties: - deleted: - docs: Whether the conversation is deleted or not. - type: optional - id: - docs: The unique identifier for the conversation. - type: optional - object: - docs: always conversation - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationFirstContactReply: - docs: >- - An object containing information on the first users message. For a contact - initiated message this will represent the users original message. - properties: - created_at: - docs: '' - type: optional - type: - docs: '' - type: optional - url: - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationList: - docs: >- - 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. - properties: - conversations: - docs: The list of conversation objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always conversation.list - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPart: - docs: A Conversation Part represents a message in the conversation. - properties: - app_package_code: - docs: >- - The app package code if this part was created via API. null if the - part was not created via API. - type: optional - assigned_to: - docs: >- - The id of the admin that was assigned the conversation by this - conversation_part (null if there has been no change in assignment.) - type: optional - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: >- - The message body, which may contain HTML. For Twitter, this will show - a generic message regarding why the body is obscured. - type: optional - created_at: - docs: The time the conversation part was created. - type: optional - email_message_metadata: - type: optional - event_details: - type: optional - external_id: - docs: The external id of the conversation part - type: optional - id: - docs: The id representing the conversation part. - type: optional - metadata: - type: optional - notified_at: - docs: The time the user was notified with the conversation part. - type: optional - part_type: - docs: The type of conversation part. - type: optional - redacted: - docs: Whether or not the conversation part has been redacted. - type: optional - state: - docs: >- - Indicates the current state of conversation when the conversation part - was created. - type: optional - tags: - docs: A list of tags objects associated with the conversation part. - type: optional> - type: - docs: Always conversation_part - type: optional - updated_at: - docs: The last time the conversation part was updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPartAuthor: - docs: >- - 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: - email: - docs: The email of the author - type: optional - validation: - format: email - from_ai_agent: - docs: If this conversation part was sent by the AI Agent - type: optional - id: - docs: The id of the author - type: optional - is_ai_answer: - docs: If this conversation part body was generated by the AI Agent - type: optional - name: - docs: The name of the author - type: optional - type: - docs: The type of the author - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPartMetadata: - docs: Metadata for a conversation part - properties: - quick_reply_options: - docs: >- - The quick reply options sent by the Admin or bot, presented in this - conversation part. - type: optional> - quick_reply_uuid: - docs: >- - The unique identifier for the quick reply option that was clicked by - the end user. - type: optional - validation: - format: uuid - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPartMetadataQuickReplyOptionsItem: - extends: - - QuickReplyOption - inline: true - properties: - translations: - docs: The translations for the quick reply option. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationParts: - docs: >- - 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: - conversation_parts: - docs: >- - 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. - type: optional> - total_count: - docs: '' - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPartState: - docs: >- - Indicates the current state of conversation when the conversation part was - created. - enum: - - open - - closed - - snoozed - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationRating: - docs: >- - 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: - contact: - type: optional - created_at: - docs: The time the rating was requested in the conversation being rated. - type: optional - rating: - docs: The rating, between 1 and 5, for the conversation. - type: optional - remark: - docs: An optional field to add a remark to correspond to the number rating - type: optional - teammate: - type: optional - updated_at: - docs: The time the rating was last updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationResponseTime: - docs: Details of first response time of assigned team in seconds. - properties: - response_time: - docs: First response time of assigned team in seconds. - type: optional - team_id: - docs: Id of the assigned team. - type: optional - team_name: - docs: >- - Name of the assigned Team, null if team does not exist, Unassigned if - no team is assigned. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationSource: - docs: >- - The type of the conversation part that started this conversation. Can be - Contact, Admin, Campaign, Automated or Operator initiated. - properties: - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: >- - The message body, which may contain HTML. For Twitter, this will show - a generic message regarding why the body is obscured. - type: optional - delivered_as: - docs: >- - 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). - type: optional - id: - docs: The id representing the message. - type: optional - redacted: - docs: >- - Whether or not the source message has been redacted. Only applicable - for contact initiated messages. - type: optional - subject: - docs: >- - Optional. The message subject. For Twitter, this will show a generic - message regarding why the subject is obscured. - type: optional - type: - docs: >- - This includes conversation, email, facebook, instagram, phone_call, - phone_switch, push, sms, twitter and whatsapp. - type: optional - url: - docs: >- - The URL where the conversation was started. For Twitter, Email, and - Bots, this will be blank. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationSourceType: - docs: >- - This includes conversation, email, facebook, instagram, phone_call, - phone_switch, push, sms, twitter and whatsapp. - enum: - - conversation - - email - - facebook - - instagram - - phone_call - - phone_switch - - push - - sms - - twitter - - whatsapp - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationStatistics: - docs: >- - A Statistics object containing all information required for reporting, - with timestamps and calculated metrics. - properties: - assigned_team_first_response_time_by_team: - docs: An array of conversation response time objects - type: optional> - assigned_team_first_response_time_in_office_hours: - docs: An array of conversation response time objects within office hours - type: optional> - count_assignments: - docs: Number of assignments after first_contact_reply_at. - type: optional - count_conversation_parts: - docs: Total number of conversation parts. - type: optional - count_reopens: - docs: Number of reopens after first_contact_reply_at. - type: optional - first_admin_reply_at: - docs: Time of first admin reply after first_contact_reply_at. - type: optional - first_assignment_at: - docs: Time of first assignment after first_contact_reply_at. - type: optional - first_close_at: - docs: Time of first close after first_contact_reply_at. - type: optional - first_contact_reply_at: - docs: Time of first text conversation part from a contact. - type: optional - handling_time: - docs: Time from conversation assignment to conversation close in seconds. - type: optional - last_admin_reply_at: - docs: Time of the last conversation part from an admin. - type: optional - last_assignment_admin_reply_at: - docs: Time of first admin reply since most recent assignment. - type: optional - last_assignment_at: - docs: Time of last assignment after first_contact_reply_at. - type: optional - last_close_at: - docs: Time of the last conversation close. - type: optional - last_closed_by_id: - docs: >- - The last admin who closed the conversation. Returns a reference to an - Admin object. - type: optional - last_contact_reply_at: - docs: Time of the last conversation part from a contact. - type: optional - median_time_to_reply: - docs: >- - Median based on all admin replies after a contact reply. Subtracts out - of business hours. In seconds. - type: optional - time_to_admin_reply: - docs: >- - Duration until first admin reply. Subtracts out of business hours. In - seconds. - type: optional - time_to_assignment: - docs: Duration until last assignment before first admin reply. In seconds. - type: optional - time_to_first_close: - docs: >- - Duration until conversation was closed first time. Subtracts out of - business hours. In seconds. - type: optional - time_to_last_close: - docs: >- - Duration until conversation was closed last time. Subtracts out of - business hours. In seconds. - type: optional - type: - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationTeammates: - docs: >- - The list of teammates who participated in the conversation (wrote at least - one conversation part). - properties: - teammates: - docs: >- - The list of teammates who participated in the conversation (wrote at - least one conversation part). - type: optional> - type: - docs: The type of the object - `admin.list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateArticleRequest: - docs: You can create an Article - properties: - author_id: - docs: >- - 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. - type: integer - body: - docs: >- - The content of the article. For multilingual articles, this will be - the body of the default language's content. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - docs: >- - 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. - type: optional - title: - docs: >- - The title of the article.For multilingual articles, this will be the - title of the default language's content. - type: string - translated_content: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateArticleRequestState: - docs: >- - 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 - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateDataAttributeRequest: - discriminated: false - docs: '' - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: CreateDataAttributeRequestOptions - - type: CreateDataAttributeRequestOne - CreateDataAttributeRequestOne: - inline: true - properties: - data_type: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateDataAttributeRequestOneDataType: - enum: - - string - - integer - - float - - boolean - - datetime - - date - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateDataAttributeRequestOptions: - inline: true - properties: - data_type: - type: optional> - options: - docs: >- - Array of objects representing the options of the list, with `value` as - the key and the option as the value. At least two options are - required. - type: list - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateDataAttributeRequestOptionsOptionsItem: - inline: true - properties: - value: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateInternalArticleRequest: - docs: You can create an Internal Article - properties: - author_id: - docs: The id of the author of the article. - type: integer - body: - docs: The content of the article. - type: optional - owner_id: - docs: The id of the owner of the article. - type: integer - title: - docs: The title of the article. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateOrUpdateCompanyRequest: - docs: You can create or update a Company - properties: - company_id: - docs: The company id you have defined for the company. Can't be updated - type: optional - custom_attributes: - docs: >- - A hash of key/value pairs containing any other data about the company - you want Intercom to store. - type: optional> - industry: - docs: The industry that this company operates in. - type: optional - monthly_spend: - docs: >- - 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.. - type: optional - name: - docs: The name of the Company - type: optional - plan: - docs: The name of the plan you have associated with the company. - type: optional - remote_created_at: - docs: The time the company was created by you. - type: optional - size: - docs: The number of employees in this company. - type: optional - website: - docs: >- - The URL for this company's website. Please note that the value - specified here is not validated. Accepts any string. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateOrUpdateTagRequest: - docs: You can create or update an existing tag. - properties: - id: - docs: The id of tag to updates. - type: optional - name: - docs: >- - 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. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreatePhoneSwitchRequest: - docs: You can create an phone switch - properties: - custom_attributes: - type: optional - phone: - docs: >- - Phone number in E.164 format, that will receive the SMS to continue - the conversation in the Messenger. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketReplyWithCommentRequest: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: ContactReplyTicketRequest - - type: AdminReplyTicketRequest - CreateTicketRequestAssignment: - inline: true - properties: - admin_assignee_id: - docs: >- - The ID of the admin to which the ticket is assigned. If not provided, - the ticket will be unassigned. - type: optional - team_assignee_id: - docs: >- - The ID of the team to which the ticket is assigned. If not provided, - the ticket will be unassigned. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketRequestBody: - docs: You can create a Ticket - properties: - assignment: - type: optional - company_id: - docs: >- - The ID of the company that the ticket is associated with. The unique - identifier for the company which is given by Intercom - type: optional - contacts: - docs: >- - The list of contacts (users or leads) affected by this ticket. - Currently only one is allowed - type: list - conversation_to_link_id: - docs: >- - The ID of the conversation you want to link to the ticket. Here are - the valid ways of linking two tickets: - - conversation | back-office ticket - - customer tickets | non-shared back-office ticket - - conversation | tracker ticket - - customer ticket | tracker ticket - type: optional - created_at: - docs: >- - The time the ticket was created. If not provided, the current time - will be used. - type: optional - ticket_type_id: - docs: The ID of the type of ticket you want to create - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketRequestContactsItem: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: CreateTicketRequestContactsItemId - - type: CreateTicketRequestContactsItemExternalId - - type: CreateTicketRequestContactsItemEmail - CreateTicketRequestContactsItemEmail: - inline: true - properties: - email: - docs: >- - 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. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketRequestContactsItemExternalId: - inline: true - properties: - external_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketRequestContactsItemId: - inline: true - properties: - id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketTypeRequest: - docs: | - 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/) - properties: - category: - docs: Category of the Ticket Type. - type: optional - description: - docs: The description of the ticket type. - type: optional - icon: - default: 🎟️ - docs: The icon of the ticket type. - type: optional - is_internal: - default: false - docs: >- - 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. - type: optional - name: - docs: The name of the ticket type. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateTicketTypeRequestCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CursorPages: - docs: > - 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. - properties: - next: - type: optional - page: - docs: The current page - type: optional - per_page: - docs: Number of results per page - type: optional - total_pages: - docs: Total number of pages - type: optional - type: - docs: the type of object `pages`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomActionFinished: - docs: >- - Contains details about final status of the completed action for - conversation part type custom_action_finished. - properties: - action: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomActionFinishedAction: - inline: true - properties: - name: - docs: Name of the action - type: optional - result: - docs: Status of the action - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomActionFinishedActionResult: - docs: Status of the action - enum: - - success - - failed - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomActionStarted: - docs: >- - Contains details about name of the action that was initiated for - conversation part type custom_action_started. - properties: - action: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomActionStartedAction: - inline: true - properties: - name: - docs: Name of the action - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomAttributes: - docs: >- - 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. - type: map - CustomAttributesValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - string - - integer - - Datetime - - type: CustomObjectInstanceList - CustomChannelAttribute: - properties: - id: - docs: Identifier for the attribute being collected. - type: string - value: - docs: Value provided by the user for the attribute. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomChannelBaseEvent: - properties: - contact: - type: CustomChannelContact - event_id: - docs: Unique identifier for the event. - type: string - external_conversation_id: - docs: Identifier for the conversation in your application. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomChannelContact: - properties: - email: - docs: Email address of the contact. Required for user type. - type: optional - validation: - format: email - external_id: - docs: >- - External identifier for the contact. Intercom will take care of the - mapping of your external_id with our internal ones so you don't have - to worry about it. - type: string - name: - docs: Name of the contact. Required for user type. - type: optional - type: - docs: Type of contact, must be "user" or "lead". - type: CustomChannelContactType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomChannelContactType: - docs: Type of contact, must be "user" or "lead". - enum: - - user - - lead - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomChannelNotificationResponse: - properties: - contact_id: - docs: The Intercom contact ID mapped to the external contact ID - type: string - conversation_id: - docs: The Intercom conversation ID mapped to the external conversation ID - type: string - external_contact_id: - docs: The external contact ID provided in the notification request - type: string - external_conversation_id: - docs: The external conversation ID provided in the notification request - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomerRequest: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: CustomerRequestIntercomUserId - - type: CustomerRequestUserId - - type: CustomerRequestEmail - CustomerRequestEmail: - inline: true - properties: - email: - docs: >- - The email you have defined for the contact who is being added as a - participant. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomerRequestIntercomUserId: - inline: true - properties: - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomerRequestUserId: - inline: true - properties: - user_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomObjectInstanceDeleted: - docs: deleted custom object instance object - properties: - deleted: - docs: Whether the Custom Object instance is deleted or not. - type: optional - id: - docs: The Intercom defined id representing the Custom Object instance. - type: optional - object: - docs: >- - The unique identifier of the Custom Object type that defines the - structure of the Custom Object instance. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CustomObjectInstanceList: - docs: >- - The list of associated custom object instances for a given reference - attribute on the parent object. - properties: - instances: - docs: >- - The list of associated custom object instances for a given reference - attribute on the parent object. - type: >- - optional>> - type: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataAttributeList: - docs: >- - A list of all data attributes belonging to a workspace for contacts, - companies or conversations. - properties: - data: - docs: A list of data attributes - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataEventList: - docs: This will return a list of data events for the App. - properties: - events: - docs: A list of data events - type: optional> - pages: - docs: Pagination - type: optional - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataEventListPages: - docs: Pagination - inline: true - properties: - next: optional - since: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataEventSummary: - docs: This will return a summary of data events for the App. - properties: - email: - docs: The email address of the user - type: optional - events: - docs: A summary of data events - type: optional>> - intercom_user_id: - docs: The Intercom user ID of the user - type: optional - type: - docs: The type of the object - type: optional> - user_id: - docs: The user ID of the user - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataEventSummaryItem: - docs: This will return a summary of a data event for the App. - properties: - count: - docs: The number of times the event was sent - type: optional - description: - docs: The description of the event - type: optional - first: - docs: The first time the event was sent - type: optional - last: - docs: The last time the event was sent - type: optional - name: - docs: The name of the event - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataExportCsv: - docs: A CSV output file - properties: - company_id: - docs: >- - The company ID of the user in relation to the message that was sent. - Will return -1 if no company is present. - type: optional - content_id: - docs: >- - The specific content that was received. In an A/B test each version - has its own Content ID. - type: optional - content_title: - docs: The title of the content you see in your Intercom workspace. - type: optional - content_type: - docs: Email, Chat, Post etc. - type: optional - email: - docs: The users email who was sent the message. - type: optional - first_click: - docs: >- - The first time the series the user clicked on a link within this - message. - type: optional - first_completion: - docs: >- - The first time a user completed this message if the content was able - to be completed e.g. Tours, Surveys. - type: optional - first_dismisall: - docs: The first time the series the user dismissed this message. - type: optional - first_goal_success: - docs: >- - The first time the user met this messages associated goal if one - exists. - type: optional - first_hard_bounce: - docs: The first time this message hard bounced for this user - type: optional - first_open: - docs: The first time the user opened this message. - type: optional - first_reply: - docs: >- - The first time a user replied to this message if the content was able - to receive replies. - type: optional - first_series_completion: - docs: >- - The first time the series this message was a part of was completed by - the user. - type: optional - first_series_disengagement: - docs: >- - The first time the series this message was a part of was disengaged by - the user. - type: optional - first_series_exit: - docs: >- - The first time the series this message was a part of was exited by the - user. - type: optional - first_unsubscribe: - docs: The first time the user unsubscribed from this message. - type: optional - name: - docs: The full name of the user receiving the message - type: optional - node_id: - docs: >- - The id of the series node that this ruleset is associated with. Each - block in a series has a corresponding node_id. - type: optional - receipt_id: - docs: >- - ID for this receipt. Will be included with any related stats in other - files to identify this specific delivery of a message. - type: optional - received_at: - docs: Timestamp for when the receipt was recorded. - type: optional - ruleset_id: - docs: The id of the message. - type: optional - ruleset_version_id: - docs: >- - As you edit content we record new versions. This ID can help you - determine which version of a piece of content that was received. - type: optional - series_id: - docs: >- - The id of the series that this content is part of. Will return -1 if - not part of a series. - type: optional - series_title: - docs: The title of the series that this content is part of. - type: optional - user_external_id: - docs: The external_user_id of the user who was sent the message - type: optional - user_id: - docs: The user_id of the user who was sent the message. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Datetime: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - docs: A date and time following the ISO8601 notation. - type: datetime - - docs: A date and time as UNIX timestamp notation. - type: integer - DeletedArticleObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the article was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the article which you provided in the URL. - type: optional - object: - docs: The type of object which was deleted. - article - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DeletedCollectionObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the collection was deleted successfully or not. - type: optional - id: - docs: >- - The unique identifier for the collection which you provided in the - URL. - type: optional - object: - docs: The type of object which was deleted. - `collection` - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DeletedCompanyObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the company was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the company which is given by Intercom. - type: optional - object: - docs: The type of object which was deleted. - `company` - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DeletedInternalArticleObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the internal article was deleted successfully or not. - type: optional - id: - docs: >- - The unique identifier for the internal article which you provided in - the URL. - type: optional - object: - docs: The type of object which was deleted. - internal_article - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DeletedObject: - docs: Response returned when an object is deleted - properties: - deleted: - docs: Whether the news item was deleted successfully or not. - type: optional - id: - docs: The unique identifier for the news item which you provided in the URL. - type: optional - object: - docs: The type of object which was deleted - news-item. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - EmailAddressHeader: - docs: >- - Contains data for an email address header for a conversation part that was - sent as an email. - properties: - email_address: - docs: The email address - type: optional - name: - docs: The name associated with the email address - type: optional - type: - docs: The type of email address header - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - EmailMessageMetadata: - docs: Contains metadata if the message was sent as an email - properties: - email_address_headers: - docs: A list of an email address headers. - type: optional> - subject: - docs: The subject of the email - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Error: - docs: >- - The API will return an Error List for a failed request, which will contain - one or more Error objects. - properties: - errors: - docs: An array of one or more error objects - type: list - request_id: - docs: '' - type: optional - validation: - format: uuid - type: - docs: The type is error.list - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ErrorErrorsItem: - inline: true - properties: - code: - docs: >- - A string indicating the kind of error, used to further qualify the - HTTP response code - type: string - field: - docs: >- - Optional. Used to identify a particular field or query parameter that - was in error. - type: optional - message: - docs: Optional. Human readable description of the error. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - EventDetails: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: ConversationAttributeUpdatedByWorkflow - - type: ConversationAttributeUpdatedByAdmin - - type: CustomActionStarted - - type: CustomActionFinished - - type: OperatorWorkflowEvent - FileAttribute: - docs: The value describing a file upload set for a custom attribute - properties: - content_type: - docs: The type of file - type: optional - filesize: - docs: The size of the file in bytes - type: optional - height: - docs: The height of the file in pixels, if applicable - type: optional - name: - docs: The name of the file - type: optional - type: - type: optional - url: - docs: >- - The url of the file. This is a temporary URL and will expire after 30 - minutes. - type: optional - width: - docs: The width of the file in pixels, if applicable - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - GroupContent: - docs: The Content of a Group. - properties: - description: - docs: The description of the collection. Only available for collections. - type: optional - name: - docs: The name of the collection or section. - type: optional - type: - docs: The type of object - `group_content` . - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - GroupTranslatedContent: - docs: >- - The Translated Content of an Group. The keys are the locale codes and the - values are the translated content of the Group. - properties: - ar: - docs: The content of the group in Arabic - type: optional - bg: - docs: The content of the group in Bulgarian - type: optional - bs: - docs: The content of the group in Bosnian - type: optional - ca: - docs: The content of the group in Catalan - type: optional - cs: - docs: The content of the group in Czech - type: optional - da: - docs: The content of the group in Danish - type: optional - de: - docs: The content of the group in German - type: optional - el: - docs: The content of the group in Greek - type: optional - en: - docs: The content of the group in English - type: optional - es: - docs: The content of the group in Spanish - type: optional - et: - docs: The content of the group in Estonian - type: optional - fi: - docs: The content of the group in Finnish - type: optional - fr: - docs: The content of the group in French - type: optional - he: - docs: The content of the group in Hebrew - type: optional - hr: - docs: The content of the group in Croatian - type: optional - hu: - docs: The content of the group in Hungarian - type: optional - id: - docs: The content of the group in Indonesian - type: optional - it: - docs: The content of the group in Italian - type: optional - ja: - docs: The content of the group in Japanese - type: optional - ko: - docs: The content of the group in Korean - type: optional - lt: - docs: The content of the group in Lithuanian - type: optional - lv: - docs: The content of the group in Latvian - type: optional - mn: - docs: The content of the group in Mongolian - type: optional - nb: - docs: The content of the group in Norwegian - type: optional - nl: - docs: The content of the group in Dutch - type: optional - pl: - docs: The content of the group in Polish - type: optional - pt: - docs: The content of the group in Portuguese (Portugal) - type: optional - pt-BR: - docs: The content of the group in Portuguese (Brazil) - type: optional - ro: - docs: The content of the group in Romanian - type: optional - ru: - docs: The content of the group in Russian - type: optional - sl: - docs: The content of the group in Slovenian - type: optional - sr: - docs: The content of the group in Serbian - type: optional - sv: - docs: The content of the group in Swedish - type: optional - tr: - docs: The content of the group in Turkish - type: optional - type: - docs: The type of object - group_translated_content. - type: optional - vi: - docs: The content of the group in Vietnamese - type: optional - zh-CN: - docs: The content of the group in Chinese (China) - type: optional - zh-TW: - docs: The content of the group in Chinese (Taiwan) - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - IntercomVersion: - default: Unstable - docs: >- - Intercom API version.
By default, it's equal to the version set in the - app package. - enum: - - name: One0 - value: '1.0' - - name: One1 - value: '1.1' - - name: One2 - value: '1.2' - - name: One3 - value: '1.3' - - name: One4 - value: '1.4' - - name: Two0 - value: '2.0' - - name: Two1 - value: '2.1' - - name: Two2 - value: '2.2' - - name: Two3 - value: '2.3' - - name: Two4 - value: '2.4' - - name: Two5 - value: '2.5' - - name: Two6 - value: '2.6' - - name: Two7 - value: '2.7' - - name: Two8 - value: '2.8' - - name: Two9 - value: '2.9' - - name: Two10 - value: '2.10' - - name: Two11 - value: '2.11' - - name: Two12 - value: '2.12' - - name: Two13 - value: '2.13' - - name: Two14 - value: '2.14' - - Unstable - source: - openapi: ../descriptions/0/api.intercom.io.yaml - IntercomVersionUnstable: - docs: >- - Unstable Intercom API version. Used for closed beta endpoints or other - features under managed availability. - type: literal<"unstable"> - InternalArticleList: - docs: This will return a list of internal articles for the App. - properties: - data: - docs: An array of Internal Article objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of internal articles. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LinkedObject: - docs: A linked conversation or ticket. - properties: - category: - docs: Category of the Linked Ticket Object. - type: optional - id: - docs: The ID of the linked object - type: optional - type: - docs: ticket or conversation - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LinkedObjectList: - docs: >- - An object containing metadata about linked conversations and linked - tickets. Up to 1000 can be returned. - properties: - data: - docs: An array containing the linked conversations and linked tickets. - type: optional> - has_more: - docs: Whether or not there are more linked objects than returned. - type: optional - total_count: - docs: The total number of linked objects. - type: optional - type: - docs: Always list. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LinkedObjectType: - docs: ticket or conversation - enum: - - ticket - - conversation - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MultipleFilterSearchRequest: - docs: Search using Intercoms Search APIs with more than one filter. - properties: - operator: - docs: An operator to allow boolean inspection between multiple fields. - type: optional - value: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MultipleFilterSearchRequestOperator: - docs: An operator to allow boolean inspection between multiple fields. - enum: - - AND - - OR - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MultipleFilterSearchRequestValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - docs: Add mutiple filters. - type: list - - docs: Add a single filter field. - type: list - NewsItemRequest: - docs: >- - 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: - body: - docs: The news item body, which may contain HTML. - type: optional - deliver_silently: - docs: >- - When set to `true`, the news item will appear in the messenger - newsfeed without showing a notification badge. - type: optional - labels: - docs: Label names displayed to users to categorize the news item. - type: optional> - newsfeed_assignments: - docs: A list of newsfeed_assignments to assign to the specified newsfeed. - type: optional> - reactions: - docs: >- - Ordered list of emoji reactions to the news item. When empty, - reactions are disabled. - type: optional>> - sender_id: - docs: >- - The id of the sender of the news item. Must be a teammate on the - workspace. - type: integer - state: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - type: optional - title: - docs: The title of the news item. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NewsItemRequestState: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - enum: - - draft - - live - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NoteList: - docs: A paginated list of notes associated with a contact. - properties: - data: - docs: An array of notes. - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of notes. - type: optional - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NotFoundErrorBody: - properties: - errors: - docs: An array of one or more error objects - type: list - request_id: - docs: '' - type: optional - validation: - format: uuid - type: - docs: The type is error.list - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NotFoundErrorBodyErrorsItem: - inline: true - properties: - code: - docs: ticket_not_found - type: string - message: - docs: Ticket not found - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - OpenConversationRequest: - docs: Payload of the request to open a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - OperatorWorkflowEvent: - docs: >- - Contains details about name of the workflow for conversation part type - operator_workflow_event. - properties: - event: - type: optional - workflow: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - OperatorWorkflowEventEvent: - inline: true - properties: - result: - docs: Result of the workflow event - type: optional - type: - docs: Type of the workflow event initiated - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - OperatorWorkflowEventWorkflow: - inline: true - properties: - name: - docs: The name of the workflow - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PagesLink: - docs: > - 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: - next: - docs: >- - A link to the next page of results. A response that does not contain a - next link does not have further data to fetch. - type: optional - validation: - format: uri - page: - type: optional - per_page: - type: optional - total_pages: - type: optional - type: - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PaginatedResponse: - docs: Paginated Response - properties: - data: - docs: An array of Objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: The type of object - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PaginatedResponseDataItem: - base-properties: {} - discriminant: type - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - news-item: - type: unstableNews.NewsItem - newsfeed: - type: unstableNews.Newsfeed - PaginatedResponseType: - docs: The type of object - enum: - - list - - name: ConversationList - value: conversation.list - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PartAttachment: - docs: The file attached to a part - properties: - content_type: - docs: The content type of the attachment - type: optional - filesize: - docs: The size of the attachment - type: optional - height: - docs: The height of the attachment - type: optional - name: - docs: The name of the attachment - type: optional - type: - docs: The type of attachment - type: optional - url: - docs: The URL of the attachment - type: optional - width: - docs: The width of the attachment - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PhoneSwitch: - docs: Phone Switch Response - properties: - phone: - docs: >- - Phone number in E.164 format, that has received the SMS to continue - the conversation in the Messenger. - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - QuickReplyOption: - properties: - text: - docs: The text to display in this quick reply option. - type: string - uuid: - docs: >- - A unique identifier for this quick reply option. This value will be - available within the metadata of the comment conversation part that is - created when a user clicks on this reply option. - type: string - validation: - format: uuid - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Recipient: - docs: A recipient of a message - properties: - id: - docs: The identifier for the contact which is given by Intercom. - type: string - type: - docs: The role associated to the contact - `user` or `lead`. - type: RecipientType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - RecipientType: - docs: The role associated to the contact - `user` or `lead`. - enum: - - user - - lead - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - RedactConversationRequest: - base-properties: {} - discriminant: type - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - conversation_part: - docs: Payload of the request to redact a conversation part - type: RedactConversationRequestConversationPart - source: - docs: Payload of the request to redact a conversation source - type: RedactConversationRequestSource - RedactConversationRequestConversationPart: - docs: Payload of the request to redact a conversation part - inline: true - properties: - conversation_id: - docs: The id of the conversation. - type: string - conversation_part_id: - docs: The id of the conversation_part. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - RedactConversationRequestSource: - docs: Payload of the request to redact a conversation source - inline: true - properties: - conversation_id: - docs: The id of the conversation. - type: string - source_id: - docs: The id of the source. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Reference: - docs: reference to another object - properties: - id: - docs: '' - type: optional - type: - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ReplyConversationRequestBody: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: ContactReplyConversationRequest - - type: AdminReplyConversationRequest - SearchRequest: - docs: Search using Intercoms Search APIs. - properties: - pagination: - type: optional - query: SearchRequestQuery - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SearchRequestQuery: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: SingleFilterSearchRequest - - type: MultipleFilterSearchRequest - SegmentList: - docs: >- - This will return a list of Segment Objects. The result may also have a - pages object if the response is paginated. - properties: - pages: - docs: >- - A pagination object, which may be empty, indicating no further pages - to fetch. - type: optional> - segments: - docs: A list of Segment objects - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SingleFilterSearchRequest: - docs: Search using Intercoms Search APIs with a single filter. - properties: - field: - docs: The accepted field that you want to search on. - type: optional - operator: - docs: >- - The accepted operators you can use to define how you want to search - for the value. - type: optional - value: - docs: The value that you want to search on. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SingleFilterSearchRequestOperator: - docs: >- - The accepted operators you can use to define how you want to search for - the value. - enum: - - name: EQUAL_TO - value: '=' - - name: NOT_EQUALS - value: '!=' - - IN - - NIN - - name: LESS_THAN - value: < - - name: GREATER_THAN - value: '>' - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SingleFilterSearchRequestValue: - discriminated: false - docs: The value that you want to search on. - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - string - - integer - - list - SingleFilterSearchRequestValueItem: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - string - - integer - SlaApplied: - docs: > - 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: - sla_name: - docs: The name of the SLA as given by the teammate when it was created. - type: optional - sla_status: - docs: |- - 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. - type: optional - type: - docs: object type - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SlaAppliedSlaStatus: - docs: |- - 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. - enum: - - hit - - missed - - cancelled - - active - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SnoozeConversationRequest: - docs: Payload of the request to snooze a conversation - properties: - admin_id: - docs: The id of the admin who is performing the action. - type: string - snoozed_until: - docs: The time you want the conversation to reopen. - type: integer - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SocialProfile: - docs: >- - A Social Profile allows you to label your contacts, companies, and - conversations and list them using that Social Profile. - properties: - name: - docs: The name of the Social media profile - type: optional - type: - docs: value is "social_profile" - type: optional - url: - docs: The name of the Social media profile - type: optional - validation: - format: uri - source: - openapi: ../descriptions/0/api.intercom.io.yaml - StartingAfterPaging: - properties: - per_page: - docs: The number of results to fetch per page. - type: optional - starting_after: - docs: The cursor to use in the next request to get the next page of results. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SubscriptionTypeList: - docs: A list of subscription type objects. - properties: - data: - docs: A list of subscription type objects associated with the workspace . - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagCompanyRequest: - docs: You can tag a single company or a list of companies. - properties: - companies: - docs: The id or company_id of the company can be passed as input parameters. - type: list - name: - docs: The name of the tag, which will be created if not found. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagCompanyRequestCompaniesItem: - inline: true - properties: - company_id: - docs: The company id you have defined for the company. - type: optional - id: - docs: The Intercom defined id representing the company. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagList: - docs: A list of tags objects in the workspace. - properties: - data: - docs: A list of tags objects associated with the workspace . - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagMultipleUsersRequest: - docs: You can tag a list of users. - properties: - name: - docs: The name of the tag, which will be created if not found. - type: string - users: list - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagMultipleUsersRequestUsersItem: - inline: true - properties: - id: - docs: The Intercom defined id representing the user. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Tags: - docs: A list of tags objects associated with a conversation - properties: - tags: - docs: A list of tags objects associated with the conversation. - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TeamList: - docs: This will return a list of team objects for the App. - properties: - teams: - docs: A list of team objects - type: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TeamPriorityLevel: - docs: Admin priority levels for teams - properties: - primary_team_ids: - docs: The primary team ids for the team - type: optional> - secondary_team_ids: - docs: The secondary team ids for the team - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketCustomAttributes: - docs: >- - 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_`. - type: map - TicketCustomAttributesValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - optional - - double - - boolean - - list - - type: FileAttribute - TicketList: - docs: Tickets are how you track requests from your users. - properties: - pages: - type: optional - tickets: - docs: The list of ticket objects - type: optional>> - total_count: - docs: A count of the total number of objects. - type: optional - type: - docs: Always ticket.list - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartAuthor: - docs: >- - The author that wrote or triggered the part. Can be a bot, admin, team or - user. - properties: - email: - docs: The email of the author - type: optional - validation: - format: email - id: - docs: The id of the author - type: optional - name: - docs: The name of the author - type: optional - type: - docs: The type of the author - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartAuthorType: - docs: The type of the author - enum: - - admin - - bot - - team - - user - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketParts: - docs: >- - A list of Ticket Part objects for each note and event in the ticket. There - is a limit of 500 parts. - properties: - ticket_parts: - docs: >- - A list of Ticket Part objects for each ticket. There is a limit of 500 - parts. - type: optional> - total_count: - docs: '' - type: optional - type: - docs: '' - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketReply: - docs: A Ticket Part representing a note, comment, or quick_reply on a ticket - properties: - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: The message body, which may contain HTML. - type: optional - created_at: - docs: The time the note was created. - type: optional - id: - docs: The id representing the part. - type: optional - part_type: - docs: Type of the part - type: optional - redacted: - docs: Whether or not the ticket part has been redacted. - type: optional - type: - docs: Always ticket_part - type: optional> - updated_at: - docs: The last time the note was updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketReplyPartType: - docs: Type of the part - enum: - - note - - comment - - quick_reply - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketRequestCustomAttributes: - docs: >- - 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`). - type: map - TicketRequestCustomAttributesValue: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - optional - - double - - boolean - - list - TicketStateList: - docs: A list of ticket states associated with a given ticket type. - properties: - data: - docs: A list of ticket states associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketTypeAttribute: - docs: >- - Ticket type attribute, used to define each data field to be captured in a - ticket. - properties: - archived: - docs: Whether the ticket type attribute is archived or not. - type: optional - created_at: - docs: The date and time the ticket type attribute was created. - type: optional - data_type: - docs: >- - The type of the data attribute (allowed values: "string list integer - decimal boolean datetime files") - type: optional - default: - docs: Whether the attribute is built in or not. - type: optional - description: - docs: The description of the ticket type attribute - type: optional - id: - docs: The id representing the ticket type attribute. - type: optional - input_options: - docs: Input options for the attribute - type: optional> - name: - docs: The name of the ticket type attribute - type: optional - order: - docs: The order of the attribute against other attributes - type: optional - required_to_create: - default: false - docs: Whether the attribute is required or not for teammates. - type: optional - required_to_create_for_contacts: - default: false - docs: Whether the attribute is required or not for contacts. - type: optional - ticket_type_id: - docs: The id of the ticket type that the attribute belongs to. - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type_attribute`. - type: optional - updated_at: - docs: The date and time the ticket type attribute was last updated. - type: optional - visible_on_create: - default: true - docs: Whether the attribute is visible or not to teammates. - type: optional - visible_to_contacts: - default: true - docs: Whether the attribute is visible or not to contacts. - type: optional - workspace_id: - docs: The id of the workspace that the ticket type attribute belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketTypeAttributeList: - docs: A list of attributes associated with a given ticket type. - properties: - ticket_type_attributes: - docs: A list of ticket type attributes associated with a given ticket type. - type: optional>> - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type_attributes.list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketTypeList: - docs: A list of ticket types associated with a given workspace. - properties: - data: - docs: A list of ticket_types associated with a given workspace. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Translation: - docs: >- - A translation object contains the localised details of a subscription - type. - properties: - description: - docs: The localised description of the subscription type. - type: optional - locale: - docs: >- - The two character identifier for the language of the translation - object. - type: optional - name: - docs: The localised name of the subscription type. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UntagCompanyRequest: - docs: You can tag a single company or a list of companies. - properties: - companies: - docs: The id or company_id of the company can be passed as input parameters. - type: list - name: - docs: The name of the tag which will be untagged from the company - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UntagCompanyRequestCompaniesItem: - inline: true - properties: - company_id: - docs: The company id you have defined for the company. - type: optional - id: - docs: The Intercom defined id representing the company. - type: optional - untag: - docs: Always set to true - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateArticleRequestBody: - docs: You can Update an Article - properties: - author_id: - docs: >- - 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. - type: optional - body: - docs: >- - The content of the article. For multilingual articles, this will be - the body of the default language's content. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - docs: >- - 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. - type: optional - title: - docs: >- - The title of the article.For multilingual articles, this will be the - title of the default language's content. - type: optional - translated_content: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateArticleRequestState: - docs: >- - 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 - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateDataAttributeRequest: - discriminated: false - docs: '' - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: UpdateDataAttributeRequestOptions - - unknown - UpdateDataAttributeRequestOptions: - inline: true - properties: - options: - docs: >- - Array of objects representing the options of the list, with `value` as - the key and the option as the value. At least two options are - required. - type: list - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateDataAttributeRequestOptionsOptionsItem: - inline: true - properties: - value: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateTicketTypeRequestBody: - docs: > - 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/) - properties: - archived: - docs: The archived status of the ticket type. - type: optional - category: - docs: Category of the Ticket Type. - type: optional - description: - docs: The description of the ticket type. - type: optional - icon: - default: 🎟️ - docs: The icon of the ticket type. - type: optional - is_internal: - default: false - docs: >- - 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. - type: optional - name: - docs: The name of the ticket type. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateTicketTypeRequestCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Visitor: - docs: >- - 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. - properties: - anonymous: - docs: Identifies if this visitor is anonymous. - type: optional - app_id: - docs: The id of the app the visitor is associated with. - type: optional - avatar: - type: optional - companies: - type: optional - created_at: - docs: The time the Visitor was added to Intercom. - type: optional - custom_attributes: - docs: The custom attributes you have set on the Visitor. - type: optional> - do_not_track: - docs: Identifies if this visitor has do not track enabled. - type: optional - email: - docs: The email of the visitor. - type: optional - validation: - format: email - has_hard_bounced: - docs: Identifies if this visitor has had a hard bounce. - type: optional - id: - docs: The Intercom defined id representing the Visitor. - type: optional - las_request_at: - docs: The time the Lead last recorded making a request. - type: optional - location_data: - type: optional - marked_email_as_spam: - docs: Identifies if this visitor has marked an email as spam. - type: optional - name: - docs: The name of the visitor. - type: optional - owner_id: - docs: The id of the admin that owns the Visitor. - type: optional - phone: - docs: The phone number of the visitor. - type: optional - pseudonym: - docs: The pseudonym of the visitor. - type: optional - referrer: - docs: The referer of the visitor. - type: optional - remote_created_at: - docs: The time the Visitor was added to Intercom. - type: optional - segments: - type: optional - session_count: - docs: The number of sessions the Visitor has had. - type: optional - signed_up_at: - docs: The time the Visitor signed up for your product. - type: optional - social_profiles: - type: optional - tags: - type: optional - type: - default: visitor - docs: Value is 'visitor' - type: optional - unsubscribed_from_emails: - docs: Whether the Visitor is unsubscribed from emails. - type: optional - updated_at: - docs: The last time the Visitor was updated. - type: optional - user_id: - docs: Automatically generated identifier for the Visitor. - type: optional - utm_campaign: - docs: The utm_campaign of the visitor. - type: optional - utm_content: - docs: The utm_content of the visitor. - type: optional - utm_medium: - docs: The utm_medium of the visitor. - type: optional - utm_source: - docs: The utm_source of the visitor. - type: optional - utm_term: - docs: The utm_term of the visitor. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorAvatar: - inline: true - properties: - image_url: - docs: This object represents the avatar associated with the visitor. - type: optional - validation: - format: uri - type: - default: avatar - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorCompanies: - inline: true - properties: - companies: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorDeletedObject: - docs: Response returned when an object is deleted - properties: - id: - docs: The unique identifier for the visitor which is given by Intercom. - type: optional - type: - docs: The type of object which was deleted - type: optional> - user_id: - docs: Automatically generated identifier for the Visitor. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorLocationData: - inline: true - properties: - city_name: - docs: The city name of the visitor. - type: optional - continent_code: - docs: The continent code of the visitor. - type: optional - country_code: - docs: The country code of the visitor. - type: optional - country_name: - docs: The country name of the visitor. - type: optional - postal_code: - docs: The postal code of the visitor. - type: optional - region_name: - docs: The region name of the visitor. - type: optional - timezone: - docs: The timezone of the visitor. - type: optional - type: - default: location_data - docs: '' - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorSegments: - inline: true - properties: - segments: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorSocialProfiles: - inline: true - properties: - social_profiles: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorTags: - inline: true - properties: - tags: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - VisitorTagsTagsItem: - inline: true - properties: - id: - docs: The id of the tag. - type: optional - name: - docs: The name of the tag. - type: optional - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - WhatsappMessageStatusList: - properties: - events: list - pages: WhatsappMessageStatusListPages - ruleset_id: - docs: The provided ruleset ID - type: string - total_count: - docs: Total number of events - type: integer - type: literal<"list"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - WhatsappMessageStatusListEventsItem: - inline: true - properties: - conversation_id: - docs: ID of the conversation - type: string - created_at: - docs: Creation timestamp - type: integer - id: - docs: Event ID - type: string - status: - docs: Current status of the message - type: WhatsappMessageStatusListEventsItemStatus - template_name: - docs: Name of the WhatsApp template used - type: optional - type: - docs: Event type - type: literal<"broadcast_outbound"> - updated_at: - docs: Last update timestamp - type: integer - whatsapp_message_id: - docs: WhatsApp's message identifier - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - WhatsappMessageStatusListEventsItemStatus: - docs: Current status of the message - enum: - - sent - - delivered - - read - - failed - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - WhatsappMessageStatusListPages: - inline: true - properties: - next: - docs: Information for fetching next page (null if no more pages) - type: optional - per_page: - docs: Number of results per page - type: integer - total_pages: - docs: Total number of pages - type: integer - type: literal<"pages"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - WhatsappMessageStatusListPagesNext: - docs: Information for fetching next page (null if no more pages) - inline: true - properties: - starting_after: - docs: Cursor for the next page - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -errors: - BadRequestError: - docs: Bad Request - examples: - - name: Example of an invalid away_status_reason_id - value: - errors: - - code: parameter_invalid - message: Away status reason is deleted - type: error.list - - name: >- - Example of a missing away_status_reason_id when away reasons are - mandatory - value: - errors: - - code: away_status_reason_mandatory - message: Away status reason is mandatory - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: >- - author_id must be in the main body or default locale - translated_content object - request_id: e522ca8a-cd15-404e-84b3-7f7536003d4a - type: error.list - - name: No dataset_id - value: - errors: - - code: bad_request - message: '''dataset_id'' is a required parameter' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Invalid dataset_id - value: - errors: - - code: bad_request - message: imaginary is not a valid dataset_id - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: No attribute_ids - value: - errors: - - code: bad_request - message: '''attribute_ids'' is a required parameter' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Empty attribute_ids - value: - errors: - - code: bad_request - message: attribute_ids must contain at least one attribute_id - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Non array attribute_ids - value: - errors: - - code: bad_request - message: '''attribute_ids'' not an array must be of type Array' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Invalid attribute_ids - value: - errors: - - code: bad_request - message: 'attribute_ids invalid for conversation dataset: non_existent' - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: Name is a required parameter. - request_id: 816186b3-3187-4b47-adf8-e201bea32208 - type: error.list - - name: Bad Request - value: - errors: - - code: bad_request - message: bad 'test' parameter - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_not_found - message: company not specified - request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a - type: error.list - - name: Bad request - value: - errors: - - code: parameter_invalid - message: Ticket type is not a customer ticket type - request_id: 450e0b22-ccc2-40dd-bf54-bc0faaa28f57 - type: error.list - - name: BadRequest - value: - errors: - - code: data_invalid - message: Contact not found or could not be created - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Same name already exists - value: - 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. - request_id: da2a7037-11f4-4fcc-8d19-27da3b3a4336 - type: error.list - - name: Invalid name - value: - errors: - - code: parameter_invalid - message: >- - Your name for this attribute must only contain alphanumeric - characters, currency symbols, and hyphens - request_id: 1c45cfd9-ffd1-4e3e-9f7a-2ac99abdf03d - type: error.list - - name: Attribute already exists - value: - 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. - request_id: 55999605-a170-4894-a3d0-090c4fee8d11 - type: error.list - - name: Invalid Data Type - value: - errors: - - code: parameter_invalid - message: Data Type isn't an option - request_id: e0a9ccc7-a540-4ef0-8ffc-28ab86658b04 - type: error.list - - name: Too few options for list - value: - errors: - - code: parameter_invalid - message: The Data Attribute model field must be either contact or company - request_id: 6544ccf8-435d-49e1-91ed-e49356f14255 - type: error.list - - name: Too few options in list - value: - errors: - - code: parameter_invalid - message: Options isn't an array - request_id: 37cff4c5-5e1a-4958-a2ba-149b09d1915c - type: error.list - - name: Invalid parameter - value: - errors: - - code: parameter_invalid - message: Invalid updated_since timestamp - request_id: bc300b1a-492a-405f-924e-a5881cb72e3a - type: error.list - - name: No body supplied for message - value: - errors: - - code: parameter_invalid - message: Body is required - request_id: 3f3e74cc-65af-4408-9bf5-9e71b55c8166 - type: error.list - - name: No body supplied for email message - value: - errors: - - code: parameter_invalid - message: Body is required - request_id: 2d6abc61-1441-4860-9ef0-777852f8b24f - type: error.list - - name: Invalid body supplied for sms message - value: - errors: - - code: parameter_invalid - message: Invalid SMS message body - request_id: d7997515-65af-4860-9bf5-777852f8b24f - type: error.list - - name: missing ruleset_id - value: - message: ruleset_id is required - request_id: req_123 - type: error - - name: bad request - exception sending sms - value: - error_key: sms_failed - message: SMS was not sent due to an unknown error - - name: bad request - invalid number - value: - error_key: invalid_phone_number - message: Invalid phone number - - name: too_many_ids - value: - errors: - - code: conversation_id_limit_exceeded - message: A list of up to 20 conversation IDs is required - type: error.list - - name: Invalid parameters - value: - errors: - - code: parameter_invalid - message: invalid tag parameters - request_id: 33a05108-3bf7-411f-a270-72db40b5a31c - type: error.list - - name: Tag has dependent objects - value: - errors: - - code: tag_has_dependent_objects - message: 'Unable to delete Tag with dependent objects. Segments: Seg 1.' - request_id: 28960d1e-a056-46c0-bf18-a0d798eb889f - type: error.list - - name: User reply - value: - errors: - - code: parameter_mismatch - message: User replies are not allowed on Backoffice tickets - request_id: 603ce1da-f2bf-4641-a1ee-d1f13ebf9172 - type: error.list - - name: Bad Request - value: - errors: - - code: parameter_invalid - message: Missing required ticket attributes - request_id: c7bf358f-135e-48d7-8286-a4988a8a1456 - type: error.list - - name: >- - Ticket state id is not valid or is not associated with the ticket - type. - value: - errors: - - code: ticket_state_id_invalid - message: >- - Ticket state id is not valid or is not associated with the - ticket type - request_id: 28b71de1-b451-433a-a08c-845f2b1736b6 - type: error.list - status-code: 400 - type: unknown - ForbiddenError: - docs: API plan restricted - examples: - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b9 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: dcf1b373-3e66-4026-a987-98c16f00a908 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 8b3deed3-fd8b-43d6-b6a8-428c9e17aabb - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 34072e07-6b70-4f59-96bf-3106a3563a24 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 7a80b950-b392-499f-85db-ea7c6c424d37 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 48ad16d0-525c-40bf-b733-89239feb70e3 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: a57737d0-63a7-42bd-aa65-8380ef828124 - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 99f72599-ac98-4b1e-af96-808654b6383e - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 6fe4106b-967a-46ba-b1c9-9996aff6e8c3 - type: error.list - - name: OAuth token lacks read_conversations scope - value: - errors: - - code: forbidden - message: >- - You do not have the required scope (read_conversations) to - access this resource - request_id: f097e446-9ae6-44a8-8e13-2bf3008b87ef - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 72b6821e-54ff-4a25-adf9-abdfef5fe72b - type: error.list - - name: API plan restricted - value: - errors: - - code: api_plan_restricted - message: Active subscription needed. - request_id: 591a0c2f-78b3-41bb-bfa7-f1fae15107b0 - type: error.list - status-code: 403 - type: Error - InternalServerError: - docs: Internal server error - examples: - - value: - errors: - - code: unauthorized - type: error.list - status-code: 500 - type: Error - NotFoundError: - docs: Admin not found - examples: - - name: Admin not found - value: - errors: - - code: admin_not_found - message: Admin for admin_id not found - request_id: efcd0531-798b-4c22-bccd-68877ed7faa4 - type: error.list - - name: Admin not found - value: - errors: - - code: admin_not_found - message: Admin not found - request_id: c59f7ca5-1639-4284-a66d-50e34ed98ab3 - type: error.list - - name: Article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 - type: error.list - - name: Article Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 - type: error.list - - name: Collection not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: a074a09e-97d1-44e2-b164-b703559c9f23 - type: error.list - - name: Collection Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 198e3add-d017-4e18-b478-fbe2cb8c538b - type: error.list - - name: collection Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: f0d0ea9b-ffaf-48f5-95d0-e99531c379e2 - type: error.list - - name: Collection not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bbd5de60-49c4-4850-afff-1226cdaa0beb - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 79abd27a-1bfb-42ec-a404-5728c76ba773 - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: f9adccb2-9fca-4b87-bbb7-65f2af5e1d78 - type: error.list - - name: Internal article not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: afe37506-cc48-4727-8068-ae7ff0e7b0e3 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 57d57564-b5e2-4064-abfe-4653e5ac24c0 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: daa64b43-3e3c-4fc4-aef9-91eb40c7885c - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 4f41d1d6-7a42-45e3-a24e-544deb62da47 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 5dde0b79-8c81-4d9e-a4d4-736a44cf2f00 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: de5d939e-77fb-46d7-a3b9-f34199d9f25a - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 981799ea-f19b-432d-828c-491a3b29ad29 - type: error.list - - name: Company Not Found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: dcfc3465-8a51-4d78-b24c-2f215d48f339 - type: error.list - - name: Contact Not Found - value: - errors: - - code: not_found - message: User Not Found - request_id: b5a1f332-1bf1-44bd-a068-2634244b6051 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 57055cde-3d0d-4c67-b5c9-b20b80340bf0 - type: error.list - - name: Admin not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 168f1bc3-d198-4797-8422-9f93fe8af5ad - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 6f372239-0259-428f-9943-91b8f7a92162 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 61c119c7-b2f0-4158-8457-fd53e83f936a - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: c9b793ad-ff39-436c-80c9-db6f24d0d444 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 0c2871af-abed-4bce-a5c5-77efbe721711 - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 2774db46-34d9-4925-a24d-8203d4a39f65 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 82b37940-b43f-46ee-a492-11543a317c97 - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: c18422ca-5454-42af-9e1d-dd92066e6e9d - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 302049fb-b8c1-4dc8-a327-a8f6e1923484 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: f22a7847-ee33-449f-80c0-707efd295a53 - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 8a3e4f88-ae65-433a-b4eb-46780ffc5402 - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: b3d41080-5b35-42b8-8584-31e4660d355f - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 02871f7a-860e-433a-8545-6a73fbbe5e22 - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Conversation not found - request_id: c6e8c74f-a354-4dfd-a5be-6061d2d26341 - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Conversation not found - request_id: 84db22c5-0fef-465a-a909-2643d8a22c69 - type: error.list - - name: Tag not found - value: - errors: - - code: tag_not_found - message: Tag not found - request_id: 1fe3e9ec-6a5b-4abc-b51c-a515f77d9577 - type: error.list - - name: Contact Not Found - value: - errors: - - code: not_found - message: User Not Found - request_id: d7eb553e-74ae-4341-820b-5d38a94d4a99 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 8c288c4f-b699-4209-9de4-064398f02785 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: de1be01d-a0d3-48a6-9ea6-9789931a6887 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 06234918-c245-4caa-a2cc-90247983c6ff - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: e056b3c3-fae3-4a3c-9bcf-836b84efa331 - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 86fd8b2e-7048-4fbd-9fb0-d73085d7210b - type: error.list - - name: Conversation not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 89835b60-6756-4d2a-b148-26ca0cb49f9f - type: error.list - - name: Contact not found - value: - errors: - - code: not_found - message: User Not Found - request_id: ab1b9371-3185-417f-a53a-dcae35892980 - type: error.list - - name: Not found - value: - errors: - - code: conversation_part_or_message_not_found - message: Conversation part or message not found - request_id: 5b7bb755-4031-4bfe-8897-54d0f1872bbc - type: error.list - - name: ObjectNotFound - value: - errors: - - code: not_found - message: Object not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: CustomObjectNotFound - value: - errors: - - code: not_found - message: Custom object instance not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: IntegrationNotFound - value: - errors: - - code: data_invalid - message: Integration not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: TypeNotFound - value: - errors: - - code: not_found - message: Custom object type `undefined` not found - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Attribute Not Found - value: - errors: - - code: field_not_found - message: We couldn't find that data attribute to update - request_id: eee16d31-0b0a-4b5f-b95a-25d37528c80f - type: error.list - - name: Job not found - value: - errors: - - code: job_not_found - message: Job Not Found - request_id: 123e4567-e89b-12d3-a456-426614174000 - type: error.list - - name: Macro not found - value: - errors: - - code: not_found - message: Macro not found - request_id: bc300b1a-492a-405f-924e-a5881cb72e3a - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: da84e250-8626-47e8-815c-62b33f0f2c36 - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 2014d867-b634-495a-9b4f-ce56c4d657a9 - type: error.list - - name: News Item Not Found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 23728e22-7b9f-44a9-9b8d-5028811b9cd0 - type: error.list - - name: Note not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bc300b1a-492a-405f-924e-a5881cb72e3a - type: error.list - - name: Segment not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: bd697cc6-7757-488c-a89f-16e6feaf7585 - type: error.list - - name: Not Found - value: - errors: - - code: not_found - message: Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Not Found - value: - errors: - - code: not_found - message: Recording Not Found - request_id: 9bc4fc62-7cdf-4f72-a56e-02af4836d499 - type: error.list - - name: Company not found - value: - errors: - - code: company_not_found - message: Company Not Found - request_id: 23c998cc-32b8-435d-9653-932c15809460 - type: error.list - - name: User not found - value: - errors: - - code: not_found - message: User Not Found - request_id: 7358f78d-f122-45dd-a2e1-c2261300c38a - type: error.list - - name: Tag not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: e20c89d2-29c6-4abb-aa3d-c860e1cec1ca - type: error.list - - name: Resource not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 49536975-bbc5-4a2f-ab8b-7928275cb4d3 - type: error.list - - name: Team not found - value: - errors: - - code: team_not_found - message: Team not found - request_id: 3ff156ba-a66e-40d4-93ff-cb6e6afc3c9d - type: error.list - - name: Not found - value: - errors: - - code: not_found - message: Resource Not Found - request_id: 24561472-06a4-41b2-aca2-97b3ccd9ca19 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: b44cff1d-c6f8-4d60-ab6f-33522cd739d8 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: 734019dc-1d61-4fad-a86e-e3fb06244c4d - type: error.list - - name: Tag not found - value: - errors: - - code: tag_not_found - message: Tag not found - request_id: a3658b9a-3562-48a7-8afe-362284632d67 - type: error.list - - name: Admin not found - value: - errors: - - code: assignee_not_found - message: Assignee not found - request_id: f9757add-b48a-4519-a6e0-04b2ef9c8c6c - type: error.list - - name: Assignee not found - value: - errors: - - code: assignee_not_found - message: Assignee not found - request_id: 39cf6495-768c-450c-a2c4-c9c3c4ea2e01 - type: error.list - - name: Ticket not found - value: - errors: - - code: ticket_not_found - message: Ticket not found - request_id: 34a070f1-122e-42dc-a94e-9b86768df26c - type: error.list - - name: Visitor not found - value: - errors: - - code: not_found - message: Visitor Not Found - request_id: 3c1b017d-39fb-4d13-8cc9-540ad0d37106 - type: error.list - - name: visitor Not Found - value: - errors: - - code: not_found - message: Visitor Not Found - request_id: 6a6d5522-54e2-437d-8fd0-1109686af965 - type: error.list - - name: Brand not found - value: - errors: - - code: not_found - message: Brand not found - request_id: req_12345 - type: error.list - - name: Email setting not found - value: - errors: - - code: not_found - message: Email setting not found - request_id: req_12345 - type: error.list - status-code: 404 - type: unknown - TooManyRequestsError: - docs: Too many jobs in progress - examples: - - name: Unauthorized - value: - errors: - - code: rate_limit_exceeded - message: Exceeded rate limit of 5 pending reporting dataset export jobs - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - status-code: 429 - type: Error - UnauthorizedError: - docs: Unauthorized - examples: - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e76b2df0-2413-4215-8a5a-b5f6ebd4e642 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 57cc6148-2c0a-471b-bd9e-859538110958 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5ef5682e-f66e-40a4-b828-8592175f83b8 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff783bc1-754f-4a9f-887b-22f94fec18f0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9e554e0f-ed0a-4fc6-b141-105d70c9d485 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 31262ee6-aa3b-4748-a260-a1084754ebae - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5556d3dd-d4e2-4424-9757-2ad0accb52e5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: cb4a6795-2cdb-44f9-adb7-0624702f7e8a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 093e1dd9-996a-4154-a64c-80803a5c2084 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: bd0c53dd-d3fd-4095-be25-94537a8ba364 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 205ffc13-1b25-43b2-a176-cb817af5f899 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 504cde98-f786-4f64-b373-e26a6a41fd11 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 8217b189-b908-4562-962d-2a19a7b77f25 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2380cdd5-c4a0-451a-b07d-a6f4b720add3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2e760b85-9020-471b-89dc-f579ec8a0104 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 85e91429-72df-4e69-8a12-b55793dff59f - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2eab07fb-5092-49a4-ba74-44094f31f264 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c6e86ce8-9402-4196-89c5-f1b2912b4bac - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c70746a8-a5b2-4772-afba-1a4b487ea75d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b68959ea-6328-4f70-83cb-e7913dba1542 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 12c2d3a0-77ef-462e-a5ed-e67ddff50b6e - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 25d96ec2-641f-4354-b24e-83a85d33bd30 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a29395a5-181c-4f3b-b069-5b2f32604c58 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b286edcc-453d-43af-bf2f-40f303708c61 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d0d16fb5-93e6-45ca-b07d-f98fb92fd733 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7c301f6-9206-418b-9792-98821970e48b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 76edbbb7-e463-4f6a-817a-b7905d467535 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d1ea223d-bb62-42e3-8bcf-30fdcf7dbd99 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2fa563ba-f9c9-4281-a76b-10bfd777dfd7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 8a9f415f-e9df-41e9-ba1f-739914f66551 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: caf73ce4-bda6-4f2b-bbfb-0d984d430335 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 4748eb32-3261-4798-ace0-a5825edf4eb5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7b13fd9c-31be-40de-94e1-d71f260a3458 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f7586690-c217-47db-9042-cb9550b81260 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 91f04dce-5759-4d80-981e-f598ec989d1a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 537ccc45-2cae-4e72-ac2f-849f1422a771 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ca269b05-8c42-4615-a28d-7df0eb1687c5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9bc1e0cc-5cc4-412d-8037-57e073375ab0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 0273c219-51b7-4938-95d2-19996b2e2734 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7323b97b-9ba4-4c54-946c-38cecea65b3c - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f615465d-fd5f-4d68-8498-389130b897e4 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7de741d-dc8f-49b1-8cbe-791668ade76c - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ca3c5e6e-c743-428b-aa8a-ac371a50cc39 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9b1c9966-caeb-485a-8419-d707fd472c63 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 491beaa4-a452-4940-85e0-498c0ca5528d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 45b30bd1-75d2-40cc-bb39-74ac133a2836 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 89ce96d9-aae9-4eec-ace2-d68cc4f74879 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a947b2f0-23d3-419d-9ec4-cdd191cea676 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff328c7c-6140-48eb-84dd-bb8960b66cd0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f0dc95f1-9e46-4e8d-8150-89365c2c5195 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e097e446-9ae6-44a8-8e13-2bf3008b87ef - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ff2353d3-d3d6-4f20-8268-847869d01e73 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1fb28be7-cda6-4029-b4da-447ef61cb61a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 617bb25d-4dea-4a68-ae74-2fb8f4e87b39 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: df73b7b4-2352-44fd-8d14-4ea8536ad138 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b14d75ab-7d26-4191-b33f-77ca0a4d4ede - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 68e42c33-8220-48ea-906f-75584c3ec440 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1350c241-0f22-48ca-bab9-169080340870 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: de63ddb2-c525-4ebf-ad38-82ed8b44c896 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 310f55b0-2660-43e8-bed4-7e82b2f40920 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 50f1e8d1-cf1a-450c-a7b5-87a264076241 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 623bbbb8-f6fb-45f3-a2e2-4106ff3a4349 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 9dc7c1a0-b818-472c-adf6-3e327f22f541 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 89ef64b2-d1f9-40c3-89e9-d39175d3d647 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 4814668f-5d31-4bf7-8f66-b426aac054db - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6d231766-b44b-4e78-bc9e-9c268ff19671 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: fa71b91c-4a25-4fe6-88a9-884f6950860e - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c60ce63d-1c74-4fe2-8e21-31d1f817a0c2 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e6f50446-be4a-40ac-8c8d-6fb91e1040fd - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 212c8206-e7a6-44c8-8f27-5f0ad7f1d243 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 7a7d8425-2c1b-46ab-8133-c043fc1e5711 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2c8a20ee-ed09-42c0-a31d-a1b4f5d2742d - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d7997515-cd92-4fe4-966c-cb1f4bdda1d4 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5142ad8e-883e-4b71-9adb-6494851e9b77 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 33ff62c6-ceb7-4bde-93d6-301bed6f24b2 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5838c54e-dd15-460b-82dd-794c4d0e12c5 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e5357876-89be-4a04-80c3-16735b7f53ff - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 022ff8b0-d16f-437c-8217-754c13e16dee - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: caa26d8b-6512-445d-9418-9fc5849ca304 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6d9a1bf5-aa08-4c93-a61a-5a21130b6553 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 81384687-5818-4df9-b421-fba77edd6c17 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b1939528-98f0-4a63-a442-2cc9203fc8c7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: be0d5309-d722-4d2a-aae9-77f4bc0a2cd0 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 06d15b1f-19b0-42cc-aff9-a9d9db39402b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: e1ed4f34-9477-492a-8ddb-22f10af39734 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2859da57-c83f-405c-8166-240a312442a3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: f230e3a7-00a9-456b-bf1c-2ad4b7dc49f6 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c1c0477c-5b80-4874-be65-01ec8a9ffe14 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 90a369be-14bb-48d1-8ed6-6287976f6a64 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a77dadbc-1f1e-4875-bac3-f0d09bbc214a - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: fc4b741b-b9f1-4ef9-92c7-eb71e9811df3 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 5e0bd231-7307-42e6-a6ee-babf05bd163b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 6c9836ed-8485-4f1d-929d-b9d7e153daed - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: cd303186-b33e-4409-8bfc-5814b176d6e1 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: a63507c2-3b3b-4a1a-aafa-f08b87eb2c12 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 36b79d0c-b78f-4e1d-bd6d-bfc3dcc71f53 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c9a2c3da-7536-4eba-bde7-c38c2d9e2942 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: ed4305b3-4364-4fab-9f8d-e07e9a8190ab - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2bed74fe-1b04-4c07-8813-02c700e8dcad - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 2e87c98e-4ffc-407e-b7bc-065d4d456ea7 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: c7bf358f-135e-48d7-8286-a4988a8a1d9b - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: d719ad4f-5ae2-492f-88d6-98ba0a9ab6cc - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 17db783e-1e43-41c9-b4db-0c05da78a909 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 50348131-55cd-4ca1-a65f-de093b232adb - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 1d7f49b3-10bc-4bf8-a28a-1ac95de3a6ff - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: 3f474ec4-4e61-42ee-9acc-eac64982e393 - type: error.list - - name: Unauthorized - value: - errors: - - code: unauthorized - message: Access Token Invalid - request_id: b3e71306-0600-41e4-9f44-83b52906d2b7 - type: error.list - - value: - errors: - - code: unauthorized - type: error.list - status-code: 401 - type: Error - UnprocessableEntityError: - docs: Last customer - examples: - - name: Last customer - value: - errors: - - code: parameter_invalid - message: Removing the last customer is not allowed - request_id: 8275e92f-66b7-40f9-82a8-9647ca8d7eb4 - type: error.list - - name: ValidationError - value: - errors: - - code: data_invalid - message: Invalid or duplicated record reference - request_id: 12a938a3-314e-4939-b773-5cd45738bd21 - type: error.list - - name: Has Dependant Object - value: - errors: - - code: data_invalid - message: >- - The Data Attribute you are trying to archive has a dependant - object - request_id: f04b6b14-1c5b-46e1-9c95-4a914557062c - type: error.list - - name: No subject supplied for email message - value: - errors: - - code: parameter_not_found - message: No subject supplied for email message - request_id: 97db463e-7070-4ac9-9846-9a5d31933772 - type: error.list - - name: unprocessable entity - value: - error_key: some_error - status-code: 422 - type: unknown diff --git a/fern/.definition/unstable/admins.yml b/fern/.definition/unstable/admins.yml deleted file mode 100644 index dc1882c..0000000 --- a/fern/.definition/unstable/admins.yml +++ /dev/null @@ -1,360 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Admin: - docs: Admins are teammate accounts that have access to a workspace. - properties: - avatar: - docs: Image for the associated team or teammate - type: optional - validation: - format: uri - away_mode_enabled: - docs: Identifies if this admin is currently set in away mode. - type: optional - away_mode_reassign: - docs: >- - Identifies if this admin is set to automatically reassign new - conversations to the apps default inbox. - type: optional - away_status_reason_id: - docs: The unique identifier of the away status reason - type: optional - email: - docs: The email of the admin. - type: optional - has_inbox_seat: - docs: >- - Identifies if this admin has a paid inbox seat to restrict/allow - features that require them. - type: optional - id: - docs: The id representing the admin. - type: optional - job_title: - docs: The job title of the admin. - type: optional - name: - docs: The name of the admin. - type: optional - team_ids: - docs: This object represents the avatar associated with the admin. - type: optional> - team_priority_level: - type: optional - type: - docs: String representing the object's type. Always has the value `admin`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Admins -service: - auth: false - base-path: '' - display-name: Admins - endpoints: - identifyAdmin: - auth: true - display-name: Identify an admin - docs: > - - 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. - examples: - - name: Successful response - response: - body: - app: - created_at: 1734537243 - id_code: this_is_an_id1_that_should_be_at_least_40 - identity_verification: false - name: MyApp 1 - region: US - timezone: America/Los_Angeles - type: app - avatar: - image_url: >- - https://static.intercomassets.com/assets/default-avatars/admins/128.png - type: avatar - away_mode_enabled: false - away_mode_reassign: false - email: admin1@email.com - email_verified: true - has_inbox_seat: true - id: '991267459' - job_title: Associate - name: Ciaran1 Lee - team_ids: - - 814865 - type: admin - method: GET - path: /me - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listActivityLogs: - auth: true - display-name: List all activity logs - docs: You can get a log of activities by all admins in an app. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - query-parameters: - created_at_after: '1677253093' - created_at_before: '1677861493' - response: - body: - activity_logs: - - activity_description: Ciaran5 Lee changed your app name from before to after. - activity_type: app_name_change - created_at: 1734537253 - id: fca05814-4b72-4dce-ad4f-77a786a2c136 - performed_by: - email: admin5@email.com - id: '991267464' - ip: 127.0.0.1 - type: admin - - activity_description: >- - Ciaran5 Lee changed your Initial message title message from - Initial message title to Eventual message title. - activity_type: message_state_change - created_at: 1734537253 - id: f48c653b-0185-48ac-a276-23d11006bafb - performed_by: - email: admin5@email.com - id: '991267464' - ip: 127.0.0.1 - type: admin - pages: - page: 1 - per_page: 20 - total_pages: 1 - type: pages - type: activity_log.list - method: GET - path: /admins/activity_logs - request: - name: ListActivityLogsRequest - query-parameters: - created_at_after: - docs: >- - The start date that you request data for. It must be formatted as - a UNIX timestamp. - type: string - created_at_before: - docs: >- - The end date that you request data for. It must be formatted as a - UNIX timestamp. - type: optional - response: - docs: Successful response - status-code: 200 - type: unstableRoot.ActivityLogList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listAdmins: - auth: true - display-name: List all admins - docs: You can fetch a list of admins for a given workspace. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - response: - body: - admins: - - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin7@email.com - has_inbox_seat: true - id: '991267466' - job_title: Associate - name: Ciaran7 Lee - team_ids: - - 814865 - type: admin - type: admin.list - method: GET - path: /admins - response: - docs: Successful response - status-code: 200 - type: unstableRoot.AdminList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveAdmin: - auth: true - display-name: Retrieve an admin - docs: You can retrieve the details of a single admin. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Admin found - path-parameters: - id: 1 - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - email: admin9@email.com - has_inbox_seat: true - id: '991267468' - job_title: Associate - name: Ciaran9 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - method: GET - path: /admins/{id} - request: - name: RetrieveAdminRequest - path-parameters: - id: - docs: The unique identifier of a given admin - type: integer - response: - docs: Admin found - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - setAwayAdmin: - auth: true - display-name: Set an admin to away - docs: You can set an Admin as away for the Inbox. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - - name: Admin not found - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - - name: Unauthorized - path-parameters: - id: 1 - request: - away_mode_enabled: true - away_mode_reassign: true - response: - body: - avatar: https://picsum.photos/200/300 - away_mode_enabled: true - away_mode_reassign: true - away_status_reason_id: 12345 - email: admin2@email.com - has_inbox_seat: true - id: '991267460' - job_title: Associate - name: Ciaran2 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - method: PUT - path: /admins/{id}/away - request: - body: - properties: - away_mode_enabled: - default: true - docs: Set to "true" to change the status of the admin to away. - type: boolean - away_mode_reassign: - default: false - docs: >- - Set to "true" to assign any new conversation replies to your - default inbox. - type: boolean - away_status_reason_id: - docs: The unique identifier of the away status reason - type: optional - content-type: application/json - name: SetAwayAdminRequest - path-parameters: - id: - docs: The unique identifier of a given admin - type: integer - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiAgent.yml b/fern/.definition/unstable/aiAgent.yml deleted file mode 100644 index 85ecb4b..0000000 --- a/fern/.definition/unstable/aiAgent.yml +++ /dev/null @@ -1,56 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - AiAgent: - docs: Data related to AI Agent involvement in the conversation. - properties: - content_sources: - type: optional - created_at: - docs: The time when the AI agent rating was created. - type: optional - last_answer_type: - docs: >- - The type of the last answer delivered by AI Agent. If no answer was - delivered then this will return `null` - type: optional - rating: - docs: The customer satisfaction rating given to AI Agent, from 1-5. - type: optional - rating_remark: - docs: The customer satisfaction rating remark given to AI Agent. - type: optional - resolution_state: - docs: >- - The resolution state of AI Agent. If no AI or custom answer has been - delivered then this will return `null`. - type: optional - source_title: - docs: >- - The title of the source that triggered AI Agent involvement in the - conversation. If this is `essentials_plan_setup` then it will return - `null`. - type: optional - source_type: - docs: >- - The type of the source that triggered AI Agent involvement in the - conversation. - type: optional - updated_at: - docs: The time when the AI agent rating was last updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AiAgentSourceType: - docs: >- - The type of the source that triggered AI Agent involvement in the - conversation. - enum: - - essentials_plan_setup - - profile - - workflow - - workflow_preview - - fin_preview - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiContent.yml b/fern/.definition/unstable/aiContent.yml deleted file mode 100644 index 1c4d9ef..0000000 --- a/fern/.definition/unstable/aiContent.yml +++ /dev/null @@ -1,773 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - ContentImportSource: - docs: >- - An external source for External Pages that you add to your Fin Content - Library. - properties: - created_at: - docs: The time when the content import source was created. - type: integer - id: - docs: >- - The unique identifier for the content import source which is given by - Intercom. - type: integer - last_synced_at: - docs: The time when the content import source was last synced. - type: integer - status: - default: active - docs: The status of the content import source. - type: ContentImportSourceStatus - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, this - should be set to `api`. - type: ContentImportSourceSyncBehavior - type: - docs: Always external_page - type: literal<"content_import_source"> - updated_at: - docs: The time when the content import source was last updated. - type: integer - url: - docs: The URL of the root of the external source. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContentImportSourcesList: - docs: This will return a list of the content import sources for the App. - properties: - data: - docs: An array of Content Import Source objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of content import sources. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContentImportSourceStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContentImportSourceSyncBehavior: - docs: >- - If you intend to create or update External Pages via the API, this should - be set to `api`. - enum: - - api - - automatic - - manual - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateContentImportSourceRequestStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ExternalPage: - docs: External pages that you have added to your Fin Content Library. - properties: - ai_agent_availability: - docs: >- - Whether the external page should be used to answer questions by AI - Agent. - type: boolean - ai_copilot_availability: - docs: >- - Whether the external page should be used to answer questions by AI - Copilot. - type: boolean - created_at: - docs: The time when the external page was created. - type: integer - external_id: - docs: >- - The identifier for the external page which was given by the source. - Must be unique for the source. - type: string - fin_availability: - docs: >- - Deprecated. Use ai_agent_availability and ai_copilot_availability - instead. - type: optional - html: - docs: The body of the external page in HTML. - type: string - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - last_ingested_at: - docs: The time when the external page was last ingested. - type: integer - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which was - given by Intercom. Every external page must be associated with a - Content Import Source which represents the place it comes from and - from which it inherits a default audience (configured in the UI). For - a new source, make a POST request to the Content Import Source - endpoint and an ID for the source will be returned in the response. - type: integer - title: - docs: The title of the external page. - type: string - type: - docs: Always external_page - type: literal<"external_page"> - updated_at: - docs: The time when the external page was last updated. - type: integer - url: - docs: >- - The URL of the external page. This will be used by Fin to link end - users to the page it based its answer on. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ExternalPagesList: - docs: This will return a list of external pages for the App. - properties: - data: - docs: An array of External Page objects - type: optional> - pages: - type: optional - total_count: - docs: A count of the total number of external pages. - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateContentImportSourceRequestStatus: - default: active - docs: The status of the content import source. - enum: - - active - - deactivated - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateContentImportSourceRequestSyncBehavior: - docs: >- - If you intend to create or update External Pages via the API, this should - be set to `api`. You can not change the value to or from api. - enum: - - api - - automated - - manual - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: > - With the AI Content APIs, you can create and manage External Pages and Content - Import Sources for your Fin Content Library. - - -   - - - *External Pages* are pages that you want Fin to be able to answer questions - about. The API for External Pages is a great way to ingest into your Fin - Content Library pages that are not publicly accessible and hence can't be - crawled by Intercom. - - -   - - - *Content Import Sources* are the sources of those pages, and they are used to - determine the default audience for the pages (configured via the UI). You - should create a Content Import Source for each source of External Pages that - you want to ingest into your Fin Content Library. - - -   - - - You can then iterate through the content from that source via its API and POST - it to the External Pages endpoint. That endpoint has an *external_id* - parameter which allows you to specify the identifier from the source. The - endpoint will then either create a new External Page or update an existing one - as appropriate.", -service: - auth: false - base-path: '' - display-name: AI Content - endpoints: - createContentImportSource: - auth: true - display-name: Create a content import source - docs: >- - You can create a new content import source by sending a POST request to - this endpoint. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - sync_behavior: api - url: https://www.example.com - response: - body: - created_at: 1734537261 - id: 36 - last_synced_at: 1734537261 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537261 - url: https://www.example.com - method: POST - path: /ai/content_import_sources - request: - body: - properties: - status: - default: active - docs: The status of the content import source. - type: optional - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, - this should be set to `api`. - type: literal<"api"> - url: - docs: The URL of the content import source. - type: string - content-type: application/json - name: CreateContentImportSourceRequest - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/0/api.intercom.io.yaml - createExternalPage: - auth: true - display-name: Create an external page (or update an external page by external ID) - docs: >- - You can create a new external page by sending a POST request to this - endpoint. If an external page already exists with the specified - source_id and external_id, it will be updated instead. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - external_id: abc1234 - html:

Test

- locale: en - source_id: 44 - title: Test - url: https://www.example.com - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537273 - external_id: abc1234 - fin_availability: true - html:

Test

- id: '21' - last_ingested_at: 1734537274 - locale: en - source_id: 44 - title: Test - type: external_page - updated_at: 1734537274 - url: https://www.example.com - method: POST - path: /ai/external_pages - request: - body: - properties: - ai_agent_availability: - default: false - docs: >- - Whether the external page should be used to answer questions by - AI Agent. Will not default when updating an existing external - page. - type: optional - ai_copilot_availability: - default: false - docs: >- - Whether the external page should be used to answer questions by - AI Copilot. Will not default when updating an existing external - page. - type: optional - external_id: - docs: >- - The identifier for the external page which was given by the - source. Must be unique for the source. - type: string - html: - docs: The body of the external page in HTML. - type: string - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which - was given by Intercom. Every external page must be associated - with a Content Import Source which represents the place it comes - from and from which it inherits a default audience (configured - in the UI). For a new source, make a POST request to the Content - Import Source endpoint and an ID for the source will be returned - in the response. - type: integer - title: - docs: The title of the external page. - type: string - url: - docs: >- - The URL of the external page. This will be used by Fin to link - end users to the page it based its answer on. When a URL is not - present, Fin will not reference the source. - type: optional - content-type: application/json - name: CreateExternalPageRequest - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteContentImportSource: - auth: true - display-name: Delete a content import source - docs: >- - You can delete a content import source by making a DELETE request this - endpoint. This will also delete all external pages that were imported - from this source. - errors: - - unstableRoot.UnauthorizedError - examples: - - path-parameters: - id: id - method: DELETE - path: /ai/content_import_sources/{id} - request: - name: DeleteContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteExternalPage: - auth: true - display-name: Delete an external page - docs: >- - Sending a DELETE request for an external page will remove it from the - content library UI and from being used for AI answers. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537276 - external_id: '4' - fin_availability: true - html: '' - id: '22' - last_ingested_at: 1734537276 - locale: en - source_id: 45 - title: My External Content - type: external_page - updated_at: 1734537276 - url: https://support.example.com/us/5 - method: DELETE - path: /ai/external_pages/{id} - request: - name: DeleteExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getContentImportSource: - auth: true - display-name: Retrieve a content import source - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - created_at: 1734537265 - id: 38 - last_synced_at: 1734537265 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537265 - url: https://support.example.com/us/5 - method: GET - path: /ai/content_import_sources/{id} - request: - name: GetContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getExternalPage: - auth: true - display-name: Retrieve an external page - docs: You can retrieve an external page. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537278 - external_id: '5' - fin_availability: true - html:

Hello world

This is external content

- id: '23' - last_ingested_at: 1734537278 - locale: en - source_id: 46 - title: My External Content - type: external_page - updated_at: 1734537278 - url: https://support.example.com/us/6 - method: GET - path: /ai/external_pages/{id} - request: - name: GetExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listContentImportSources: - auth: true - display-name: List content import sources - docs: You can retrieve a list of all content import sources for a workspace. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - created_at: 1734537259 - id: 33 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/1 - - created_at: 1734537259 - id: 34 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/2 - - created_at: 1734537259 - id: 35 - last_synced_at: 1734537259 - status: active - sync_behavior: automatic - type: content_import_source - updated_at: 1734537259 - url: https://support.example.com/us/3 - pages: - next: next - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 3 - type: list - method: GET - path: /ai/content_import_sources - response: - docs: successful - status-code: 200 - type: ContentImportSourcesList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listExternalPages: - auth: true - display-name: List external pages - docs: You can retrieve a list of all external pages for a workspace. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '3' - fin_availability: true - html:

Hello world

This is external content

- id: '19' - last_ingested_at: 1734537269 - locale: en - source_id: 42 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/3 - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '2' - fin_availability: true - html:

Hello world

This is external content

- id: '18' - last_ingested_at: 1734537269 - locale: en - source_id: 41 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/2 - - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537269 - external_id: '1' - fin_availability: true - html:

Hello world

This is external content

- id: '17' - last_ingested_at: 1734537269 - locale: en - source_id: 40 - title: My External Content - type: external_page - updated_at: 1734537269 - url: https://support.example.com/us/1 - pages: - next: next - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 3 - type: list - method: GET - path: /ai/external_pages - response: - docs: successful - status-code: 200 - type: ExternalPagesList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateContentImportSource: - auth: true - display-name: Update a content import source - docs: You can update an existing content import source. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - request: - sync_behavior: api - url: https://www.example.com - response: - body: - created_at: 1734537267 - id: 39 - last_synced_at: 1734537267 - status: active - sync_behavior: api - type: content_import_source - updated_at: 1734537267 - url: https://www.example.com - method: PUT - path: /ai/content_import_sources/{id} - request: - body: - properties: - status: - default: active - docs: The status of the content import source. - type: optional - sync_behavior: - docs: >- - If you intend to create or update External Pages via the API, - this should be set to `api`. You can not change the value to or - from api. - type: UpdateContentImportSourceRequestSyncBehavior - url: - docs: >- - The URL of the content import source. This may only be different - from the existing value if the sync behavior is API. - type: string - content-type: application/json - name: UpdateContentImportSourceRequest - path-parameters: - id: - docs: >- - The unique identifier for the content import source which is given - by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ContentImportSource - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateExternalPage: - auth: true - display-name: Update an external page - docs: >- - You can update an existing external page (if it was created via the - API). - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: id - request: - external_id: '5678' - html:

Test

- locale: en - source_id: 47 - title: Test - url: https://www.example.com - response: - body: - ai_agent_availability: true - ai_copilot_availability: true - created_at: 1734537280 - external_id: '5678' - fin_availability: true - html:

Test

- id: '24' - last_ingested_at: 1734537281 - locale: en - source_id: 47 - title: Test - type: external_page - updated_at: 1734537281 - url: https://www.example.com - method: PUT - path: /ai/external_pages/{id} - request: - body: - properties: - external_id: - docs: >- - The identifier for the external page which was given by the - source. Must be unique for the source. - type: optional - fin_availability: - default: true - docs: >- - Whether the external page should be used to answer questions by - Fin. - type: optional - html: - docs: The body of the external page in HTML. - type: string - locale: - docs: Always en - type: literal<"en"> - source_id: - docs: >- - The unique identifier for the source of the external page which - was given by Intercom. Every external page must be associated - with a Content Import Source which represents the place it comes - from and from which it inherits a default audience (configured - in the UI). For a new source, make a POST request to the Content - Import Source endpoint and an ID for the source will be returned - in the response. - type: integer - title: - docs: The title of the external page. - type: string - url: - docs: >- - The URL of the external page. This will be used by Fin to link - end users to the page it based its answer on. - type: string - content-type: application/json - name: UpdateExternalPageRequest - path-parameters: - id: - docs: >- - The unique identifier for the external page which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: ExternalPage - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/aiContentSource.yml b/fern/.definition/unstable/aiContentSource.yml deleted file mode 100644 index a8345a3..0000000 --- a/fern/.definition/unstable/aiContentSource.yml +++ /dev/null @@ -1,29 +0,0 @@ -types: - ContentSource: - docs: The content source used by AI Agent in the conversation. - properties: - content_type: - docs: The type of the content source. - type: optional - locale: - docs: The ISO 639 language code of the content source. - type: optional - title: - docs: The title of the content source. - type: optional - url: - docs: The internal URL linking to the content source for teammates. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContentSourceContentType: - docs: The type of the content source. - enum: - - file - - article - - external_content - - content_snippet - - workflow_connector_action - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/articles.yml b/fern/.definition/unstable/articles.yml deleted file mode 100644 index 8178da8..0000000 --- a/fern/.definition/unstable/articles.yml +++ /dev/null @@ -1,810 +0,0 @@ -imports: - unstableInternalArticles: internalArticles.yml - unstableRoot: __package__.yml -types: - Article: - docs: >- - The Articles API is a central place to gather all information and take - actions on your articles. Articles can live within collections and - sections, or alternatively they can stand alone. - extends: - - ArticleListItem - properties: - statistics: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleListItem: - docs: The data returned about your articles when you list them. - properties: - author_id: - docs: >- - 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. - type: optional - body: - docs: >- - The body of the article in HTML. For multilingual articles, this will - be the body of the default language's content. - type: optional - created_at: - docs: >- - The time when the article was created. For multilingual articles, this - will be the timestamp of creation of the default language's content in - seconds. - type: optional - default_locale: - docs: >- - The default locale of the help center. This field is only returned for - multilingual help centers. - type: optional - description: - docs: >- - The description of the article. For multilingual articles, this will - be the description of the default language's content. - type: optional - id: - docs: The unique identifier for the article which is given by Intercom. - type: optional - parent_id: - docs: >- - The id of the article's parent collection or section. An article - without this field stands alone. - type: optional - parent_ids: - docs: >- - The ids of the article's parent collections or sections. An article - without this field stands alone. - type: optional> - parent_type: - docs: The type of parent, which can either be a `collection` or `section`. - type: optional - state: - default: draft - docs: >- - Whether the article is `published` or is a `draft`. For multilingual - articles, this will be the state of the default language's content. - type: optional - title: - docs: >- - The title of the article. For multilingual articles, this will be the - title of the default language's content. - type: optional - translated_content: - type: optional - type: - docs: The type of object - `article`. - type: optional> - updated_at: - docs: >- - The time when the article was last updated. For multilingual articles, - this will be the timestamp of last update of the default language's - content in seconds. - type: optional - url: - docs: >- - The URL of the article. For multilingual articles, this will be the - URL of the default language's content. - type: optional - workspace_id: - docs: The id of the workspace which the article belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleListItemState: - default: draft - docs: >- - Whether the article is `published` or is a `draft`. For multilingual - articles, this will be the state of the default language's content. - enum: - - published - - draft - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchHighlights: - docs: >- - The highlighted results of an Article search. In the examples provided my - search query is always "my query". - properties: - article_id: - docs: The ID of the corresponding article. - type: optional - highlighted_summary: - docs: An Article description and body text highlighted. - type: >- - optional>> - highlighted_title: - docs: An Article title highlighted. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedSummaryItemItem: - docs: An instance of highlighted summary text. - inline: true - properties: - text: - docs: The text of the title. - type: optional - type: - docs: The type of text - `highlight` or `plain`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedSummaryItemItemType: - docs: The type of text - `highlight` or `plain`. - enum: - - highlight - - plain - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedTitleItem: - docs: A highlighted article title. - inline: true - properties: - text: - docs: The text of the title. - type: optional - type: - docs: The type of text - `highlight` or `plain`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchHighlightsHighlightedTitleItemType: - docs: The type of text - `highlight` or `plain`. - enum: - - highlight - - plain - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchResponse: - docs: The results of an Article search - properties: - data: - docs: An object containing the results of the search. - type: optional - pages: - type: optional - total_count: - docs: The total number of Articles matching the search query - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ArticleSearchResponseData: - docs: An object containing the results of the search. - inline: true - properties: - articles: - docs: An array of Article objects - type: optional> - highlights: - docs: A corresponding array of highlighted Article content - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - InternalArticle: - docs: >- - The Internal Articles API is a central place to gather all information and - take actions on your internal articles. - type: unstableInternalArticles.InternalArticleListItem -docs: Everything about your Articles -service: - auth: false - base-path: '' - display-name: Articles - endpoints: - createArticle: - auth: true - display-name: Create an article - docs: >- - You can create a new article by making a POST request to - `https://api.intercom.io/articles`. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - method: POST - path: /articles - request: - body: unknown - content-type: application/json - response: - docs: article created - status-code: 200 - type: Article - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteArticle: - auth: true - display-name: Delete an article - docs: >- - You can delete a single article by making a DELETE request to - `https://api.intercom.io/articles/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '51' - object: article - method: DELETE - path: /articles/{id} - request: - name: DeleteArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: unstableRoot.DeletedArticleObject - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listArticles: - auth: true - display-name: List all articles - docs: > - 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. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - author_id: 991267492 - body: '' - created_at: 1734537283 - default_locale: en - description: '' - id: '39' - parent_id: 143 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - title: This is the article title - type: article - updated_at: 1734537283 - url: >- - http://help-center.test/myapp-64/en/articles/39-this-is-the-article-title - workspace_id: this_is_an_id64_that_should_be_at_least_4 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 25 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /articles - response: - docs: successful - status-code: 200 - type: unstableRoot.ArticleList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveArticle: - auth: true - display-name: Retrieve an article - docs: >- - You can fetch the details of a single article by making a GET request to - `https://api.intercom.io/articles/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Article found - path-parameters: - id: 1 - response: - body: - author_id: 991267502 - body: '' - created_at: 1734537292 - default_locale: en - description: '' - id: '45' - parent_id: 148 - parent_ids: - - 18 - - 19 - parent_type: collection - state: published - statistics: - conversions: 0 - happy_reaction_percentage: 0 - neutral_reaction_percentage: 0 - reactions: 0 - sad_reaction_percentage: 0 - type: article_statistics - views: 0 - title: This is the article title - translated_content: - ar: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bg: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - bs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ca: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - cs: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - da: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - de: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - el: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - en: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - es: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - et: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - fr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - he: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - hu: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - id: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - it: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ja: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ko: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - lv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - mn: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nb: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - nl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - pt-BR: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ro: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - ru: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sl: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - sv: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - tr: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article_translated_content - vi: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-CN: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - zh-TW: - author_id: 1 - body: This is the body of the article. - created_at: 1663597223 - description: This article will show you how to create a new article. - state: published - title: How to create a new article - type: article_content - updated_at: 1663597260 - url: http://intercom.test/help/en/articles/3-default-language - type: article - updated_at: 1734537292 - url: >- - http://help-center.test/myapp-74/en/articles/45-this-is-the-article-title - workspace_id: this_is_an_id74_that_should_be_at_least_4 - method: GET - path: /articles/{id} - request: - name: RetrieveArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: Article found - status-code: 200 - type: Article - source: - openapi: ../descriptions/0/api.intercom.io.yaml - searchArticles: - auth: true - display-name: Search for articles - docs: >- - You can search for articles by making a GET request to - `https://api.intercom.io/articles/search`. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Search successful - query-parameters: - phrase: Getting started - state: published - response: - body: - data: - articles: - - author_id: 991267521 - body: '' - created_at: 1734537306 - default_locale: en - description: '' - id: '55' - parent_ids: - - 18 - - 19 - state: draft - title: Title 1 - type: article - updated_at: 1734537306 - workspace_id: this_is_an_id92_that_should_be_at_least_4 - highlights: - - article_id: '123' - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /articles/search - request: - name: SearchArticlesRequest - query-parameters: - help_center_id: - docs: The ID of the Help Center to search in. - type: optional - highlight: - docs: >- - Return a highlighted version of the matching content within your - articles. Refer to the response schema for more details. - type: optional - phrase: - docs: The phrase within your articles to search for. - type: optional - state: - docs: >- - The state of the Articles returned. One of `published`, `draft` or - `all`. - type: optional - response: - docs: Search successful - status-code: 200 - type: ArticleSearchResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/awayStatusReasons.yml b/fern/.definition/unstable/awayStatusReasons.yml deleted file mode 100644 index 64eaf4b..0000000 --- a/fern/.definition/unstable/awayStatusReasons.yml +++ /dev/null @@ -1,37 +0,0 @@ -imports: - unstableRoot: __package__.yml -docs: Everything about your Away Status Reasons -service: - auth: false - base-path: '' - display-name: Away Status Reasons - endpoints: - listAwayStatusReasons: - auth: true - display-name: List all away status reasons - docs: >- - Returns a list of all away status reasons configured for the workspace, - including deleted ones. - errors: - - unstableRoot.UnauthorizedError - examples: - - response: - body: - - created_at: 1734537243 - deleted: false - emoji: ☕ - id: id - label: On a break - order: 1 - type: away_status_reason - updated_at: 1734537243 - method: GET - path: /away_status_reasons - response: - docs: Successful response - status-code: 200 - type: list - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/brands.yml b/fern/.definition/unstable/brands.yml deleted file mode 100644 index 738eac4..0000000 --- a/fern/.definition/unstable/brands.yml +++ /dev/null @@ -1,123 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Brand: - docs: Represents a branding configuration for the workspace - properties: - created_at: - docs: Unix timestamp of brand creation - type: optional - default_address_settings_id: - docs: Default email settings ID for this brand - type: optional - help_center_id: - docs: Associated help center identifier - type: optional - id: - docs: Unique brand identifier. For default brand, matches the workspace ID - type: optional - is_default: - docs: Whether this is the workspace's default brand - type: optional - name: - docs: Display name of the brand - type: optional - type: - docs: The type of object - type: optional - updated_at: - docs: Unix timestamp of last modification - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - BrandList: - docs: A list of brands - properties: - data: - type: optional> - type: - docs: The type of object - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Brands -service: - auth: false - base-path: '' - display-name: Brands - endpoints: - listBrands: - auth: true - display-name: List all brands - docs: | - Retrieves all brands for the workspace, including the default brand. - The default brand id always matches the workspace - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - response: - body: - data: - - created_at: 1673778600 - default_address_settings_id: '13' - help_center_id: '11' - id: tlkp1d91 - is_default: true - name: Default Brand - type: brand - updated_at: 1711031100 - - created_at: 1686387300 - default_address_settings_id: '15' - help_center_id: '10' - id: '3' - is_default: false - name: Premium Brand - type: brand - updated_at: 1709229600 - type: list - method: GET - path: /brands - response: - docs: Successful response - status-code: 200 - type: BrandList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveBrand: - auth: true - display-name: Retrieve a brand - docs: Fetches a specific brand by its unique identifier - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: id - response: - body: - created_at: 1686387300 - default_address_settings_id: '15' - help_center_id: '20' - id: '15' - is_default: false - name: Premium Brand - type: brand - updated_at: 1709229600 - method: GET - path: /brands/{id} - request: - name: RetrieveBrandRequest - path-parameters: - id: - docs: The unique identifier of the brand - type: string - response: - docs: Successful response - status-code: 200 - type: Brand - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/calls.yml b/fern/.definition/unstable/calls.yml deleted file mode 100644 index dea3950..0000000 --- a/fern/.definition/unstable/calls.yml +++ /dev/null @@ -1,291 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Call: - docs: Represents a phone call in Intercom - properties: - admin_id: - docs: The id of the admin associated with the call, if any. - type: optional - answered_at: - type: optional - call_type: - docs: The type of call. - type: optional - contact_id: - docs: The id of the contact associated with the call, if any. - type: optional - conversation_id: - docs: The id of the conversation associated with the call, if any. - type: optional - created_at: - type: optional - direction: - docs: The direction of the call. - type: optional - ended_at: - type: optional - ended_reason: - docs: The reason for the call end, if applicable. - type: optional - fin_recording_url: - docs: API URL to the AI Agent (Fin) call recording if available. - type: optional - validation: - format: uri - fin_transcription_url: - docs: API URL to the AI Agent (Fin) call transcript if available. - type: optional - validation: - format: uri - id: - docs: The id of the call. - type: optional - initiated_at: - type: optional - phone: - docs: The phone number involved in the call, in E.164 format. - type: optional - recording_url: - docs: API URL to download or redirect to the call recording if available. - type: optional - validation: - format: uri - state: - docs: The current state of the call. - type: optional - type: - docs: String representing the object's type. Always has the value `call`. - type: optional - updated_at: - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ListCallsWithTranscriptsResponse: - properties: - data: optional> - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ListCallsWithTranscriptsResponseDataItem: - extends: - - Call - inline: true - properties: - transcript: - docs: The call transcript if available, otherwise an empty array. - type: optional>> - transcript_status: - docs: The status of the transcript if available. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - listCalls: - auth: true - display-name: List all calls - docs: | - Retrieve a paginated list of calls. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - admin_id: '789' - answered_at: '2024-01-15T09:30:00Z' - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '456' - created_at: '2024-01-15T09:30:00Z' - direction: outbound - ended_at: '2024-01-15T09:30:00Z' - ended_reason: completed - fin_recording_url: fin_recording_url - fin_transcription_url: fin_transcription_url - id: '123' - initiated_at: '2024-01-15T09:30:00Z' - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - type: call - updated_at: '2024-01-15T09:30:00Z' - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 25 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /calls - request: - name: ListCallsRequest - query-parameters: - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to display per page. Defaults to 25. Max 25. - type: optional - response: - docs: successful - status-code: 200 - type: unstableRoot.CallList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listCallsWithTranscripts: - auth: true - display-name: List calls with transcripts - docs: > - Retrieve calls by a list of conversation ids and include transcripts - when available. - - A maximum of 20 `conversation_ids` can be provided. If none are provided - or more than 20 are provided, a 400 error is returned. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - conversation_ids: - - '64619700005694' - - '64619700005695' - response: - body: - data: - - admin_id: '789' - answered_at: '2024-01-15T09:30:00Z' - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '64619700005694' - created_at: '2024-01-15T09:30:00Z' - direction: outbound - ended_at: '2024-01-15T09:30:00Z' - ended_reason: completed - fin_recording_url: fin_recording_url - fin_transcription_url: fin_transcription_url - id: '123' - initiated_at: '2024-01-15T09:30:00Z' - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - transcript: - - key: value - transcript_status: completed - type: call - updated_at: '2024-01-15T09:30:00Z' - type: list - method: POST - path: /calls/search - request: - body: - properties: - conversation_ids: - docs: A list of conversation ids to fetch calls for. Maximum 20. - type: list - content-type: application/json - name: ListCallsWithTranscriptsRequest - response: - docs: successful - status-code: 200 - type: ListCallsWithTranscriptsResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - showCall: - auth: true - display-name: Get a call - docs: Retrieve a single call by id. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: id - response: - body: - admin_id: '789' - answered_at: 1734537440 - call_type: phone - contact_id: 6762f0dd1bb69f9f2193bb83 - conversation_id: '456' - created_at: 1734537437 - direction: outbound - ended_at: 1734537530 - ended_reason: answered - fin_recording_url: https://api.intercom.io/calls/124/recording - fin_transcription_url: https://api.intercom.io/calls/124/transcript - id: '123' - initiated_at: 1734537437 - phone: '+15551234567' - recording_url: https://api.intercom.io/calls/123/recording - state: completed - type: call - updated_at: 1734537531 - method: GET - path: /calls/{id} - request: - name: ShowCallRequest - path-parameters: - id: - docs: The id of the call to retrieve - type: string - response: - docs: successful - status-code: 200 - type: Call - source: - openapi: ../descriptions/0/api.intercom.io.yaml - showCallRecording: - auth: true - display-name: Get call recording by call id - docs: Redirects to a signed URL for the call's recording if it exists. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - path-parameters: - id: id - method: GET - path: /calls/{id}/recording - request: - name: ShowCallRecordingRequest - path-parameters: - id: - docs: The id of the call - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - showCallTranscript: - auth: true - display-name: Get call transcript by call id - docs: > - Returns the transcript for the specified call as a downloadable text - file. - errors: - - unstableRoot.NotFoundError - method: GET - path: /calls/{id}/transcript - request: - name: ShowCallTranscriptRequest - path-parameters: - id: - docs: The id of the call - type: string - response: - docs: successful - status-code: 200 - type: text - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/companies.yml b/fern/.definition/unstable/companies.yml deleted file mode 100644 index 55807ac..0000000 --- a/fern/.definition/unstable/companies.yml +++ /dev/null @@ -1,901 +0,0 @@ -imports: - unstableRoot: __package__.yml - unstableSegments: segments.yml -types: - Company: - docs: >- - Companies allow you to represent organizations using your product. Each - company will have its own description and be associated with contacts. You - can fetch, create, update and list companies. - properties: - app_id: - docs: >- - The Intercom defined code of the workspace the company is associated - to. - type: optional - company_id: - docs: The company id you have defined for the company. - type: optional - created_at: - docs: The time the company was added in Intercom. - type: optional - custom_attributes: - docs: The custom attributes you have set on the company. - type: optional> - id: - docs: The Intercom defined id representing the company. - type: optional - industry: - docs: The industry that the company operates in. - type: optional - last_request_at: - docs: The time the company last recorded making a request. - type: optional - monthly_spend: - docs: How much revenue the company generates for your business. - type: optional - name: - docs: The name of the company. - type: optional - plan: - type: optional - remote_created_at: - docs: The time the company was created by you. - type: optional - segments: - docs: The list of segments associated with the company - type: optional - session_count: - docs: How many sessions the company has recorded. - type: optional - size: - docs: The number of employees in the company. - type: optional - tags: - docs: The list of tags associated with the company - type: optional - type: - docs: Value is `company` - type: optional> - updated_at: - docs: The last time the company was updated. - type: optional - user_count: - docs: The number of users in the company. - type: optional - website: - docs: The URL for the company website. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyPlan: - inline: true - properties: - id: - docs: The id of the plan - type: optional - name: - docs: The name of the plan - type: optional - type: - docs: Value is always "plan" - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanySegments: - docs: The list of segments associated with the company - inline: true - properties: - segments: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CompanyTags: - docs: The list of tags associated with the company - inline: true - properties: - tags: optional> - type: - docs: The type of the object - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Companies -service: - auth: false - base-path: '' - display-name: Companies - endpoints: - attachContactToACompany: - auth: true - display-name: Attach a Contact to a Company - docs: You can attach a company to a single contact. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: id - request: - company_id: 6762f09a1bb69f9f2193bb34 - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - - name: Bad Request - path-parameters: - id: id - request: - company_id: 58a430d35458202d41b1e65b - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - - name: Company Not Found - path-parameters: - id: id - request: - company_id: '123' - response: - body: - app_id: this_is_an_id197_that_should_be_at_least_ - company_id: '1' - created_at: 1734537370 - custom_attributes: - key: value - id: 6762f09a1bb69f9f2193bb34 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company6 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537370 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537370 - user_count: 1 - website: https://www.intercom.com - method: POST - path: /contacts/{id}/companies - request: - body: - properties: - company_id: - docs: The unique identifier for the company which is given by Intercom - type: string - content-type: application/json - name: AttachContactToACompanyRequest - path-parameters: - id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/0/api.intercom.io.yaml - createOrUpdateCompany: - auth: true - display-name: Create or Update a company - docs: > - You can create or update a company. - - - Companies will be only visible in Intercom when there is at least one - associated user. - - - Companies are looked up via `company_id` in a `POST` request, if not - found via `company_id`, the new company will be created, if found, that - company will be updated. - - - {% admonition type="warning" name="Using `company_id`" %} - You can set a unique `company_id` value when creating a company. However, it is not possible to update `company_id`. Be sure to set a unique value once upon creation of the company. - {% /admonition %} - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - method: POST - path: /companies - request: - body: unknown - content-type: application/json - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteCompany: - auth: true - display-name: Delete a company - docs: You can delete a single company. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - deleted: true - id: 6762f0881bb69f9f2193bb09 - object: company - method: DELETE - path: /companies/{id} - request: - name: DeleteCompanyRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: unstableRoot.DeletedCompanyObject - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachContactFromACompany: - auth: true - display-name: Detach a contact from a company - docs: You can detach a company from a single contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 58a430d35458202d41b1e65b - id: 58a430d35458202d41b1e65b - response: - body: - app_id: this_is_an_id205_that_should_be_at_least_ - company_id: '1' - created_at: 1734537376 - custom_attributes: - key: value - id: 6762f0a01bb69f9f2193bb44 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company8 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537376 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537377 - user_count: 0 - website: https://www.intercom.com - method: DELETE - path: /contacts/{contact_id}/companies/{id} - request: - name: DetachContactFromACompanyRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listAllCompanies: - auth: true - display-name: List all companies - docs: > - You can list companies. The company list is sorted by the - `last_request_at` field and by default is ordered descending, most - recently requested first. - - - Note that the API does not include companies who have no associated - users in list responses. - - - When using the Companies endpoint and the pages object to iterate - through the returned companies, there is a limit of 10,000 Companies - that can be returned. If you need to list or iterate on more than 10,000 - Companies, please use the [Scroll - API](https://developers.intercom.com/reference#iterating-over-all-companies). - - {% admonition type="warning" name="Pagination" %} - You can use pagination to limit the number of results returned. The default is `20` results per page. - See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful - query-parameters: - order: desc - response: - body: - data: - - app_id: this_is_an_id189_that_should_be_at_least_ - company_id: remote_companies_scroll_2 - created_at: 1734537364 - custom_attributes: - key: value - id: 6762f0941bb69f9f2193bb25 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: IntercomQATest1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537364 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - type: tag.list - type: company - updated_at: 1734537364 - user_count: 4 - website: https://www.intercom.com - pages: - page: 1 - per_page: 15 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: POST - path: /companies/list - request: - name: ListAllCompaniesRequest - query-parameters: - order: - docs: >- - `asc` or `desc`. Return the companies in ascending or descending - order. Defaults to desc - type: optional - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to return per page. Defaults to 15 - type: optional - response: - docs: Successful - status-code: 200 - type: unstableRoot.CompanyList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ListAttachedContacts: - auth: true - display-name: List attached contacts - docs: You can fetch a list of all contacts that belong to a company. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: - type: avatar - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - formatted_phone: '+1123456789' - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 50 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /companies/{id}/contacts - request: - name: ListAttachedContactsRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: unstableRoot.CompanyAttachedContacts - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ListAttachedSegmentsForCompanies: - auth: true - display-name: List attached segments for companies - docs: You can fetch a list of all segments that belong to a company. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - data: - - count: 3 - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - person_type: contact - type: segment - updated_at: 1394622004 - type: list - method: GET - path: /companies/{id}/segments - request: - name: ListAttachedSegmentsForCompaniesRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: unstableRoot.CompanyAttachedSegments - source: - openapi: ../descriptions/0/api.intercom.io.yaml - RetrieveACompanyById: - auth: true - display-name: Retrieve a company by ID - docs: You can fetch a single company. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - app_id: this_is_an_id159_that_should_be_at_least_ - company_id: '1' - created_at: 1734537343 - custom_attributes: - key: value - id: 6762f07f1bb69f9f2193baf5 - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537343 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537343 - user_count: 1 - website: https://www.intercom.com - method: GET - path: /companies/{id} - request: - name: RetrieveACompanyByIdRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveCompany: - auth: true - display-name: Retrieve companies - docs: > - You can fetch a single company by passing in `company_id` or `name`. - - `https://api.intercom.io/companies?name={name}` - - `https://api.intercom.io/companies?company_id={company_id}` - - You can fetch all companies and filter by `segment_id` or `tag_id` as a - query parameter. - - `https://api.intercom.io/companies?tag_id={tag_id}` - - `https://api.intercom.io/companies?segment_id={segment_id}` - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - query-parameters: - company_id: '12345' - name: my company - segment_id: '98765' - tag_id: '678910' - response: - body: - data: - - app_id: this_is_an_id153_that_should_be_at_least_ - company_id: remote_companies_scroll_2 - created_at: 1734537338 - custom_attributes: - key: value - id: 6762f07a1bb69f9f2193baea - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: IntercomQATest1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537338 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - type: tag.list - type: company - updated_at: 1734537338 - user_count: 4 - website: https://www.intercom.com - pages: - page: 1 - per_page: 15 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /companies - request: - name: RetrieveCompanyRequest - query-parameters: - company_id: - docs: The `company_id` of the company to filter by. - type: optional - name: - docs: The `name` of the company to filter by. - type: optional - page: - docs: The page of results to fetch. Defaults to first page - type: optional - per_page: - docs: How many results to display per page. Defaults to 15 - type: optional - segment_id: - docs: The `segment_id` of the company to filter by. - type: optional - tag_id: - docs: The `tag_id` of the company to filter by. - type: optional - response: - docs: Successful - status-code: 200 - type: unstableRoot.CompanyList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - scrollOverAllCompanies: - auth: true - display-name: Scroll over all companies - docs: >2 - The `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset. - - - Each app can only have 1 scroll open at a time. You'll get an error - message if you try to have more than one open per app. - - - If the scroll isn't used for 1 minute, it expires and calls with that - scroll param will fail - - - If the end of the scroll is reached, "companies" will be empty and the - scroll parameter will expire - - - {% admonition type="info" name="Scroll Parameter" %} - You can get the first page of companies by simply sending a GET request to the scroll endpoint. - For subsequent requests you will need to use the scroll parameter from the response. - {% /admonition %} - - {% admonition type="danger" name="Scroll network timeouts" %} - Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: - "Request failed due to an internal network error. Please restart the scroll operation." - If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - app_id: this_is_an_id193_that_should_be_at_least_ - company_id: remote_companies_scroll_2 - created_at: 1734537367 - custom_attributes: - key: value - id: 6762f0971bb69f9f2193bb2b - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: IntercomQATest1 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537367 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - type: tag.list - type: company - updated_at: 1734537367 - user_count: 4 - website: https://www.intercom.com - scroll_param: 69352cd2-ab5b-42ac-b004-a13d4e55e9b0 - type: list - method: GET - path: /companies/scroll - request: - name: ScrollOverAllCompaniesRequest - query-parameters: - scroll_param: - docs: '' - type: optional - response: - docs: Successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateCompany: - auth: true - display-name: Update a company - docs: | - You can update a single company using the Intercom provisioned `id`. - - {% admonition type="warning" name="Using `company_id`" %} - When updating a company it is not possible to update `company_id`. This can only be set once upon creation of the company. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - response: - body: - app_id: this_is_an_id165_that_should_be_at_least_ - company_id: '1' - created_at: 1734537348 - custom_attributes: - key: value - id: 6762f0841bb69f9f2193baff - industry: Software - last_request_at: 1663597223 - monthly_spend: 0 - name: company2 - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1734537348 - segments: - segments: - - created_at: 1394621988 - id: 56203d253cba154d39010062 - name: Active - updated_at: 1394622004 - type: segment.list - session_count: 0 - size: 100 - tags: - tags: - - key: value - type: tag.list - type: company - updated_at: 1734537348 - user_count: 1 - website: https://www.intercom.com - method: PUT - path: /companies/{id} - request: - name: UpdateCompanyRequest - path-parameters: - id: - docs: The unique identifier for the company which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: Company - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/contacts.yml b/fern/.definition/unstable/contacts.yml deleted file mode 100644 index 4562879..0000000 --- a/fern/.definition/unstable/contacts.yml +++ /dev/null @@ -1,1417 +0,0 @@ -imports: - root: ../__package__.yml - unstableRoot: __package__.yml -types: - Contact: - docs: Contacts represent your leads and users in Intercom. - properties: - android_app_name: - docs: The name of the Android app which the contact is using. - type: optional - android_app_version: - docs: The version of the Android app which the contact is using. - type: optional - android_device: - docs: The Android device which the contact is using. - type: optional - android_last_seen_at: - docs: >- - (UNIX timestamp) The time when the contact was last seen on an Android - device. - type: optional - android_os_version: - docs: The version of the Android OS which the contact is using. - type: optional - android_sdk_version: - docs: The version of the Android SDK which the contact is using. - type: optional - avatar: - type: optional - browser: - docs: The name of the browser which the contact is using. - type: optional - browser_language: - docs: The language set by the browser which the contact is using. - type: optional - browser_version: - docs: The version of the browser which the contact is using. - type: optional - companies: - type: optional - created_at: - docs: (UNIX timestamp) The time when the contact was created. - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact. - type: optional> - email: - docs: The contact's email. - type: optional - email_domain: - docs: The contact's email domain. - type: optional - external_id: - docs: The unique identifier for the contact which is provided by the Client. - type: optional - formatted_phone: - docs: The contacts phone number normalized to the E164 format - type: optional - has_hard_bounced: - docs: Whether the contact has had an email sent to them hard bounce. - type: optional - id: - docs: The unique identifier for the contact which is given by Intercom. - type: optional - ios_app_name: - docs: The name of the iOS app which the contact is using. - type: optional - ios_app_version: - docs: The version of the iOS app which the contact is using. - type: optional - ios_device: - docs: The iOS device which the contact is using. - type: optional - ios_last_seen_at: - docs: (UNIX timestamp) The last time the contact used the iOS app. - type: optional - ios_os_version: - docs: The version of iOS which the contact is using. - type: optional - ios_sdk_version: - docs: The version of the iOS SDK which the contact is using. - type: optional - language_override: - docs: >- - A preferred language setting for the contact, used by the Intercom - Messenger even if their browser settings change. - type: optional - last_contacted_at: - docs: (UNIX timestamp) The time when the contact was last messaged. - type: optional - last_email_clicked_at: - docs: >- - (UNIX timestamp) The time when the contact last clicked a link in an - email. - type: optional - last_email_opened_at: - docs: (UNIX timestamp) The time when the contact last opened an email. - type: optional - last_replied_at: - docs: (UNIX timestamp) The time when the contact last messaged in. - type: optional - last_seen_at: - docs: >- - (UNIX timestamp) The time when the contact was last seen (either where - the Intercom Messenger was installed or when specified manually). - type: optional - location: - type: optional - marked_email_as_spam: - docs: Whether the contact has marked an email sent to them as spam. - type: optional - name: - docs: The contacts name. - type: optional - notes: - type: optional - os: - docs: The operating system which the contact is using. - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of the - contact. - type: optional - phone: - docs: The contacts phone. - type: optional - role: - docs: The role of the contact. - type: optional - signed_up_at: - docs: (UNIX timestamp) The time specified for when a contact signed up. - type: optional - social_profiles: - type: optional - tags: - type: optional - type: - docs: The type of object. - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails. - type: optional - updated_at: - docs: (UNIX timestamp) The time when the contact was last updated. - type: optional - workspace_id: - docs: The id of the workspace which the contact belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ContactAvatar: - inline: true - properties: - image_url: - docs: An image URL containing the avatar of a contact. - type: optional - validation: - format: uri - type: - docs: The type of object - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MergeContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ShowContactByExternalIdResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ShowContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateContactResponse: - extends: - - Contact - properties: - enabled_push_messaging: - docs: If the user has enabled push messaging. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your contacts -service: - auth: false - base-path: '' - display-name: Contacts - endpoints: - ArchiveContact: - auth: true - display-name: Archive contact - docs: You can archive a single contact. - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - archived: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/archive - request: - name: ArchiveContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactArchived - source: - openapi: ../descriptions/0/api.intercom.io.yaml - BlockContact: - auth: true - display-name: Block contact - docs: >- - Block a single contact.
**Note:** conversations of the contact will - also be archived during the process.
More details in [FAQ How do I - block Inbox - spam?](https://www.intercom.com/help/en/articles/8838656-inbox-faqs) - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - blocked: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/block - request: - name: BlockContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactBlocked - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateContact: - auth: true - display-name: Create contact - docs: You can create a new contact (ie. user or lead). - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - email: joebloggs@intercom.io - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/companies - created_at: 1734537437 - custom_attributes: - key: value - email: joebloggs@intercom.io - email_domain: example.com - has_hard_bounced: false - id: 6762f0dd1bb69f9f2193bb83 - location: - type: location - marked_email_as_spam: false - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/notes - role: user - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0dd1bb69f9f2193bb83/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537437 - workspace_id: this_is_an_id303_that_should_be_at_least_ - method: POST - path: /contacts - request: - body: root.CreateContactRequestTwo - content-type: application/json - response: - docs: successful - status-code: 200 - type: CreateContactResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DeleteContact: - auth: true - display-name: Delete a contact - docs: You can delete a single contact. - errors: - - unstableRoot.UnauthorizedError - examples: - - path-parameters: - id: id - response: - body: - deleted: true - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: DELETE - path: /contacts/{id} - request: - name: DeleteContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactDeleted - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listCompaniesForAContact: - auth: true - display-name: List attached companies for contact - docs: You can fetch a list of companies that are associated to a contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: custom_attributes - paid_subscriber: custom_attributes - team_mates: custom_attributes - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - plan: - id: '269315' - name: Pro - type: plan - remote_created_at: 1663597223 - session_count: 100 - size: 100 - type: company - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - pages: - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /contacts/{id}/companies - request: - name: ListCompaniesForAContactRequest - path-parameters: - id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactAttachedCompanies - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ListContacts: - auth: true - display-name: List all contacts - docs: > - You can fetch a list of all contacts (ie. users or leads) in your - workspace. - - {% admonition type="warning" name="Pagination" %} - You can use 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/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: - type: avatar - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - formatted_phone: '+1123456789' - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /contacts - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listSegmentsForAContact: - auth: true - display-name: List attached segments for contact - docs: You can fetch a list of segments that are associated to a contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - count: 3 - created_at: 1734537394 - id: 6762f0b21bb69f9f2193bb65 - name: segment - person_type: user - type: segment - updated_at: 1734537394 - type: list - method: GET - path: /contacts/{contact_id}/segments - request: - name: ListSegmentsForAContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactSegments - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listSubscriptionsForAContact: - auth: true - display-name: List subscriptions for a contact - docs: > - 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. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - consent_type: opt_out - content_types: - - email - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '91' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '93' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - type: list - method: GET - path: /contacts/{contact_id}/subscriptions - request: - name: ListSubscriptionsForAContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: unstableRoot.SubscriptionTypeList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listTagsForAContact: - auth: true - display-name: List tags attached to a contact - docs: >- - You can fetch a list of all tags that are attached to a specific - contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - response: - body: - data: - - applied_at: 1663597223 - applied_by: - type: contact - id: '80' - name: Manual tag - type: tag - type: list - method: GET - path: /contacts/{contact_id}/tags - request: - name: ListTagsForAContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.TagList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MergeContact: - auth: true - display-name: Merge a lead and a user - docs: >- - You can merge a contact with a `role` of `lead` into a contact with a - `role` of `user`. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - from: 6762f0d51bb69f9f2193bb7f - into: 6762f0d51bb69f9f2193bb80 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/companies - created_at: 1734537429 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0d51bb69f9f2193bb80 - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/notes - role: user - signed_up_at: 1734537429 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d51bb69f9f2193bb80/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537430 - workspace_id: this_is_an_id291_that_should_be_at_least_ - method: POST - path: /contacts/merge - request: - body: - properties: - from: - docs: >- - The unique identifier for the contact to merge away from. Must - be a lead. - type: optional - into: - docs: >- - The unique identifier for the contact to merge into. Must be a - user. - type: optional - content-type: application/json - name: MergeContactsRequest - response: - docs: successful - status-code: 200 - type: MergeContactResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SearchContacts: - auth: true - display-name: Search contacts - docs: > - 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 | String
Accepts user or lead | - - | name | String | - - | avatar | String | - - | owner_id | Integer | - - | email | String | - - | email_domain | String | - - | phone | String | - - | formatted_phone | String | - - | external_id | String | - - | created_at | Date (UNIX Timestamp) | - - | signed_up_at | Date (UNIX Timestamp) | - - | updated_at | Date (UNIX Timestamp) | - - | last_seen_at | Date (UNIX Timestamp) | - - | last_contacted_at | Date (UNIX Timestamp) | - - | last_replied_at | Date (UNIX Timestamp) | - - | last_email_opened_at | Date (UNIX Timestamp) | - - | last_email_clicked_at | Date (UNIX Timestamp) | - - | language_override | String | - - | browser | String | - - | browser_language | String | - - | os | String | - - | location.country | String | - - | location.region | String | - - | location.city | String | - - | unsubscribed_from_emails | Boolean | - - | marked_email_as_spam | Boolean | - - | has_hard_bounced | Boolean | - - | ios_last_seen_at | Date (UNIX Timestamp) | - - | ios_app_version | String | - - | ios_device | String | - - | ios_app_device | String | - - | ios_os_version | String | - - | ios_app_name | String | - - | ios_sdk_version | String | - - | android_last_seen_at | Date (UNIX Timestamp) | - - | android_app_version | String | - - | android_device | String | - - | android_app_name | String | - - | andoid_sdk_version | String | - - | segment_id | String | - - | tag_id | String | - - | custom_attributes.{attribute_name} | String | - - - ### Accepted Operators - - - {% admonition type="warning" name="Searching based on `created_at`" %} - You cannot use the `<=` or `>=` operators to search by `created_at`. - {% /admonition %} - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :------------------------------- | - :--------------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In
Shortcut for `OR` - queries
Values must be in Array | - - | NIN | All | Not In
Shortcut for - `OR !` queries
Values must be in Array | - - | > | Integer
Date (UNIX Timestamp) | Greater - than | - - | < | Integer
Date (UNIX Timestamp) | Lower - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - data: - - android_app_name: Intercom - android_app_version: 5.0.0 - android_device: Pixel 3 - android_last_seen_at: 1571672154 - android_os_version: '10' - android_sdk_version: '28' - avatar: - type: avatar - browser: Chrome - browser_language: en-US - browser_version: 80.0.3987.132 - companies: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/companies - created_at: 1571672154 - custom_attributes: - key: value - email: joe@example.com - email_domain: example.com - external_id: f3b87a2e09d514c6c2e79b9a - formatted_phone: '+1123456789' - has_hard_bounced: true - id: 5ba682d23d7cf92bef87bfd4 - ios_app_name: Intercom - ios_app_version: 5.0.0 - ios_device: iPhone 11 - ios_last_seen_at: 1571672154 - ios_os_version: 13.3.1 - ios_sdk_version: 13.3.1 - language_override: en - last_contacted_at: 1571672154 - last_email_clicked_at: 1571672154 - last_email_opened_at: 1571672154 - last_replied_at: 1571672154 - last_seen_at: 1571672154 - marked_email_as_spam: true - name: John Doe - notes: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - os: Mac OS X - owner_id: 123 - phone: '+1123456789' - role: user - signed_up_at: 1571672154 - tags: - has_more: true - total_count: 100 - url: /contacts/5ba682d23d7cf92bef87bfd4/tags - type: contact - unsubscribed_from_emails: true - updated_at: 1571672154 - workspace_id: ecahpwf5 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: POST - path: /contacts/search - request: - body: - type: unstableRoot.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ShowContact: - auth: true - display-name: Get a contact - docs: You can fetch the details of a single contact. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/companies - created_at: 1734537424 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0d01bb69f9f2193bb7d - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/notes - role: user - signed_up_at: 1734537424 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0d01bb69f9f2193bb7d/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537424 - workspace_id: this_is_an_id283_that_should_be_at_least_ - method: GET - path: /contacts/{id} - request: - name: ShowContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: ShowContactResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ShowContactByExternalId: - auth: true - display-name: Get a contact by External ID - docs: >- - You can fetch the details of a single contact by external ID. Note that - this endpoint only supports users and not leads. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - external_id: cdd29344-5e0c-4ef0-ac56-f9ba2979bc27 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/companies - created_at: 1734537439 - custom_attributes: - key: value - email: joe@bloggs.com - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0df1bb69f9f2193bb84 - location: - type: location - marked_email_as_spam: false - name: Joe Bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/notes - role: user - signed_up_at: 1734537439 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0df1bb69f9f2193bb84/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537439 - workspace_id: this_is_an_id307_that_should_be_at_least_ - method: GET - path: /contacts/find_by_external_id/{external_id} - request: - name: ShowContactByExternalIdRequest - path-parameters: - external_id: - docs: The external ID of the user that you want to retrieve - type: string - response: - docs: successful - status-code: 200 - type: ShowContactByExternalIdResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UnarchiveContact: - auth: true - display-name: Unarchive contact - docs: You can unarchive a single contact. - examples: - - path-parameters: - id: 63a07ddf05a32042dffac965 - response: - body: - archived: false - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - method: POST - path: /contacts/{id}/unarchive - request: - name: UnarchiveContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.ContactUnarchived - source: - openapi: ../descriptions/0/api.intercom.io.yaml - UpdateContact: - auth: true - display-name: Update a contact - docs: | - You can update an existing contact (ie. user or lead). - - {% admonition type="info" %} - This endpoint handles both **contact updates** and **custom object associations**. - - See _`update a contact with an association to a custom object instance`_ in the request/response examples to see the custom object association format. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: 63a07ddf05a32042dffac965 - request: - email: joebloggs@intercom.io - name: joe bloggs - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/companies - created_at: 1734537421 - custom_attributes: - key: value - email: joebloggs@intercom.io - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0cd1bb69f9f2193bb7c - location: - type: location - marked_email_as_spam: false - name: joe bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/notes - role: user - signed_up_at: 1734537421 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537422 - workspace_id: this_is_an_id279_that_should_be_at_least_ - - name: update a contact with an association to a custom object instance - path-parameters: - id: 63a07ddf05a32042dffac965 - request: - custom_attributes: - order: - - '21' - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/companies - created_at: 1734537421 - custom_attributes: - order: - instances: - - custom_attributes: - order_number: ORDER-12345 - total_amount: 99.99 - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '21' - type: Order - type: Order.list - email: joebloggs@intercom.io - email_domain: example.com - external_id: '70' - has_hard_bounced: false - id: 6762f0cd1bb69f9f2193bb7c - location: - type: location - marked_email_as_spam: false - name: joe bloggs - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/notes - role: user - signed_up_at: 1734537421 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f0cd1bb69f9f2193bb7c/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734537422 - workspace_id: this_is_an_id279_that_should_be_at_least_ - method: PUT - path: /contacts/{id} - request: - body: - properties: - avatar: - docs: An image URL containing the avatar of a contact - type: optional - custom_attributes: - docs: The custom attributes which are set for the contact - type: optional> - email: - docs: The contacts email - type: optional - external_id: - docs: A unique identifier for the contact which is given to Intercom - type: optional - last_seen_at: - docs: >- - The time when the contact was last seen (either where the - Intercom Messenger was installed or when specified manually) - type: optional - name: - docs: The contacts name - type: optional - owner_id: - docs: >- - The id of an admin that has been assigned account ownership of - the contact - type: optional - phone: - docs: The contacts phone - type: optional - role: - docs: The role of the contact. - type: optional - signed_up_at: - docs: The time specified for when a contact signed up - type: optional - unsubscribed_from_emails: - docs: Whether the contact is unsubscribed from emails - type: optional - content-type: application/json - name: UpdateContactRequest - path-parameters: - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: UpdateContactResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/conversations.yml b/fern/.definition/unstable/conversations.yml deleted file mode 100644 index 795c10c..0000000 --- a/fern/.definition/unstable/conversations.yml +++ /dev/null @@ -1,3932 +0,0 @@ -imports: - unstableAiAgent: aiAgent.yml - unstableMessages: messages.yml - unstableRoot: __package__.yml - unstableTickets: tickets.yml -types: - AttachContactToConversationRequestCustomer: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: AttachContactToConversationRequestCustomerIntercomUserId - - type: AttachContactToConversationRequestCustomerUserId - - type: AttachContactToConversationRequestCustomerCustomer - AttachContactToConversationRequestCustomerCustomer: - inline: true - properties: - customer: - type: optional - email: - docs: >- - The email you have defined for the contact who is being added as a - participant. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AttachContactToConversationRequestCustomerIntercomUserId: - inline: true - properties: - customer: - type: optional - intercom_user_id: - docs: The identifier for the contact as given by Intercom. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - AttachContactToConversationRequestCustomerUserId: - inline: true - properties: - customer: - type: optional - user_id: - docs: >- - The external_id you have defined for the contact who is being added as - a participant. - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - Conversation: - docs: >- - 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. - properties: - admin_assignee_id: - docs: >- - The id of the admin assigned to the conversation. If it's not assigned - to an admin it will return null. - type: optional - ai_agent: - type: optional - ai_agent_participated: - docs: Indicates whether the AI Agent participated in the conversation. - type: optional - company_id: - docs: >- - The ID of the company that the conversation is associated with. The - unique identifier for the company which is given by Intercom. - type: optional - contacts: - type: optional - conversation_parts: - type: optional - conversation_rating: - type: optional - created_at: - docs: The time the conversation was created. - type: optional - custom_attributes: - type: optional - first_contact_reply: - type: optional - id: - docs: The id representing the conversation. - type: optional - linked_objects: - type: optional - open: - docs: Indicates whether a conversation is open (true) or closed (false). - type: optional - priority: - docs: If marked as priority, it will return priority or else not_priority. - type: optional - read: - docs: Indicates whether a conversation has been read. - type: optional - sla_applied: - type: optional - snoozed_until: - docs: >- - If set this is the time in the future when this conversation will be - marked as open. i.e. it will be in a snoozed state until this time. - i.e. it will be in a snoozed state until this time. - type: optional - source: - type: optional - state: - docs: Can be set to "open", "closed" or "snoozed". - type: optional - statistics: - type: optional - tags: - type: optional - team_assignee_id: - docs: >- - The id of the team assigned to the conversation. If it's not assigned - to a team it will return null. - type: optional - teammates: - type: optional - title: - docs: The title given to the conversation. - type: optional - type: - docs: Always conversation. - type: optional - updated_at: - docs: The last time the conversation was updated. - type: optional - waiting_since: - docs: >- - The last time a Contact responded to an Admin. In other words, the - time a customer started waiting for a response. Set to null if last - reply is from an Admin. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationPriority: - docs: If marked as priority, it will return priority or else not_priority. - enum: - - priority - - not_priority - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ConversationState: - docs: Can be set to "open", "closed" or "snoozed". - enum: - - open - - closed - - snoozed - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateConversationRequestFrom: - inline: true - properties: - id: - docs: The identifier for the contact which is given by Intercom. - type: string - validation: - format: uuid - maxLength: 24 - minLength: 24 - type: - docs: The role associated to the contact - user or lead. - type: CreateConversationRequestFromType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - CreateConversationRequestFromType: - docs: The role associated to the contact - user or lead. - enum: - - lead - - user - - contact - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ManageConversationRequestBody: - base-properties: {} - discriminant: message_type - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - assignment: - type: unstableRoot.AssignConversationRequest - close: - type: unstableRoot.CloseConversationRequest - open: - type: unstableRoot.OpenConversationRequest - snoozed: - type: unstableRoot.SnoozeConversationRequest -docs: Everything about your Conversations -service: - auth: false - base-path: '' - display-name: Conversations - endpoints: - attachContactToConversation: - auth: true - display-name: Attach a contact to a conversation - docs: >+ - You can add participants who are contacts to a conversation, on behalf - of either another contact or an admin. - - - {% admonition type="warning" 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 %} - - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: Attach a contact to a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - customer: - intercom_user_id: 6762f19b1bb69f9f2193bbd4 - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Not found - path-parameters: - id: '123' - request: - admin_id: '12345' - customer: - intercom_user_id: 6762f19e1bb69f9f2193bbd5 - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - method: POST - path: /conversations/{id}/customers - request: - body: - properties: - admin_id: - docs: The `id` of the admin who is adding the new participant. - type: optional - customer: - type: optional - content-type: application/json - name: AttachContactToConversationRequest - path-parameters: - id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Attach a contact to a conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - convertConversationToTicket: - auth: true - display-name: Convert a conversation to a ticket - docs: You can convert a conversation to a ticket. - errors: - - unstableRoot.BadRequestError - examples: - - name: successful - path-parameters: - id: 1 - request: - ticket_type_id: '53' - response: - body: - admin_assignee_id: '0' - category: Customer - contacts: - contacts: - - external_id: '70' - id: 6762f2041bb69f9f2193bc0c - type: contact - type: contact.list - created_at: 1734537732 - id: '611' - is_shared: true - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - key: value - ticket_id: '22' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - id: 6762f2041bb69f9f2193bc0c - name: Joe Bloggs - type: user - body:

Comment for message

- created_at: 1734537732 - id: '151' - part_type: comment - redacted: false - type: ticket_part - updated_at: 1734537732 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id442_that_should_be_at_least_@intercom.io - id: '991267767' - name: Fin - type: bot - created_at: 1734537737 - id: '152' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537737 - total_count: 2 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '7493' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Customer - created_at: 1734537737 - description: my ticket type description is awesome. - icon: 🦁 - id: '53' - name: my-ticket-type-1 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537737 - workspace_id: this_is_an_id442_that_should_be_at_least_ - type: ticket - updated_at: 1734537737 - - name: Bad request - path-parameters: - id: 1 - request: - ticket_type_id: '54' - response: - body: - admin_assignee_id: '0' - category: Customer - contacts: - contacts: - - external_id: '70' - id: 6762f2041bb69f9f2193bc0c - type: contact - type: contact.list - created_at: 1734537732 - id: '611' - is_shared: true - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - key: value - ticket_id: '22' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - id: 6762f2041bb69f9f2193bc0c - name: Joe Bloggs - type: user - body:

Comment for message

- created_at: 1734537732 - id: '151' - part_type: comment - redacted: false - type: ticket_part - updated_at: 1734537732 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id442_that_should_be_at_least_@intercom.io - id: '991267767' - name: Fin - type: bot - created_at: 1734537737 - id: '152' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537737 - total_count: 2 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '7493' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Customer - created_at: 1734537737 - description: my ticket type description is awesome. - icon: 🦁 - id: '53' - name: my-ticket-type-1 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537737 - workspace_id: this_is_an_id442_that_should_be_at_least_ - type: ticket - updated_at: 1734537737 - method: POST - path: /conversations/{id}/convert - request: - body: - properties: - attributes: - type: optional - ticket_type_id: - docs: >- - The ID of the type of ticket you want to convert the - conversation to - type: string - content-type: application/json - name: ConvertConversationToTicketRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - createConversation: - auth: true - display-name: Creates a conversation - docs: >+ - 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. - - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: conversation created - request: - body: Hello there - from: - id: 6762f11b1bb69f9f2193bba3 - type: user - response: - body: - body: Hello there - conversation_id: '499' - created_at: 1734537501 - id: '403918330' - message_type: inapp - subject: Greetings - type: user_message - - name: Contact Not Found - request: - body: Hello there - from: - id: 123_doesnt_exist - type: user - response: - body: - body: Hello there - conversation_id: '499' - created_at: 1734537501 - id: '403918330' - message_type: inapp - subject: Greetings - type: user_message - method: POST - path: /conversations - request: - body: - properties: - body: - docs: The content of the message. HTML is not supported. - type: string - created_at: - docs: >- - The time the conversation was created as a UTC Unix timestamp. - If not provided, the current time will be used. This field is - only recommneded for migrating past conversations from another - source into Intercom. - type: optional - from: CreateConversationRequestFrom - content-type: application/json - name: CreateConversationRequest - response: - docs: conversation created - status-code: 200 - type: unstableMessages.Message - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteConversation: - auth: true - display-name: Delete a conversation - docs: You can delete a single conversation. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '512' - object: conversation - method: DELETE - path: /conversations/{id} - request: - name: DeleteConversationRequest - path-parameters: - id: - docs: id - type: integer - response: - docs: successful - status-code: 200 - type: unstableRoot.ConversationDeleted - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachContactFromConversation: - auth: true - display-name: Detach a contact from a group conversation - docs: >+ - You can add participants who are contacts to a conversation, on behalf - of either another contact or an admin. - - - {% admonition type="warning" 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 %} - - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - examples: - - name: Detach a contact from a group conversation - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Conversation not found - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Contact not found - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - - name: Last customer - path-parameters: - contact_id: '123' - conversation_id: '123' - request: - admin_id: '5017690' - response: - body: - admin_assignee_id: 0 - ai_agent: - content_sources: - content_sources: - - locale: en - title: My internal content snippet - url: /fin-ai-agent/content?content=content_snippet&id=3234924 - total_count: 1 - type: content_source.list - created_at: 1663597260 - last_answer_type: ai_answer - rating: 4 - rating_remark: Very helpful! - resolution_state: assumed_resolution - source_title: My AI Workflow - source_type: essentials_plan_setup - updated_at: 1663597260 - ai_agent_participated: true - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - id: 5ba682d23d7cf92bef87bfd4 - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 1 - type: conversation_part.list - conversation_rating: - contact: - external_id: '70' - id: 5ba682d23d7cf92bef87bfd4 - type: contact - created_at: 1671028894 - rating: 5 - remark: '' - teammate: - id: 1a2b3c - type: contact - updated_at: 1671028894 - created_at: 1663597223 - custom_attributes: - end_date_timestamp: 1677923174 - monthly_spend: '155.5' - paid_subscriber: - type: order.list - start_date_iso8601: '2023-03-04T09:46:14Z' - team_mates: 9 - first_contact_reply: - created_at: 1663597223 - type: conversation - url: https://developers.intercom.com/ - id: '1295' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 100 - type: list - open: true - priority: priority - read: true - sla_applied: - sla_name: '' - sla_status: hit - type: conversation_sla_summary - snoozed_until: 1663597260 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Hey there!

- delivered_as: operator_initiated - id: '3' - redacted: false - subject: '' - type: conversation - url: url - state: open - statistics: - assigned_team_first_response_time_by_team: - - response_time: 2310 - team_id: 100 - team_name: Team One - assigned_team_first_response_time_in_office_hours: - - response_time: 2310 - team_id: 100 - team_name: Team One - count_assignments: 1 - count_conversation_parts: 1 - count_reopens: 1 - first_admin_reply_at: 1663597233 - first_assignment_at: 1663597233 - first_close_at: 1663597233 - first_contact_reply_at: 1663597233 - handling_time: 2310 - last_admin_reply_at: 1663597233 - last_assignment_admin_reply_at: 1663597233 - last_assignment_at: 1663597233 - last_close_at: 1663597233 - last_closed_by_id: c3po - last_contact_reply_at: 1663597233 - median_time_to_reply: 2310 - time_to_admin_reply: 2310 - time_to_assignment: 2310 - time_to_first_close: 2310 - time_to_last_close: 2310 - type: conversation_statistics - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - team_assignee_id: '5017691' - teammates: - teammates: - - type: contact - type: admin.list - title: Conversation Title - type: conversation - updated_at: 1663597260 - waiting_since: 1663597260 - method: DELETE - path: /conversations/{conversation_id}/customers/{contact_id} - request: - body: - properties: - admin_id: - docs: The `id` of the admin who is performing the action. - type: string - content-type: application/json - name: DetachContactFromConversationRequest - path-parameters: - contact_id: - docs: The identifier for the contact as given by Intercom. - type: string - conversation_id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Detach a contact from a group conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listConversations: - auth: true - display-name: List all conversations - docs: > - You can fetch a list of all conversations. - - - You can optionally request the result page size and the cursor to start - after to fetch the result. - - {% admonition type="warning" name="Pagination" %} - You can use pagination to limit the number of results returned. The default is `20` results per page. - See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param. - {% /admonition %} - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - examples: - - name: successful - response: - body: - conversations: - - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f0f31bb69f9f2193bb8b - type: contact - type: contact.list - conversation_parts: - total_count: 1 - created_at: 1734537460 - custom_attributes: - key: value - id: '471' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin166@email.com - from_ai_agent: true - id: '991267628' - is_ai_answer: false - name: Ciaran166 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918320' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537460 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 20 - total_pages: 1 - type: pages - total_count: 1 - type: conversation.list - method: GET - path: /conversations - request: - name: ListConversationsRequest - query-parameters: - per_page: - default: 20 - docs: How many results per page - type: optional - validation: - max: 150 - starting_after: - docs: String used to get the next page of conversations. - type: optional - response: - docs: successful - status-code: 200 - type: unstableRoot.ConversationList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - manageConversation: - auth: true - display-name: Manage a conversation - docs: | - For managing conversations you can: - - Close a conversation - - Snooze a conversation to reopen on a future date - - Open a conversation which is `snoozed` or `closed` - - Assign a conversation to an admin and/or team. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: Close a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - message_type: close - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f16e1bb69f9f2193bbc2 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

Goodbye :)

- created_at: 1734537584 - id: '136' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537584 - part_type: close - redacted: false - type: conversation_part - updated_at: 1734537584 - total_count: 1 - type: conversation_part.list - created_at: 1734537582 - custom_attributes: - key: value - id: '531' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918356' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537584 - - name: Snooze a conversation - path-parameters: - id: '123' - request: - admin_id: '5017691' - message_type: snoozed - snoozed_until: 1673609604 - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1711bb69f9f2193bbc3 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin220@email.com - from_ai_agent: true - id: '991267710' - is_ai_answer: false - name: Ciaran220 Lee - type: admin - created_at: 1734537587 - id: '137' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537587 - part_type: snoozed - redacted: false - type: conversation_part - updated_at: 1734537587 - total_count: 1 - type: conversation_part.list - created_at: 1734537586 - custom_attributes: - key: value - id: '532' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - snoozed_until: 1734541187 - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin220@email.com - from_ai_agent: true - id: '991267710' - is_ai_answer: false - name: Ciaran220 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918357' - redacted: false - subject: '' - type: conversation - state: snoozed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537587 - - name: Open a conversation - path-parameters: - id: '123' - request: - admin_id: '5017690' - message_type: open - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '74' - id: 6762f1781bb69f9f2193bbc8 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin221@email.com - from_ai_agent: true - id: '991267712' - is_ai_answer: false - name: Ciaran221 Lee - type: admin - created_at: 1734537601 - id: '139' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537601 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537601 - total_count: 1 - type: conversation_part.list - created_at: 1734537587 - custom_attributes: - key: value - id: '537' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin221@email.com - from_ai_agent: true - id: '991267712' - is_ai_answer: false - name: Ciaran221 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918358' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - title: '' - type: conversation - updated_at: 1734537601 - - name: Assign a conversation - path-parameters: - id: '123' - request: - admin_id: '12345' - assignee_id: '4324241' - message_type: assignment - type: admin - response: - body: - admin_assignee_id: 991267715 - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1831bb69f9f2193bbcc - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - assigned_to: - id: '991267715' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin223@email.com - from_ai_agent: true - id: '991267715' - is_ai_answer: false - name: Ciaran223 Lee - type: admin - created_at: 1734537605 - id: '140' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537605 - part_type: assign_and_reopen - redacted: false - type: conversation_part - updated_at: 1734537605 - total_count: 1 - type: conversation_part.list - created_at: 1734537603 - custom_attributes: - key: value - id: '542' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin223@email.com - from_ai_agent: true - id: '991267715' - is_ai_answer: false - name: Ciaran223 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918361' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537605 - - name: Not found - path-parameters: - id: '123' - request: - admin_id: '12345' - message_type: close - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f16e1bb69f9f2193bbc2 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

Goodbye :)

- created_at: 1734537584 - id: '136' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537584 - part_type: close - redacted: false - type: conversation_part - updated_at: 1734537584 - total_count: 1 - type: conversation_part.list - created_at: 1734537582 - custom_attributes: - key: value - id: '531' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin219@email.com - from_ai_agent: true - id: '991267708' - is_ai_answer: false - name: Ciaran219 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918356' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537584 - method: POST - path: /conversations/{id}/parts - request: - body: ManageConversationRequestBody - content-type: application/json - name: ManageConversationRequest - path-parameters: - id: - docs: The identifier for the conversation as given by Intercom. - type: string - response: - docs: Assign a conversation - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - redactConversation: - auth: true - display-name: Redact a conversation part - docs: >+ - 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 %} - - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Redact a conversation part - request: - conversation_id: '19894788788' - conversation_part_id: '19381789428' - type: conversation_part - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1f81bb69f9f2193bc09 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1f81bb69f9f2193bc09 - is_ai_answer: false - name: Joe Bloggs - type: user - body:

This message was deleted

- created_at: 1734537722 - id: '149' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537722 - part_type: open - redacted: true - type: conversation_part - updated_at: 1734537724 - total_count: 1 - type: conversation_part.list - created_at: 1734537721 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537722 - type: conversation - id: '608' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin247@email.com - from_ai_agent: true - id: '991267757' - is_ai_answer: false - name: Ciaran247 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918391' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537724 - waiting_since: 1734537722 - - name: Not found - request: - conversation_id: really_123_doesnt_exist - conversation_part_id: really_123_doesnt_exist - type: conversation_part - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1f81bb69f9f2193bc09 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1f81bb69f9f2193bc09 - is_ai_answer: false - name: Joe Bloggs - type: user - body:

This message was deleted

- created_at: 1734537722 - id: '149' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537722 - part_type: open - redacted: true - type: conversation_part - updated_at: 1734537724 - total_count: 1 - type: conversation_part.list - created_at: 1734537721 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537722 - type: conversation - id: '608' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin247@email.com - from_ai_agent: true - id: '991267757' - is_ai_answer: false - name: Ciaran247 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918391' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537724 - waiting_since: 1734537722 - method: POST - path: /conversations/redact - request: - body: unstableRoot.RedactConversationRequest - content-type: application/json - response: - docs: Redact a conversation part - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - replyConversation: - auth: true - display-name: Reply to a conversation - docs: >- - You can reply to a conversation with a message from an admin or on - behalf of a contact, or with a note for admins. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: User reply - path-parameters: - id: 123 or "last" - request: - body: Thanks again :) - intercom_user_id: 6762f1571bb69f9f2193bbbb - message_type: comment - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1571bb69f9f2193bbbb - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1571bb69f9f2193bbbb - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537561 - id: '132' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537561 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537561 - total_count: 1 - type: conversation_part.list - created_at: 1734537559 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537561 - type: conversation - id: '524' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin212@email.com - from_ai_agent: true - id: '991267694' - is_ai_answer: false - name: Ciaran212 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918349' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537561 - waiting_since: 1734537561 - - name: Admin Reply with a Note - path-parameters: - id: 123 or "last" - request: - admin_id: '3156780' - body: >- -

An Unordered HTML List

    -
  • Coffee
  • Tea
  • Milk

An - Ordered HTML List

  1. Coffee
  2. Tea
  3. -
  4. Milk
- message_type: note - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f15b1bb69f9f2193bbbc - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin213@email.com - from_ai_agent: true - id: '991267696' - is_ai_answer: false - name: Ciaran213 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537565 - id: '133' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537565 - part_type: note - redacted: false - type: conversation_part - updated_at: 1734537565 - total_count: 1 - type: conversation_part.list - created_at: 1734537563 - custom_attributes: - key: value - id: '525' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin213@email.com - from_ai_agent: true - id: '991267696' - is_ai_answer: false - name: Ciaran213 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918350' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537565 - - name: Admin Reply to send Quick Reply Options - path-parameters: - id: 123 or "last" - request: - admin_id: '3156780' - message_type: quick_reply - reply_options: - - text: 'Yes' - uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb - - text: 'No' - uuid: f4a98af1-be56-4948-a57e-e1a83f8484c6 - type: admin - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f15e1bb69f9f2193bbbd - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin214@email.com - from_ai_agent: true - id: '991267698' - is_ai_answer: false - name: Ciaran214 Lee - type: admin - created_at: 1734537568 - id: '134' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537568 - part_type: quick_reply - redacted: false - type: conversation_part - updated_at: 1734537568 - total_count: 1 - type: conversation_part.list - created_at: 1734537567 - custom_attributes: - key: value - id: '526' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin214@email.com - from_ai_agent: true - id: '991267698' - is_ai_answer: false - name: Ciaran214 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918351' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537568 - - name: User reply with quick reply selection - path-parameters: - id: 123 or "last" - request: - body: body - intercom_user_id: 6762f1621bb69f9f2193bbbe - message_type: comment - reply_options: - - text: 'Yes' - uuid: a5e1c524-5ddd-4c3e-9328-6bca5d6e3edb - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1571bb69f9f2193bbbb - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1571bb69f9f2193bbbb - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537561 - id: '132' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537561 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537561 - total_count: 1 - type: conversation_part.list - created_at: 1734537559 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537561 - type: conversation - id: '524' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin212@email.com - from_ai_agent: true - id: '991267694' - is_ai_answer: false - name: Ciaran212 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918349' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537561 - waiting_since: 1734537561 - - name: User last conversation reply - path-parameters: - id: 123 or "last" - request: - body: Thanks again :) - intercom_user_id: 6762f1661bb69f9f2193bbbf - message_type: comment - type: user - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1621bb69f9f2193bbbe - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: joe@bloggs.com - from_ai_agent: true - id: 6762f1621bb69f9f2193bbbe - is_ai_answer: false - name: Joe Bloggs - type: user - body:

Thanks again :)

- created_at: 1734537572 - id: '135' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537572 - part_type: open - redacted: false - type: conversation_part - updated_at: 1734537572 - total_count: 1 - type: conversation_part.list - created_at: 1734537571 - custom_attributes: - key: value - first_contact_reply: - created_at: 1734537572 - type: conversation - id: '527' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin215@email.com - from_ai_agent: true - id: '991267700' - is_ai_answer: false - name: Ciaran215 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918352' - redacted: false - subject: '' - type: conversation - state: open - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537572 - waiting_since: 1734537572 - method: POST - path: /conversations/{id}/reply - request: - body: unstableRoot.ReplyConversationRequestBody - content-type: application/json - name: ReplyConversationRequest - path-parameters: - id: - docs: >- - The Intercom provisioned identifier for the conversation or the - string "last" to reply to the last part of the conversation - type: string - response: - docs: User last conversation reply - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveConversation: - auth: true - display-name: Retrieve a conversation - docs: > - - 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). - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: conversation found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1261bb69f9f2193bba7 - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - assigned_to: - id: 1a2b3c - type: contact - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Operator - type: admin - body:

Okay!

- created_at: 1663597223 - external_id: abcd1234 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1663597260 - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: jamie+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Jamie Oliver - type: admin - created_at: 1740141842 - event_details: - action: - name: Jira Create Issue - id: '3' - notified_at: 1740141842 - part_type: custom_action_started - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141842 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: operator+abcd1234@intercom.io - from_ai_agent: true - id: '278' - is_ai_answer: false - name: Fin - type: bot - created_at: 1740141851 - event_details: - attribute: - name: jira_issue_key - value: - name: PROJ-007 - id: '3' - notified_at: 1740141851 - part_type: conversation_attribute_updated_by_admin - redacted: false - state: open - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141851 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: jamie+abcd1234@intercom.io - from_ai_agent: true - id: '274' - is_ai_answer: false - name: Jamie Oliver - type: admin - created_at: 1740141857 - event_details: - action: - name: Jira Create Issue - result: success - id: '3' - notified_at: 1740141857 - part_type: custom_action_finished - redacted: false - state: closed - tags: - - id: '123456' - name: Test tag - type: tag - type: conversation_part - updated_at: 1740141857 - total_count: 4 - type: conversation_part.list - created_at: 1734537511 - custom_attributes: - key: value - id: '503' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin176@email.com - from_ai_agent: true - id: '991267645' - is_ai_answer: false - name: Ciaran176 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918334' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537511 - method: GET - path: /conversations/{id} - request: - name: RetrieveConversationRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - query-parameters: - display_as: - docs: Set to plaintext to retrieve conversation messages in plain text. - type: optional - include_translations: - docs: >- - If set to true, conversation parts will be translated to the - detected language of the conversation. - type: optional - response: - docs: conversation found - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - searchConversations: - auth: true - display-name: Search conversations - docs: > - 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 in the conversation 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"`). - - 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 | String
Accepted fields - are `conversation`, `email`, `facebook`, `instagram`, `phone_call`, - `phone_switch`, `push`, `sms`, `twitter` and `whatsapp`. | - - | source.id | - String - | - - | source.delivered_as | - String - | - - | source.subject | - String - | - - | source.body | - String - | - - | source.author.id | - String - | - - | source.author.type | - String - | - - | source.author.name | - String - | - - | source.author.email | - String - | - - | source.url | - String - | - - | contact_ids | - String - | - - | teammate_ids | - String - | - - | admin_assignee_id | - String - | - - | team_assignee_id | - String - | - - | channel_initiated | - String - | - - | open | - Boolean - | - - | read | - Boolean - | - - | state | - String - | - - | waiting_since | Date (UNIX - timestamp) - | - - | snoozed_until | Date (UNIX - timestamp) - | - - | tag_ids | - String - | - - | priority | - String - | - - | statistics.time_to_assignment | - Integer - | - - | statistics.time_to_admin_reply | - Integer - | - - | statistics.time_to_first_close | - Integer - | - - | statistics.time_to_last_close | - Integer - | - - | statistics.median_time_to_reply | - Integer - | - - | statistics.first_contact_reply_at | Date (UNIX - timestamp) - | - - | statistics.first_assignment_at | Date (UNIX - timestamp) - | - - | statistics.first_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.first_close_at | Date (UNIX - timestamp) - | - - | statistics.last_assignment_at | Date (UNIX - timestamp) - | - - | statistics.last_assignment_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_contact_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_admin_reply_at | Date (UNIX - timestamp) - | - - | statistics.last_close_at | Date (UNIX - timestamp) - | - - | statistics.last_closed_by_id | - String - | - - | statistics.count_reopens | - Integer - | - - | statistics.count_assignments | - Integer - | - - | statistics.count_conversation_parts | - Integer - | - - | conversation_rating.requested_at | Date (UNIX - timestamp) - | - - | conversation_rating.replied_at | Date (UNIX - timestamp) - | - - | conversation_rating.score | - Integer - | - - | conversation_rating.remark | - String - | - - | conversation_rating.contact_id | - String - | - - | conversation_rating.admin_d | - String - | - - | ai_agent_participated | - Boolean - | - - | ai_agent.resolution_state | - String - | - - | ai_agent.last_answer_type | - String - | - - | ai_agent.rating | - Integer - | - - | ai_agent.rating_remark | - String - | - - | ai_agent.source_type | - String - | - - | ai_agent.source_title | - String - | - - - ### Accepted Operators - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :----------------------------- | - :----------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In Shortcut for `OR` - queries Values most be in Array | - - | NIN | All | Not In Shortcut for `OR - !` queries Values must be in Array | - - | > | Integer Date (UNIX Timestamp) | Greater (or equal) - than | - - | < | Integer Date (UNIX Timestamp) | Lower (or equal) - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - conversations: - - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f14a1bb69f9f2193bbb3 - type: contact - type: contact.list - conversation_parts: - total_count: 1 - created_at: 1734537546 - custom_attributes: - key: value - id: '515' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin210@email.com - from_ai_agent: true - id: '991267691' - is_ai_answer: false - name: Ciaran210 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918346' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537546 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 1 - type: pages - total_count: 1 - type: conversation.list - method: POST - path: /conversations/search - request: - body: - type: unstableRoot.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: unstableRoot.ConversationList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateConversation: - auth: true - display-name: Update a conversation - docs: >+ - - 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 %} - - - {% admonition type="info" %} - This endpoint handles both **conversation updates** and **custom object associations**. - - See _`update a conversation with an association to a custom object instance`_ in the request/response examples to see the custom object association format. - {% /admonition %} - - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - name: conversation found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - issue_type: Billing - priority: High - read: true - title: new conversation title - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1301bb69f9f2193bbab - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '129' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '130' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - total_count: 2 - type: conversation_part.list - created_at: 1734537521 - custom_attributes: - issue_type: Billing - priority: High - id: '507' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin180@email.com - from_ai_agent: true - id: '991267653' - is_ai_answer: false - name: Ciaran180 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918338' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537523 - - name: >- - update a conversation with an association to a custom object - instance - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - order: {} - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1341bb69f9f2193bbac - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - created_at: 1663597223 - id: '3' - notified_at: 1663597260 - part_type: comment - redacted: false - type: conversation_part - updated_at: 1663597260 - total_count: 0 - type: conversation_part.list - created_at: 1734537525 - custom_attributes: - order: - instances: - - created_at: 1671028894 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '21' - type: Order - updated_at: 1671028894 - type: Order.list - id: '508' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: false - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin185@email.com - from_ai_agent: true - id: '991267659' - is_ai_answer: false - name: Ciaran185 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918339' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537525 - - name: Not found - path-parameters: - id: 1 - query-parameters: - display_as: plaintext - request: - custom_attributes: - issue_type: Billing - priority: High - read: true - title: new conversation title - response: - body: - ai_agent_participated: false - company_id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 - contacts: - contacts: - - external_id: '70' - id: 6762f1301bb69f9f2193bbab - type: contact - type: contact.list - conversation_parts: - conversation_parts: - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '129' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id354_that_should_be_at_least_@intercom.io - from_ai_agent: true - id: '991267654' - is_ai_answer: false - name: Fin - type: bot - created_at: 1734537523 - id: '130' - metadata: - quick_reply_uuid: 123e4567-e89b-12d3-a456-426614174000 - notified_at: 1734537523 - part_type: conversation_attribute_updated_by_admin - redacted: false - type: conversation_part - updated_at: 1734537523 - total_count: 2 - type: conversation_part.list - created_at: 1734537521 - custom_attributes: - issue_type: Billing - priority: High - id: '507' - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: false - priority: not_priority - read: true - source: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin180@email.com - from_ai_agent: true - id: '991267653' - is_ai_answer: false - name: Ciaran180 Lee - type: admin - body:

this is the message body

- delivered_as: admin_initiated - id: '403918338' - redacted: false - subject: '' - type: conversation - state: closed - tags: - tags: - - applied_at: 1663597223 - id: '123456' - name: Test tag - type: tag - type: tag.list - type: conversation - updated_at: 1734537523 - method: PUT - path: /conversations/{id} - request: - body: - properties: - company_id: - docs: >- - The ID of the company that the conversation is associated with. - The unique identifier for the company which is given by - Intercom. Set to nil to remove company. - type: optional - custom_attributes: - type: optional - read: - docs: Mark a conversation as read within Intercom. - type: optional - title: - docs: The title given to the conversation - type: optional - content-type: application/json - name: UpdateConversationRequest - path-parameters: - id: - docs: The id of the conversation to target - type: integer - query-parameters: - display_as: - docs: Set to plaintext to retrieve conversation messages in plain text. - type: optional - response: - docs: update a conversation with an association to a custom object instance - status-code: 200 - type: Conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/customChannelEvents.yml b/fern/.definition/unstable/customChannelEvents.yml deleted file mode 100644 index a997c06..0000000 --- a/fern/.definition/unstable/customChannelEvents.yml +++ /dev/null @@ -1,214 +0,0 @@ -imports: - unstableRoot: __package__.yml -service: - auth: false - base-path: '' - endpoints: - notifyAttributeCollected: - auth: true - display-name: >- - Notify Intercom of an attribute collector response in a custom channel - conversation - docs: > - Notifies Intercom that a user provided a response to an attribute - collector in your custom channel/platform. This allows Intercom to - process the attribute and trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - examples: - - headers: {} - name: NotificationSuccess - request: - attribute: - id: shipping_address - value: 123 Main St, Springfield - contact: - email: bob@example.com - external_id: user_004 - name: Bob Example - type: user - event_id: evt_24680 - external_conversation_id: conv_11223 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_attribute_collected - request: - body: - extends: - - unstableRoot.CustomChannelBaseEvent - properties: - attribute: - type: unstableRoot.CustomChannelAttribute - content-type: application/json - name: NotifyAttributeCollectedRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: unstableRoot.CustomChannelNotificationResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - notifyNewConversation: - auth: true - display-name: Notify Intercom of a new conversation created in a custom channel - docs: > - Notifies Intercom that a new conversation was created in your custom - channel/platform. This triggers conversation creation and workflow - automations within Intercom for your custom channel integration. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - examples: - - headers: {} - name: NotificationSuccess - request: - contact: - email: jane.doe@example.com - external_id: user_001 - name: Jane Doe - type: user - event_id: evt_12345 - external_conversation_id: conv_67890 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_new_conversation - request: - body: - type: unstableRoot.CustomChannelBaseEvent - content-type: application/json - response: - docs: Successfully notified Intercom - status-code: 200 - type: unstableRoot.CustomChannelNotificationResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - notifyNewMessage: - auth: true - display-name: Notify Intercom of a new message in a custom channel conversation - docs: > - Notifies Intercom that a new message was sent in a conversation on your - custom channel/platform. This allows Intercom to process the message and - trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - examples: - - headers: {} - name: NotificationSuccess - request: - body: Hello, I need help with my order. - contact: - email: john.smith@example.com - external_id: user_002 - name: John Smith - type: user - event_id: evt_54321 - external_conversation_id: conv_98765 - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_new_message - request: - body: - extends: - - unstableRoot.CustomChannelBaseEvent - properties: - body: - docs: The message content sent by the user. - type: string - content-type: application/json - name: NotifyNewMessageRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: unstableRoot.CustomChannelNotificationResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - notifyQuickReplySelected: - auth: true - display-name: >- - Notify Intercom of a quick reply response in a custom channel - conversation - docs: > - Notifies Intercom that a user selected a quick reply option in your - custom channel/platform. This allows Intercom to process the response - and trigger any relevant workflow automations. - - > **Note:** This endpoint is currently under managed availability. - Please reach out to your accounts team to discuss access and tailored, - hands-on support. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - examples: - - headers: {} - name: NotificationSuccess - request: - contact: - email: alice@example.com - external_id: user_003 - name: Alice Example - type: user - event_id: evt_67890 - external_conversation_id: conv_13579 - quick_reply_option_id: '1234' - response: - body: - contact_id: intercom_contact_id_79 - conversation_id: intercom_conversation_id_34 - external_contact_id: customer_contact_id_56 - external_conversation_id: customer_conversation_id_12 - method: POST - path: /custom_channel_events/notify_quick_reply_selected - request: - body: - extends: - - unstableRoot.CustomChannelBaseEvent - properties: - quick_reply_option_id: - docs: Id of the selected quick reply option. - type: string - content-type: application/json - name: NotifyQuickReplySelectedRequest - response: - docs: Successfully notified Intercom - status-code: 200 - type: unstableRoot.CustomChannelNotificationResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/customObjectInstances.yml b/fern/.definition/unstable/customObjectInstances.yml deleted file mode 100644 index 05dbe16..0000000 --- a/fern/.definition/unstable/customObjectInstances.yml +++ /dev/null @@ -1,278 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - CustomObjectInstance: - docs: >- - 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: - created_at: - docs: The time the attribute was created as a UTC Unix timestamp - type: optional - custom_attributes: - docs: The custom attributes you have set on the custom object instance. - type: optional> - external_created_at: - docs: >- - The time when the Custom Object instance was created in the external - system it originated from. - type: optional - external_id: - docs: The id you have defined for the custom object instance. - type: optional - external_updated_at: - docs: >- - The time when the Custom Object instance was last updated in the - external system it originated from. - type: optional - id: - docs: The Intercom defined id representing the custom object instance. - type: optional - type: - docs: >- - The identifier of the custom object type that defines the structure of - the custom object instance. - type: optional - updated_at: - docs: The time the attribute was last updated as a UTC Unix timestamp - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: | - Everything about your Custom Object instances. - {% admonition type="warning" name="Permission Requirements" %} - From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions. - {% /admonition %} -service: - auth: false - base-path: '' - display-name: Custom Object Instances - endpoints: - createCustomObjectInstances: - auth: true - display-name: Create or Update a Custom Object Instance - docs: Create or update a custom object instance - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - request: - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - response: - body: - created_at: 1734537745 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_created_at: 1392036272 - external_id: '123' - external_updated_at: 1392036272 - id: '22' - type: Order - updated_at: 1734537745 - method: POST - path: /custom_object_instances/{custom_object_type_identifier} - request: - body: - properties: - custom_attributes: - docs: >- - The custom attributes which are set for the Custom Object - instance. - type: optional>> - external_created_at: - docs: >- - The time when the Custom Object instance was created in the - external system it originated from. - type: optional - external_id: - docs: >- - A unique identifier for the Custom Object instance in the - external system it originated from. - type: optional - external_updated_at: - docs: >- - The time when the Custom Object instance was last updated in the - external system it originated from. - type: optional - content-type: application/json - name: CreateOrUpdateCustomObjectInstanceRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteCustomObjectInstancesByExternalId: - auth: true - display-name: Delete a Custom Object Instance by ID - docs: Delete a single Custom Object instance using the Intercom defined id. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - id: id - response: - body: - deleted: true - id: '26' - object: Order - method: DELETE - path: /custom_object_instances/{custom_object_type_identifier}/{id} - request: - name: DeleteCustomObjectInstancesByExternalIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - id: - docs: The Intercom defined id of the custom object instance - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.CustomObjectInstanceDeleted - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteCustomObjectInstancesById: - auth: true - display-name: Delete a Custom Object Instance by External ID - docs: Delete a single Custom Object instance by external_id. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - query-parameters: - external_id: external_id - response: - body: - deleted: true - id: '26' - object: Order - method: DELETE - path: /custom_object_instances/{custom_object_type_identifier} - request: - name: DeleteCustomObjectInstancesByIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - query-parameters: - external_id: string - response: - docs: successful - status-code: 200 - type: unstableRoot.CustomObjectInstanceDeleted - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getCustomObjectInstancesByExternalId: - auth: true - display-name: Get Custom Object Instance by External ID - docs: Fetch a Custom Object Instance by external_id. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - query-parameters: - external_id: external_id - response: - body: - created_at: 1734537748 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_id: '123' - id: '24' - type: Order - updated_at: 1734537748 - method: GET - path: /custom_object_instances/{custom_object_type_identifier} - request: - name: GetCustomObjectInstancesByExternalIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - query-parameters: - external_id: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getCustomObjectInstancesById: - auth: true - display-name: Get Custom Object Instance by ID - docs: Fetch a Custom Object Instance by id. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - custom_object_type_identifier: Order - id: id - response: - body: - created_at: 1734537750 - custom_attributes: - order_number: ORDER-12345 - total_amount: custom_attributes - external_id: '123' - id: '25' - type: Order - updated_at: 1734537750 - method: GET - path: /custom_object_instances/{custom_object_type_identifier}/{id} - request: - name: GetCustomObjectInstancesByIdRequest - path-parameters: - custom_object_type_identifier: - docs: >- - The unique identifier of the custom object type that defines the - structure of the custom object instance. - type: string - id: - docs: The id or external_id of the custom object instance - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataAttributes.yml b/fern/.definition/unstable/dataAttributes.yml deleted file mode 100644 index b893ac0..0000000 --- a/fern/.definition/unstable/dataAttributes.yml +++ /dev/null @@ -1,527 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - DataAttribute: - docs: >- - 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: - admin_id: - docs: Teammate who created the attribute. Only applicable to CDAs - type: optional - api_writable: - docs: Can this attribute be updated through API - type: optional - archived: - docs: Is this attribute archived. (Only applicable to CDAs) - type: optional - created_at: - docs: The time the attribute was created as a UTC Unix timestamp - type: optional - custom: - docs: Set to true if this is a CDA - type: optional - data_type: - docs: The data type of the attribute. - type: optional - description: - docs: Readable description of the attribute. - type: optional - full_name: - docs: >- - 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. - type: optional - id: - docs: >- - The unique identifier for the data attribute which is given by - Intercom. Only available for custom attributes. - type: optional - label: - docs: Readable name of the attribute (i.e. name you see in the UI) - type: optional - messenger_writable: - docs: Can this attribute be updated by the Messenger - type: optional - model: - docs: >- - Value is `contact` for user/lead attributes and `company` for company - attributes. - type: optional - name: - docs: Name of the attribute. - type: optional - options: - docs: List of predefined options for attribute value. - type: optional> - type: - docs: Value is `data_attribute`. - type: optional> - ui_writable: - docs: Can this attribute be updated in the UI - type: optional - updated_at: - docs: The time the attribute was last updated as a UTC Unix timestamp - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataAttributeDataType: - docs: The data type of the attribute. - enum: - - string - - integer - - float - - boolean - - date - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataAttributeModel: - docs: >- - Value is `contact` for user/lead attributes and `company` for company - attributes. - enum: - - contact - - company - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LisDataAttributesRequestModel: - enum: - - contact - - company - - conversation - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Data Attributes -service: - auth: false - base-path: '' - display-name: Data Attributes - endpoints: - createDataAttribute: - auth: true - display-name: Create a data attribute - docs: You can create a data attributes for a `contact` or a `company`. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - method: POST - path: /data_attributes - request: - body: unknown - content-type: application/json - response: - docs: Successful - status-code: 200 - type: DataAttribute - source: - openapi: ../descriptions/0/api.intercom.io.yaml - lisDataAttributes: - auth: true - display-name: List all data attributes - docs: >- - You can fetch a list of all data attributes belonging to a workspace for - contacts, companies or conversations. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - response: - body: - data: - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The name of a company - full_name: name - id: 12878 - label: Company name - messenger_writable: true - model: company - name: name - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: A number identifying a company - full_name: company_id - id: 12878 - label: Company ID - messenger_writable: true - model: company - name: company_id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The last day anyone from a company visited your site or app - full_name: last_request_at - id: 12878 - label: Company last seen - messenger_writable: true - model: company - name: last_request_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The day a company was added to Intercom - full_name: remote_created_at - id: 12878 - label: Company created at - messenger_writable: true - model: company - name: remote_created_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: The number of people in a company - full_name: user_count - id: 12878 - label: People - messenger_writable: true - model: company - name: user_count - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: >- - All visits from anyone in a company to your product's site - or app - full_name: session_count - id: 12878 - label: Company web sessions - messenger_writable: true - model: company - name: session_count - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: >- - A specific plan or level within your product that companies - have signed up to - full_name: plan.name - id: 12878 - label: Plan - messenger_writable: true - model: company - name: name - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: float - description: The monthly revenue you receive from a company - full_name: monthly_spend - id: 12878 - label: Monthly Spend - messenger_writable: true - model: company - name: monthly_spend - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: integer - description: >- - The number of people employed in this company, expressed as - a single number - full_name: size - id: 12878 - label: Company size - messenger_writable: true - model: company - name: size - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: >- - The category or domain this company belongs to e.g. - 'ecommerce' or 'SaaS' - full_name: industry - id: 12878 - label: Company industry - messenger_writable: true - model: company - name: industry - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: true - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The web address for the company's primary marketing site - full_name: website - id: 12878 - label: Company website - messenger_writable: true - model: company - name: website - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '991267784' - api_writable: true - archived: false - created_at: 1734537753 - custom: true - data_type: string - description: >- - One ring to rule them all, one ring to find them, One ring - to bring them all and in the darkness bind them. - full_name: custom_attributes.The One Ring - id: 34 - label: The One Ring - messenger_writable: true - model: company - name: The One Ring - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1734537753 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the company - full_name: id - id: 12878 - label: ID - messenger_writable: true - model: company - name: id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The time the company was added to Intercom - full_name: created_at - id: 12878 - label: Created at - messenger_writable: true - model: company - name: created_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: date - description: The last time the company was updated - full_name: updated_at - id: 12878 - label: Updated at - messenger_writable: true - model: company - name: updated_at - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the plan - full_name: plan.id - id: 12878 - label: Plan ID - messenger_writable: true - model: company - name: id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - - admin_id: '5712945' - api_writable: false - archived: false - created_at: 1671028894 - custom: false - data_type: string - description: The Intercom defined id representing the app - full_name: app_id - id: 12878 - label: App ID - messenger_writable: true - model: company - name: app_id - options: - - 'true' - - 'false' - type: data_attribute - ui_writable: false - updated_at: 1671028894 - type: list - method: GET - path: /data_attributes - request: - name: LisDataAttributesRequest - query-parameters: - include_archived: - docs: >- - Include archived attributes in the list. By default we return only - non archived data attributes. - type: optional - model: - docs: Specify the data attribute model to return. - type: optional - response: - docs: Successful response - status-code: 200 - type: unstableRoot.DataAttributeList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateDataAttribute: - auth: true - display-name: Update a data attribute - docs: > - - 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. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - - unstableRoot.UnprocessableEntityError - method: PUT - path: /data_attributes/{id} - request: - body: unknown - content-type: application/json - name: UpdateDataAttributeRequest - path-parameters: - id: - docs: The data attribute id - type: integer - response: - docs: Successful - status-code: 200 - type: DataAttribute - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataEvents.yml b/fern/.definition/unstable/dataEvents.yml deleted file mode 100644 index e8b0fac..0000000 --- a/fern/.definition/unstable/dataEvents.yml +++ /dev/null @@ -1,331 +0,0 @@ -imports: - root: ../__package__.yml - unstableRoot: __package__.yml -types: - CreateDataEventSummariesRequestEventSummaries: - docs: >- - 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`. - inline: true - properties: - count: - docs: The number of times the event occurred. - type: optional - event_name: - docs: >- - 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`. - type: optional - first: - docs: The first time the event was sent - type: optional - last: - docs: The last time the event was sent - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataEvent: - docs: Data events are used to notify Intercom of changes to your data. - properties: - created_at: - docs: The time the event occurred as a UTC Unix timestamp - type: integer - email: - docs: >- - An email address for your user. An email should only be used where - your application uses email to uniquely identify users. - type: optional - event_name: - docs: >- - 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`. - type: string - id: - docs: Your identifier for a lead or a user. - type: optional - intercom_user_id: - docs: The Intercom identifier for the user. - type: optional - metadata: - docs: Optional metadata about the event. - type: optional> - type: - docs: The type of the object - type: optional> - user_id: - docs: Your identifier for the user. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LisDataEventsRequestFilter: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: LisDataEventsRequestFilterUserId - - type: LisDataEventsRequestFilterIntercomUserId - - type: LisDataEventsRequestFilterEmail - LisDataEventsRequestFilterEmail: - inline: true - properties: - email: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LisDataEventsRequestFilterIntercomUserId: - inline: true - properties: - intercom_user_id: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - LisDataEventsRequestFilterUserId: - inline: true - properties: - user_id: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Data Events -service: - auth: false - base-path: '' - display-name: Data Events - endpoints: - createDataEvent: - auth: true - display-name: Submit a data event - docs: >+ - - 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. - - errors: - - unstableRoot.UnauthorizedError - method: POST - path: /events - request: - body: root.CreateDataEventRequestTwo - content-type: application/json - source: - openapi: ../descriptions/0/api.intercom.io.yaml - dataEventSummaries: - auth: true - display-name: Create event summaries - docs: >+ - 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. - - errors: - - unstableRoot.UnauthorizedError - examples: - - request: {} - method: POST - path: /events/summaries - request: - body: - properties: - event_summaries: - docs: >- - 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`. - type: optional - user_id: - docs: Your identifier for the user. - type: optional - content-type: application/json - name: CreateDataEventSummariesRequest - source: - openapi: ../descriptions/0/api.intercom.io.yaml - lisDataEvents: - auth: true - display-name: List all data events - docs: > - - > 🚧 - - > - - > 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. - errors: - - unstableRoot.UnauthorizedError - method: GET - path: /events - request: - name: LisDataEventsRequest - query-parameters: - filter: LisDataEventsRequestFilter - summary: - docs: summary flag - type: optional - type: - docs: The value must be user - type: string - response: - docs: Successful response - status-code: 200 - type: unstableRoot.DataEventSummary - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/dataExport.yml b/fern/.definition/unstable/dataExport.yml deleted file mode 100644 index 7570272..0000000 --- a/fern/.definition/unstable/dataExport.yml +++ /dev/null @@ -1,216 +0,0 @@ -types: - DataExport: - docs: >- - The data export api is used to view all message sent & viewed in a given - timeframe. - properties: - download_expires_at: - docs: The time after which you will not be able to access the data. - type: optional - download_url: - docs: The location where you can download your data. - type: optional - job_identfier: - docs: The identifier for your job. - type: optional - status: - docs: The current state of your job. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - DataExportStatus: - docs: The current state of your job. - enum: - - pending - - in_progress - - failed - - completed - - no_data - - canceled - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Data Exports -service: - auth: false - base-path: '' - display-name: Data Export - endpoints: - cancelDataExport: - auth: true - display-name: Cancel content data export - docs: You can cancel your job - examples: - - name: successful - path-parameters: - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: canceled - method: POST - path: /export/cancel/{job_identifier} - request: - name: CancelDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/0/api.intercom.io.yaml - createDataExport: - auth: true - display-name: Create content data export - docs: > - 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. - examples: - - name: successful - request: - created_at_after: 1734519776 - created_at_before: 1734537776 - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: pending - method: POST - path: /export/content/data - request: - body: - properties: - created_at_after: - docs: >- - The start date that you request data for. It must be formatted - as a unix timestamp. - type: integer - created_at_before: - docs: >- - The end date that you request data for. It must be formatted as - a unix timestamp. - type: integer - content-type: application/json - name: CreateDataExportsRequest - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/0/api.intercom.io.yaml - downloadDataExport: - auth: true - display-name: Download content data export - docs: > - 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. - examples: - - path-parameters: - job_identifier: job_identifier - method: GET - path: /download/content/data/{job_identifier} - request: - name: DownloadDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getDataExport: - auth: true - display-name: Show content data export - docs: > - 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. - examples: - - name: successful - path-parameters: - job_identifier: job_identifier - response: - body: - download_expires_at: '' - download_url: '' - job_identfier: orzzsbd7hk67xyu - status: pending - method: GET - path: /export/content/data/{job_identifier} - request: - name: GetDataExportRequest - path-parameters: - job_identifier: - docs: job_identifier - type: string - response: - docs: successful - status-code: 200 - type: DataExport - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/emails.yml b/fern/.definition/unstable/emails.yml deleted file mode 100644 index 1477b44..0000000 --- a/fern/.definition/unstable/emails.yml +++ /dev/null @@ -1,132 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - EmailList: - docs: A list of email settings - properties: - data: - type: optional> - type: - docs: The type of object - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - EmailSetting: - docs: Represents a sender email address configuration - properties: - brand_id: - docs: Associated brand identifier - type: optional - created_at: - docs: Unix timestamp of creation - type: optional - domain: - docs: Domain portion of the email address - type: optional - email: - docs: Full sender email address - type: optional - forwarded_email_last_received_at: - docs: Unix timestamp of last forwarded email received (null if never) - type: optional - forwarding_enabled: - docs: Whether email forwarding is active - type: optional - id: - docs: Unique email setting identifier - type: optional - type: - docs: The type of object - type: optional - updated_at: - docs: Unix timestamp of last modification - type: optional - verified: - docs: Whether the email address has been verified - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Emails -service: - auth: false - base-path: '' - display-name: Emails - endpoints: - listEmails: - auth: true - display-name: List all email settings - docs: Lists all sender email address settings for the workspace - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - response: - body: - data: - - brand_id: '9' - created_at: 1692530400 - domain: company.com - email: support@company.com - forwarded_email_last_received_at: 1710498600 - forwarding_enabled: true - id: '1' - type: email_setting - updated_at: 1710498600 - verified: true - - brand_id: '10' - created_at: 1683729000 - domain: company.com - email: hello@company.com - forwarding_enabled: false - id: '2' - type: email_setting - updated_at: 1701424500 - verified: true - type: list - method: GET - path: /emails - response: - docs: Successful response - status-code: 200 - type: EmailList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveEmail: - auth: true - display-name: Retrieve an email setting - docs: Fetches a specific email setting by its unique identifier - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: id - response: - body: - brand_id: '15' - created_at: 1692530400 - domain: company.com - email: support@company.com - forwarded_email_last_received_at: 1710498600 - forwarding_enabled: true - id: '10' - type: email_setting - updated_at: 1710498600 - verified: true - method: GET - path: /emails/{id} - request: - name: RetrieveEmailRequest - path-parameters: - id: - docs: The unique identifier of the email setting - type: string - response: - docs: Successful response - status-code: 200 - type: EmailSetting - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/export.yml b/fern/.definition/unstable/export.yml deleted file mode 100644 index 9f0744f..0000000 --- a/fern/.definition/unstable/export.yml +++ /dev/null @@ -1,102 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - GetExportReportingDataGetDatasetsResponse: - properties: - data: optional> - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - GetExportReportingDataGetDatasetsResponseDataItem: - inline: true - properties: - attributes: >- - optional> - default_time_attribute_id: optional - description: optional - id: optional - name: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - GetExportReportingDataGetDatasetsResponseDataItemAttributesItem: - inline: true - properties: - id: optional - name: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - PostExportReportingDataEnqueueResponse: - properties: - download_expires_at: optional - download_url: optional - job_identifier: optional - status: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -service: - auth: false - base-path: '' - endpoints: - enqueueANewReportingDataExportJob: - auth: true - display-name: Enqueue a new reporting data export job - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.TooManyRequestsError - examples: - - request: - attribute_ids: - - conversation_id - - conversation_started_at - dataset_id: conversation - end_time: 1717510000 - start_time: 1717490000 - response: - body: - download_expires_at: download_expires_at - download_url: download_url - job_identifier: job1 - status: pending - method: POST - path: /export/reporting_data/enqueue - request: - body: - properties: - attribute_ids: list - dataset_id: string - end_time: long - start_time: long - content-type: application/json - name: PostExportReportingDataEnqueueRequest - response: - docs: Job enqueued successfully - status-code: 200 - type: PostExportReportingDataEnqueueResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listAvailableDatasetsAndAttributes: - auth: true - display-name: List available datasets and attributes - examples: - - response: - body: - data: - - attributes: - - id: conversation_id - name: Conversation ID - default_time_attribute_id: conversation_started_at - description: 'Conversation-level details: status, channel, assignee.' - id: conversation - name: Conversation - type: list - method: GET - path: /export/reporting_data/get_datasets - response: - docs: List of datasets - status-code: 200 - type: GetExportReportingDataGetDatasetsResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/helpCenter.yml b/fern/.definition/unstable/helpCenter.yml deleted file mode 100644 index 89b7feb..0000000 --- a/fern/.definition/unstable/helpCenter.yml +++ /dev/null @@ -1,1236 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Collection: - docs: Collections are top level containers for Articles within the Help Center. - properties: - created_at: - docs: >- - The time when the article was created (seconds). For multilingual - articles, this will be the timestamp of creation of the default - language's content. - type: optional - default_locale: - docs: >- - The default locale of the help center. This field is only returned for - multilingual help centers. - type: optional - description: - docs: >- - The description of the collection. For multilingual help centers, this - will be the description of the collection for the default language. - type: optional - help_center_id: - docs: The id of the help center the collection is in. - type: optional - icon: - docs: The icon of the collection. - type: optional - id: - docs: The unique identifier for the collection which is given by Intercom. - type: optional - name: - docs: >- - The name of the collection. For multilingual collections, this will be - the name of the default language's content. - type: optional - order: - docs: >- - The order of the section in relation to others sections within a - collection. Values go from `0` upwards. `0` is the default if there's - no order. - type: optional - parent_id: - docs: >- - The id of the parent collection. If `null` then it is the first level - collection. - type: optional - translated_content: - type: optional - updated_at: - docs: >- - The time when the article was last updated (seconds). For multilingual - articles, this will be the timestamp of last update of the default - language's content. - type: optional - url: - docs: >- - The URL of the collection. For multilingual help centers, this will be - the URL of the collection for the default language. - type: optional - workspace_id: - docs: The id of the workspace which the collection belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - HelpCenter: - docs: Help Centers contain collections - properties: - created_at: - docs: The time when the Help Center was created. - type: optional - custom_domain: - docs: Custom domain configured for the help center - type: optional - display_name: - docs: The display name of the Help Center only seen by teammates. - type: optional - id: - docs: The unique identifier for the Help Center which is given by Intercom. - type: optional - identifier: - docs: >- - The identifier of the Help Center. This is used in the URL of the Help - Center. - type: optional - updated_at: - docs: The time when the Help Center was last updated. - type: optional - url: - docs: >- - The URL for the help center, if you have a custom domain then this - will show the URL using the custom domain. - type: optional - website_turned_on: - docs: >- - Whether the Help Center is turned on or not. This is controlled in - your Help Center settings. - type: optional - workspace_id: - docs: The id of the workspace which the Help Center belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - HelpCenterList: - docs: A list of Help Centers belonging to the App - properties: - data: - docs: An array of Help Center objects - type: optional> - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Help Center -service: - auth: false - base-path: '' - display-name: Help Center - endpoints: - createCollection: - auth: true - display-name: Create a collection - docs: >- - You can create a new collection by making a POST request to - `https://api.intercom.io/help_center/collections.` - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - examples: - - name: collection created - request: - name: Thanks for everything - response: - body: - created_at: 1734537312 - default_locale: en - description: '' - help_center_id: 81 - icon: book-bookmark - id: '165' - name: Thanks for everything - order: 1 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537312 - url: http://help-center.test/myapp-100/ - workspace_id: this_is_an_id100_that_should_be_at_least_ - - name: Bad Request - request: - description: Missing required parameter - name: collection 51 - response: - body: - created_at: 1734537312 - default_locale: en - description: '' - help_center_id: 81 - icon: book-bookmark - id: '165' - name: Thanks for everything - order: 1 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537312 - url: http://help-center.test/myapp-100/ - workspace_id: this_is_an_id100_that_should_be_at_least_ - method: POST - path: /help_center/collections - request: - body: - properties: - description: - docs: >- - The description of the collection. For multilingual collections, - this will be the description of the default language's content. - type: optional - help_center_id: - docs: >- - The id of the help center where the collection will be created. - If `null` then it will be created in the default help center. - type: optional - name: - docs: >- - The name of the collection. For multilingual collections, this - will be the name of the default language's content. - type: string - parent_id: - docs: >- - The id of the parent collection. If `null` then it will be - created as the first level collection. - type: optional - translated_content: - type: optional - content-type: application/json - name: CreateCollectionRequest - response: - docs: collection created - status-code: 200 - type: Collection - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteCollection: - auth: true - display-name: Delete a collection - docs: >- - You can delete a single collection by making a DELETE request to - `https://api.intercom.io/collections/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '182' - object: collection - method: DELETE - path: /help_center/collections/{id} - request: - name: DeleteCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: unstableRoot.DeletedCollectionObject - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listAllCollections: - auth: true - display-name: List all collections - docs: > - You can fetch a list of all collections by making a GET request to - `https://api.intercom.io/help_center/collections`. - - - Collections 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 collections first. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - created_at: 1734537309 - default_locale: en - description: english collection description - help_center_id: 79 - icon: bookmark - id: '159' - name: English collection title - order: 17 - updated_at: 1734537309 - url: http://help-center.test/myapp-96/collection-17 - workspace_id: this_is_an_id96_that_should_be_at_least_4 - - created_at: 1734537309 - default_locale: en - icon: bookmark - id: '160' - name: English section title - order: 1 - parent_id: '159' - updated_at: 1734537309 - url: http://help-center.test/myapp-96/section-1 - workspace_id: this_is_an_id96_that_should_be_at_least_4 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 20 - total_pages: 1 - type: pages - total_count: 2 - type: list - method: GET - path: /help_center/collections - response: - docs: Successful - status-code: 200 - type: unstableRoot.CollectionList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listHelpCenters: - auth: true - display-name: List all Help Centers - docs: >- - You can list all Help Centers by making a GET request to - `https://api.intercom.io/help_center/help_centers`. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Help Centers found - response: - body: - data: - - created_at: 1672928359 - custom_domain: help.mycompany.com - display_name: Intercom Help Center - id: '123' - identifier: intercom - updated_at: 1672928610 - url: https://help.mycompany.com - website_turned_on: true - workspace_id: hfi1bx4l - type: list - method: GET - path: /help_center/help_centers - response: - docs: Help Centers found - status-code: 200 - type: HelpCenterList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveCollection: - auth: true - display-name: Retrieve a collection - docs: >- - You can fetch the details of a single collection by making a GET request - to `https://api.intercom.io/help_center/collections/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Collection found - path-parameters: - id: 1 - response: - body: - created_at: 1734537315 - default_locale: en - description: english collection description - help_center_id: 84 - icon: bookmark - id: '170' - name: English collection title - order: 22 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537315 - url: http://help-center.test/myapp-106/collection-22 - workspace_id: this_is_an_id106_that_should_be_at_least_ - method: GET - path: /help_center/collections/{id} - request: - name: RetrieveCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: Collection found - status-code: 200 - type: Collection - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveHelpCenter: - auth: true - display-name: Retrieve a Help Center - docs: >- - You can fetch the details of a single Help Center by making a GET - request to `https://api.intercom.io/help_center/help_center/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Collection found - path-parameters: - id: 1 - response: - body: - created_at: 1734537325 - custom_domain: help.mycompany.com - display_name: Intercom Help Center - id: '93' - identifier: help-center-1 - updated_at: 1734537325 - url: https://help.mycompany.com - website_turned_on: false - workspace_id: this_is_an_id124_that_should_be_at_least_ - method: GET - path: /help_center/help_centers/{id} - request: - name: RetrieveHelpCenterRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: Collection found - status-code: 200 - type: HelpCenter - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateCollection: - auth: true - display-name: Update a collection - docs: >- - You can update the details of a single collection by making a PUT - request to `https://api.intercom.io/collections/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - name: Update collection name - response: - body: - created_at: 1734537318 - default_locale: en - description: english collection description - help_center_id: 87 - icon: folder - id: '176' - name: Update collection name - order: 25 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537319 - url: http://help-center.test/myapp-112/collection-25 - workspace_id: this_is_an_id112_that_should_be_at_least_ - - name: Collection Not Found - path-parameters: - id: 1 - request: - name: Update collection name - response: - body: - created_at: 1734537318 - default_locale: en - description: english collection description - help_center_id: 87 - icon: folder - id: '176' - name: Update collection name - order: 25 - translated_content: - ar: - description: ' Collection description' - name: Collection name - type: group_content - bg: - description: ' Collection description' - name: Collection name - type: group_content - bs: - description: ' Collection description' - name: Collection name - type: group_content - ca: - description: ' Collection description' - name: Collection name - type: group_content - cs: - description: ' Collection description' - name: Collection name - type: group_content - da: - description: ' Collection description' - name: Collection name - type: group_content - de: - description: ' Collection description' - name: Collection name - type: group_content - el: - description: ' Collection description' - name: Collection name - type: group_content - en: - description: ' Collection description' - name: Collection name - type: group_content - es: - description: ' Collection description' - name: Collection name - type: group_content - et: - description: ' Collection description' - name: Collection name - type: group_content - fi: - description: ' Collection description' - name: Collection name - type: group_content - fr: - description: ' Collection description' - name: Collection name - type: group_content - he: - description: ' Collection description' - name: Collection name - type: group_content - hr: - description: ' Collection description' - name: Collection name - type: group_content - hu: - description: ' Collection description' - name: Collection name - type: group_content - id: - description: ' Collection description' - name: Collection name - type: group_content - it: - description: ' Collection description' - name: Collection name - type: group_content - ja: - description: ' Collection description' - name: Collection name - type: group_content - ko: - description: ' Collection description' - name: Collection name - type: group_content - lt: - description: ' Collection description' - name: Collection name - type: group_content - lv: - description: ' Collection description' - name: Collection name - type: group_content - mn: - description: ' Collection description' - name: Collection name - type: group_content - nb: - description: ' Collection description' - name: Collection name - type: group_content - nl: - description: ' Collection description' - name: Collection name - type: group_content - pl: - description: ' Collection description' - name: Collection name - type: group_content - pt: - description: ' Collection description' - name: Collection name - type: group_content - pt-BR: - description: ' Collection description' - name: Collection name - type: group_content - ro: - description: ' Collection description' - name: Collection name - type: group_content - ru: - description: ' Collection description' - name: Collection name - type: group_content - sl: - description: ' Collection description' - name: Collection name - type: group_content - sr: - description: ' Collection description' - name: Collection name - type: group_content - sv: - description: ' Collection description' - name: Collection name - type: group_content - tr: - description: ' Collection description' - name: Collection name - type: group_content - type: group_translated_content - vi: - description: ' Collection description' - name: Collection name - type: group_content - zh-CN: - description: ' Collection description' - name: Collection name - type: group_content - zh-TW: - description: ' Collection description' - name: Collection name - type: group_content - updated_at: 1734537319 - url: http://help-center.test/myapp-112/collection-25 - workspace_id: this_is_an_id112_that_should_be_at_least_ - method: PUT - path: /help_center/collections/{id} - request: - body: - properties: - description: - docs: >- - The description of the collection. For multilingual collections, - this will be the description of the default language's content. - type: optional - name: - docs: >- - The name of the collection. For multilingual collections, this - will be the name of the default language's content. - type: optional - parent_id: - docs: >- - The id of the parent collection. If `null` then it will be - updated as the first level collection. - type: optional - translated_content: - type: optional - content-type: application/json - name: UpdateCollectionRequest - path-parameters: - id: - docs: >- - The unique identifier for the collection which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: Collection - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/internalArticles.yml b/fern/.definition/unstable/internalArticles.yml deleted file mode 100644 index 0b84c7e..0000000 --- a/fern/.definition/unstable/internalArticles.yml +++ /dev/null @@ -1,357 +0,0 @@ -imports: - unstableArticles: articles.yml - unstableRoot: __package__.yml -types: - InternalArticleListItem: - docs: The data returned about your internal articles when you list them. - properties: - author_id: - docs: The id of the author of the article. - type: optional - body: - docs: The body of the article in HTML. - type: optional - created_at: - docs: The time when the article was created. - type: optional - id: - docs: The unique identifier for the article which is given by Intercom. - type: optional - locale: - docs: The default locale of the article. - type: optional - owner_id: - docs: The id of the owner of the article. - type: optional - title: - docs: The title of the article. - type: optional - type: - docs: The type of object - `internal_article`. - type: optional> - updated_at: - docs: The time when the article was last updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - InternalArticleSearchResponse: - docs: The results of an Internal Article search - properties: - data: - docs: An object containing the results of the search. - type: optional - pages: - type: optional - total_count: - docs: The total number of Internal Articles matching the search query - type: optional - type: - docs: The type of the object - `list`. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - InternalArticleSearchResponseData: - docs: An object containing the results of the search. - inline: true - properties: - internal_articles: - docs: An array of Internal Article objects - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Internal Articles -service: - auth: false - base-path: '' - display-name: Internal Articles - endpoints: - createInternalArticle: - auth: true - display-name: Create an internal article - docs: >- - You can create a new internal article by making a POST request to - `https://api.intercom.io/internal_articles`. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - examples: - - name: internal article created - request: - author_id: 991266252 - body: Body of the Article - owner_id: 991266252 - title: Thanks for everything - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '42' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - - name: Bad Request - request: - author_id: 1295 - body: Body of the Internal Article - owner_id: 1295 - title: Thanks for everything - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '42' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - method: POST - path: /internal_articles - request: - body: - type: optional - content-type: application/json - response: - docs: internal article created - status-code: 200 - type: unstableArticles.InternalArticle - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteInternalArticle: - auth: true - display-name: Delete an internal article - docs: >- - You can delete a single internal article by making a DELETE request to - `https://api.intercom.io/internal_articles/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '51' - object: internal_article - method: DELETE - path: /internal_articles/{id} - request: - name: DeleteInternalArticleRequest - path-parameters: - id: - docs: >- - The unique identifier for the internal article which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: unstableRoot.DeletedInternalArticleObject - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listInternalArticles: - auth: true - display-name: List all articles - docs: >- - You can fetch a list of all internal articles by making a GET request to - `https://api.intercom.io/internal_articles`. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '39' - locale: en - owner_id: 991266252 - title: Thanks for everything - type: internal_article - updated_at: 1672928610 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 25 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /internal_articles - response: - docs: successful - status-code: 200 - type: unstableRoot.InternalArticleList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveInternalArticle: - auth: true - display-name: Retrieve an internal article - docs: >- - You can fetch the details of a single internal article by making a GET - request to `https://api.intercom.io/internal_articles/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Internal article found - path-parameters: - id: 1 - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '45' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - method: GET - path: /internal_articles/{id} - request: - name: RetrieveInternalArticleRequest - path-parameters: - id: - docs: The unique identifier for the article which is given by Intercom. - type: integer - response: - docs: Internal article found - status-code: 200 - type: unstableArticles.InternalArticle - source: - openapi: ../descriptions/0/api.intercom.io.yaml - searchInternalArticles: - auth: true - display-name: Search for internal articles - docs: >- - You can search for internal articles by making a GET request to - `https://api.intercom.io/internal_articles/search`. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Search successful - response: - body: - data: - internal_articles: - - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '55' - locale: en - owner_id: 991266252 - updated_at: 1672928610 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 1 - type: list - method: GET - path: /internal_articles/search - request: - name: SearchInternalArticlesRequest - query-parameters: - folder_id: - docs: The ID of the folder to search in. - type: optional - response: - docs: Search successful - status-code: 200 - type: InternalArticleSearchResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateInternalArticle: - auth: true - display-name: Update an internal article - docs: >- - You can update the details of a single internal article by making a PUT - request to `https://api.intercom.io/internal_articles/`. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '48' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - - name: Internal article not found - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- title: Christmas is here! - response: - body: - author_id: 991266252 - body: Body of the Article - created_at: 1672928359 - id: '48' - locale: en - owner_id: 991266252 - title: title - type: internal_article - updated_at: 1672928610 - method: PUT - path: /internal_articles/{id} - request: - body: - properties: - author_id: - docs: The id of the author of the article. - type: optional - body: - docs: The content of the article. - type: optional - owner_id: - docs: The id of the author of the article. - type: optional - title: - docs: The title of the article. - type: optional - content-type: application/json - name: UpdateInternalArticleRequestBody - path-parameters: - id: - docs: >- - The unique identifier for the internal article which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: unstableArticles.InternalArticle - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/jobs.yml b/fern/.definition/unstable/jobs.yml deleted file mode 100644 index 5a9cab8..0000000 --- a/fern/.definition/unstable/jobs.yml +++ /dev/null @@ -1,87 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Jobs: - docs: >- - Jobs are tasks that are processed asynchronously by the Intercom system - after being enqueued via the API. This allows for efficient handling of - operations that may take time to complete, such as data imports or - exports. You can check the status of your jobs to monitor their progress - and ensure they are completed successfully. - properties: - id: - docs: The id of the job that's currently being processed or has completed. - type: string - resource_id: - docs: The id of the resource created during job execution (e.g. ticket id) - type: optional - resource_type: - docs: The type of resource created during job execution. - type: optional - resource_url: - docs: >- - The url of the resource created during job exeuction. Use this url to - fetch the resource. - type: optional - status: - docs: The status of the job execution. - type: optional - type: - docs: The type of the object - type: optional> - url: - docs: API endpoint URL to check the job status. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - JobsStatus: - docs: The status of the job execution. - enum: - - pending - - success - - failed - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about jobs -service: - auth: false - base-path: '' - display-name: Jobs - endpoints: - status: - auth: true - display-name: Retrieve job status - docs: Retrieve the status of job execution. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: job status retrieved - path-parameters: - id: id - response: - body: - id: '2' - resource_id: '20' - resource_type: ticket - resource_url: https://api.intercom.io/tickets/20 - status: success - type: job - url: https://api.intercom.io/jobs/status/20 - method: GET - path: /jobs/status/{id} - request: - name: JobsStatusRequest - path-parameters: - id: - docs: The unique identifier for the job which is given by Intercom - type: string - response: - docs: Job execution status - status-code: 200 - type: Jobs - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/macros.yml b/fern/.definition/unstable/macros.yml deleted file mode 100644 index 493a832..0000000 --- a/fern/.definition/unstable/macros.yml +++ /dev/null @@ -1,1183 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Macro: - docs: >- - A macro is a pre-defined response template (saved reply) that can be used - to quickly reply to conversations. - properties: - available_on: - docs: Where the macro is available for use. - type: optional> - body: - docs: >- - The body of the macro in HTML format with placeholders transformed to - XML-like format. - type: optional - body_text: - docs: >- - The plain text version of the macro body with original Intercom - placeholder format. - type: optional - created_at: - docs: The time the macro was created in ISO 8601 format. - type: optional - id: - docs: The unique identifier for the macro. - type: optional - name: - docs: The name of the macro. - type: optional - type: - docs: String representing the object's type. Always has the value `macro`. - type: optional> - updated_at: - docs: The time the macro was last updated in ISO 8601 format. - type: optional - visible_to: - docs: Who can view this macro. - type: optional - visible_to_team_ids: - docs: >- - The team IDs that can view this macro when visible_to is set to - specific_teams. - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MacroAvailableOnItem: - enum: - - inbox - - messenger - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MacroList: - docs: A paginated list of macros (saved replies) in the workspace. - properties: - data: - docs: The list of macro objects - type: optional>> - pages: - docs: Pagination information - type: optional - type: - docs: Always list - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MacroListPages: - docs: Pagination information - inline: true - properties: - next: - docs: Cursor for the next page - type: optional - per_page: - docs: Number of results per page - type: optional - type: - docs: The type of pagination - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MacroListPagesNext: - docs: Cursor for the next page - inline: true - properties: - starting_after: - docs: Base64-encoded cursor containing [updated_at, id] for pagination - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MacroVisibleTo: - docs: Who can view this macro. - enum: - - everyone - - specific_teams - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Operations related to saved replies (macros) in conversations -service: - auth: false - base-path: '' - display-name: Macros - endpoints: - getMacro: - auth: true - display-name: Retrieve a macro - docs: > - You can fetch a single macro (saved reply) by its ID. The macro will - only be returned if it is visible to the authenticated user based on its - visibility settings. - - - **Visibility Rules** - - - A macro is returned based on its `visible_to` setting: - - - `everyone`: Always visible to all team members - - - `specific_teams`: Only visible if the authenticated user belongs to - one of the teams specified in `visible_to_team_ids` - - - If a macro exists but is not visible to the authenticated user, a 404 - error is returned. - - - **Placeholder Transformation** - - - The API transforms Intercom placeholders to a more standard XML-like - format in the `body` field: - - - From: `{{user.name | fallback: 'there'}}` - - - To: `` - - - Default values in placeholders are HTML-escaped for security. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.NotFoundError - examples: - - code-samples: - - code: | - curl -X GET 'https://api.intercom.io/macros/123' \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros/123', { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macro = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - response = requests.get('https://api.intercom.io/macros/123', - headers=headers) - macro = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros/123') - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macro = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Customer support macro with placeholders - path-parameters: - id: '123' - response: - body: - available_on: - - inbox - - messenger - body: >- -

Hi ,

I understand you'd like a refund for - order #. The refund - will be processed within 3-5 business days to your .

Is there anything else I can help you - with?

- body_text: >- - Hi {{user.first_name|fallback:"there"}}, - - - I understand you'd like a refund for order - #{{conversation.custom_attributes.order_number}}. The refund - will be processed within 3-5 business days to your - {{user.custom_attributes.payment_method|fallback:"original - payment method"}}. - - - Is there anything else I can help you with? - created_at: '2025-07-21T14:44:35Z' - id: '789' - name: Refund Process Explanation - type: macro - updated_at: '2025-07-21T14:44:35Z' - visible_to: specific_teams - visible_to_team_ids: - - support_team_1 - - support_team_2 - - code-samples: - - code: | - curl -X GET 'https://api.intercom.io/macros/123' \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros/123', { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macro = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - response = requests.get('https://api.intercom.io/macros/123', - headers=headers) - macro = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros/123') - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macro = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Sales team macro for product inquiries - path-parameters: - id: '123' - response: - body: - available_on: - - messenger - body: >- -

Hello ,

Thank you for your interest in ! I'd love to - schedule a personalized demo for your team at .

Would - work for you?

- body_text: >- - Hello {{user.name|fallback:"valued customer"}}, - - - Thank you for your interest in {{product.name|fallback:"our - products"}}! I'd love to schedule a personalized demo for your - team at {{company.name|fallback:"your company"}}. - - - Would {{suggested_time|fallback:"next Tuesday at 2 PM EST"}} - work for you? - created_at: '2025-07-22T11:06:40Z' - id: '456' - name: Product Demo Request - type: macro - updated_at: '2025-07-23T00:00:00Z' - visible_to: specific_teams - visible_to_team_ids: - - sales_team_us - - sales_team_eu - - code-samples: - - code: | - curl -X GET 'https://api.intercom.io/macros/123' \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros/123', { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macro = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - response = requests.get('https://api.intercom.io/macros/123', - headers=headers) - macro = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros/123') - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macro = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Technical support macro with nested attributes - path-parameters: - id: '123' - response: - body: - available_on: - - inbox - body: >- -

Hi ,

I see you're having - trouble with the integration. Your API key for app is configured correctly.

Error code: -

Let me help you resolve this - issue.

- body_text: >- - Hi {{user.name}}, - - - I see you're having trouble with the - {{conversation.custom_attributes.api_endpoint|fallback:"API"}} - integration. Your API key for app {{app.id}} is configured - correctly. - - - Error code: - {{conversation.custom_attributes.error_code|fallback:"unknown"}} - - - Let me help you resolve this issue. - created_at: '2025-07-18T09:15:00Z' - id: '890' - name: API Integration Help - type: macro - updated_at: '2025-07-18T09:15:00Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - - code-samples: - - code: | - curl -X GET 'https://api.intercom.io/macros/123' \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros/123', { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macro = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - response = requests.get('https://api.intercom.io/macros/123', - headers=headers) - macro = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros/123') - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macro = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Simple macro without placeholders - path-parameters: - id: '123' - response: - body: - available_on: - - inbox - - messenger - body: >- -

Thank you for reaching out! We appreciate your message and - will get back to you as soon as possible.

- body_text: >- - Thank you for reaching out! We appreciate your message and will - get back to you as soon as possible. - created_at: '2025-07-17T11:18:08Z' - id: '123' - name: Thank You Response - type: macro - updated_at: '2025-07-17T15:30:24Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - method: GET - path: /macros/{id} - request: - name: GetMacroRequest - path-parameters: - id: - docs: The unique identifier of the macro - type: string - response: - docs: Macro found - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listMacros: - auth: true - display-name: List all macros - docs: > - You can fetch a list of all macros (saved replies) in your workspace for - use in automating responses. - - - The macros are returned in descending order by updated_at. - - - **Pagination** - - - This endpoint uses cursor-based pagination via the `starting_after` - parameter. The cursor is a Base64-encoded JSON array containing - `[updated_at, id]` of the last item from the previous page. - - - **Placeholder Transformation** - - - The API transforms Intercom placeholders to a more standard XML-like - format: - - - From: `{{user.name | fallback: 'there'}}` - - - To: `` - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - examples: - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Basic list of macros - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - - messenger - body: >- -

Hi , your - order # is ready for - pickup!

- body_text: >- - Hi {{user.name|fallback:"there"}}, your order - #{{order.number}} is ready for pickup! - created_at: '2025-07-17T11:18:08Z' - id: '123' - name: Order Status Update - type: macro - updated_at: '2025-07-17T15:30:24Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - - available_on: - - inbox - body: >- -

Welcome to our support! I'm . How can I help you today?

- body_text: >- - Welcome to our support! I'm {{teammate.name}}. How can I - help you today? - created_at: '2025-07-21T14:44:35Z' - id: '456' - name: Welcome Message - type: macro - updated_at: '2025-07-21T14:44:35Z' - visible_to: specific_teams - visible_to_team_ids: - - '789' - - '101' - pages: - next: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - per_page: 50 - type: pages - type: list - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Paginated response using starting_after cursor - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - - messenger - body: >- -

I understand you'd like a refund for order #. The - refund will be processed within 3-5 business days.

- body_text: >- - I understand you'd like a refund for order - #{{conversation.custom_attributes.order_number}}. The refund - will be processed within 3-5 business days. - created_at: '2025-07-21T07:15:34Z' - id: '789' - name: Refund Process - type: macro - updated_at: '2025-07-21T07:15:34Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - - available_on: - - inbox - - messenger - body: >- -

Thank you for your interest in . I'd be happy to - provide more information!

- body_text: >- - Thank you for your interest in {{product.name|fallback:"our - products"}}. I'd be happy to provide more information! - created_at: '2025-07-20T05:33:20Z' - id: '101' - name: Product Inquiry Response - type: macro - updated_at: '2025-07-21T10:00:00Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - pages: - next: - starting_after: WzE3MTk0MDAwMDAuMCwgIjEwMSJd - per_page: 50 - type: pages - type: list - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Macros filtered by updated_since parameter - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - body: >- -

Your order has been shipped via . - Tracking number:

- body_text: >- - Your order has been shipped via - {{shipping.carrier|fallback:"our shipping partner"}}. - Tracking number: {{shipping.tracking_number}} - created_at: '2025-07-22T05:31:01Z' - id: '234' - name: Shipping Update Template - type: macro - updated_at: '2025-07-22T18:45:12Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - pages: - per_page: 50 - type: pages - type: list - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Macros with various placeholder formats - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - body: >- -

Hi ,

Your account status:

Last activity:

- body_text: >- - Hi {{user.first_name|fallback:"there"}}, - - - Your account status: - {{user.custom_attributes.account_status|fallback:"pending - review"}} - - - Last activity: {{user.last_seen_at}} - created_at: '2025-07-21T09:00:00Z' - id: '567' - name: Account Status Review - type: macro - updated_at: '2025-07-21T09:00:00Z' - visible_to: specific_teams - visible_to_team_ids: - - security_team - pages: - per_page: 50 - type: pages - type: list - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Empty macro list (no macros or all filtered out) - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - - messenger - body: >- -

Hi , your - order is ready!

- body_text: Hi {{user.name|fallback:"there"}}, your order is ready! - created_at: '2025-07-17T11:18:08Z' - id: '123' - name: Order Status Update - type: macro - updated_at: '2025-07-17T15:30:24Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - pages: - per_page: 50 - type: pages - type: list - - code-samples: - - code: > - curl -X GET - 'https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - \ - -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Intercom-Version: @Unstable' - language: cURL - name: cURL - - code: > - const response = await - fetch('https://api.intercom.io/macros?per_page=25&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd', - { - headers: { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - }); - - const macros = await response.json(); - language: Node.js - name: Node.js - - code: | - import requests - - headers = { - 'Authorization': 'Bearer ', - 'Accept': 'application/json', - 'Intercom-Version': '@Unstable' - } - - params = { - 'per_page': 25, - 'starting_after': 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - - response = requests.get('https://api.intercom.io/macros', - headers=headers, - params=params) - macros = response.json() - language: Python - name: Python - - code: | - require 'net/http' - require 'json' - - uri = URI('https://api.intercom.io/macros') - params = { - per_page: 25, - starting_after: 'WzE3MTk0OTM3NTcuMCwgIjEyMyJd' - } - uri.query = URI.encode_www_form(params) - - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true - - request = Net::HTTP::Get.new(uri) - request['Authorization'] = 'Bearer ' - request['Accept'] = 'application/json' - request['Intercom-Version'] = '@Unstable' - - response = http.request(request) - macros = JSON.parse(response.body) - language: Ruby - name: Ruby - name: Large list with performance optimization - query-parameters: - starting_after: WzE3MTk0OTM3NTcuMCwgIjEyMyJd - response: - body: - data: - - available_on: - - inbox - created_at: '2025-07-22T11:08:20Z' - id: '1001' - name: Quick Response 1 - type: macro - updated_at: '2025-07-23T11:08:20Z' - visible_to: everyone - visible_to_team_ids: - - '456' - - '789' - pages: - next: - starting_after: WzE3MTk0OTAxMDAuMCwgIjEwMDIiXQ== - per_page: 50 - type: pages - type: list - method: GET - path: /macros - request: - name: ListMacrosRequest - query-parameters: - per_page: - default: 50 - docs: The number of results per page - type: optional - validation: - max: 150 - min: 1 - starting_after: - docs: Base64-encoded cursor containing [updated_at, id] for pagination - type: optional - updated_since: - docs: Unix timestamp to filter macros updated after this time - type: optional - response: - docs: Successful response - status-code: 200 - type: MacroList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/messages.yml b/fern/.definition/unstable/messages.yml deleted file mode 100644 index f0a5228..0000000 --- a/fern/.definition/unstable/messages.yml +++ /dev/null @@ -1,356 +0,0 @@ -imports: - root: ../__package__.yml - unstableRoot: __package__.yml -types: - Message: - docs: >- - Message are how you reach out to contacts in Intercom. They are created - when an admin sends an outbound message to a contact. - properties: - body: - docs: The message body, which may contain HTML. - type: string - conversation_id: - docs: The associated conversation_id - type: optional - created_at: - docs: The time the conversation was created. - type: integer - id: - docs: The id representing the message. - type: string - message_type: - docs: >- - The type of message that was sent. Can be email, inapp, facebook, - twitter, sms or whatsapp. - type: MessageMessageType - subject: - docs: 'The subject of the message. Only present if message_type: email.' - type: optional - type: - docs: The type of the message - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - MessageMessageType: - docs: >- - The type of message that was sent. Can be email, inapp, facebook, twitter, - sms or whatsapp. - enum: - - email - - inapp - - facebook - - twitter - - sms - - whatsapp - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your messages -service: - auth: false - base-path: '' - display-name: Messages - endpoints: - createMessage: - auth: true - display-name: Create a message - docs: > - You can create a message that has been initiated by an admin. The - conversation can be either an in-app message, an email, sms or whatsapp. - - - > 🚧 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. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.UnprocessableEntityError - examples: - - name: user message created - request: - body: heyy - from: - id: 6762f2341bb69f9f2193bc17 - type: user - referer: https://twitter.com/bob - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: lead message created - request: - body: heyy - from: - id: 6762f2371bb69f9f2193bc18 - type: lead - referer: https://twitter.com/bob - response: - body: - body: heyy - conversation_id: '614' - created_at: 1734537783 - id: '403918397' - message_type: inapp - subject: Greetings - type: user_message - - name: admin message created - request: - bcc: - - id: 6762f23e1bb69f9f2193bc2f - type: user - body: heyy - cc: - - id: 6762f23e1bb69f9f2193bc1d - type: user - - id: 6762f23f1bb69f9f2193bc1e - type: user - from: - id: '991267816' - type: admin - message_type: conversation - to: - - id: 6762f2391bb69f9f2193bc19 - type: user - - id: 6762f23c1bb69f9f2193bc1b - type: lead - - id: 6762f23d1bb69f9f2193bc1c - type: user - response: - body: - body: heyy - conversation_id: '64619700005570' - created_at: 1734537786 - id: '19' - message_type: inapp - subject: heyy - type: admin_message - - name: admin sms message created - request: - body: heyy - from: - id: '991267817' - type: admin - message_type: sms - to: - id: 6762f23a1bb69f9f2193bc1a - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: admin whatsapp message created - request: - components: - - parameters: - - text: Username 123 - type: text - type: BODY - from: - id: '991267817' - type: admin - locale: en - message_type: whatsapp - template: keep_live - to: - name: John Doe - phone: 5547999998888 - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No body supplied for message - request: - from: - id: '991267818' - type: admin - message_type: inapp - subject: heyy - to: - id: 6762f23b1bb69f9f2193bc1a - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No subject supplied for email message - request: - body: hey there - from: - id: '991267819' - type: admin - message_type: email - to: - type: user - user_id: '70' - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: No body supplied for email message - request: - from: - id: '991267820' - type: admin - message_type: email - subject: heyy - to: - id: 6762f23d1bb69f9f2193bc1c - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - - name: Invalid body supplied for sms message - request: - body: heyy https://picsum.photos/200/300 - from: - id: '991267821' - type: admin - message_type: sms - to: - id: 6762f23b1bb69f9f2193bc1d - type: user - response: - body: - body: heyy - conversation_id: '613' - created_at: 1734537780 - id: '403918396' - message_type: inapp - subject: Greetings - type: user_message - method: POST - path: /messages - request: - body: root.CreateMessageRequestThree - content-type: application/json - response: - docs: admin message created - status-code: 200 - type: Message - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getWhatsAppMessageStatus: - auth: true - display-name: Get statuses of all messages sent based on the specified ruleset_id - docs: > - Retrieves statuses of messages sent from the Outbound module. Currently, - this API only supports WhatsApp messages. - - - - This endpoint returns paginated status events for WhatsApp messages sent - via the Outbound module, providing - - information about delivery state and related message details. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.ForbiddenError - - unstableRoot.InternalServerError - examples: - - name: Successful response - query-parameters: - ruleset_id: ruleset_id - response: - body: - events: - - conversation_id: conv_123 - created_at: 1734537980 - id: event_1 - status: delivered - template_name: appointment_reminder - type: broadcast_outbound - updated_at: 1734538000 - whatsapp_message_id: wamid_123 - - conversation_id: conv_456 - created_at: 1734537970 - id: event_2 - status: sent - template_name: order_update - type: broadcast_outbound - updated_at: 1734538010 - whatsapp_message_id: wamid_456 - pages: - next: - starting_after: abc123 - per_page: 50 - total_pages: 3 - type: pages - ruleset_id: ruleset_id - total_count: 125 - type: list - method: GET - path: /messages/status - request: - name: GetWhatsAppMessageStatusRequest - query-parameters: - per_page: - default: 50 - docs: Number of results per page (default 50, max 100) - type: optional - validation: - max: 100 - ruleset_id: - docs: The unique identifier for the set of messages to check status for - type: string - starting_after: - docs: Cursor for pagination, used to fetch the next page of results - type: optional - response: - docs: Successful response - status-code: 200 - type: unstableRoot.WhatsappMessageStatusList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/news.yml b/fern/.definition/unstable/news.yml deleted file mode 100644 index 8ada00b..0000000 --- a/fern/.definition/unstable/news.yml +++ /dev/null @@ -1,547 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Newsfeed: - docs: > - 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: - created_at: - docs: Timestamp for when the newsfeed was created. - type: optional - id: - docs: The unique identifier for the newsfeed which is given by Intercom. - type: optional - name: - docs: >- - The name of the newsfeed. This name will never be visible to your - users. - type: optional - updated_at: - docs: Timestamp for when the newsfeed was last updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NewsfeedAssignment: - docs: Assigns a news item to a newsfeed. - properties: - newsfeed_id: - docs: >- - 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). - type: optional - published_at: - docs: >- - 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". - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NewsItem: - docs: >- - 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: - body: - docs: The news item body, which may contain HTML. - type: optional - cover_image_url: - docs: URL of the image used as cover. Must have .jpg or .png extension. - type: optional - validation: - format: uri - created_at: - docs: Timestamp for when the news item was created. - type: optional - deliver_silently: - docs: >- - When set to true, the news item will appear in the messenger newsfeed - without showing a notification badge. - type: optional - id: - docs: The unique identifier for the news item which is given by Intercom. - type: optional - labels: - docs: Label names displayed to users to categorize the news item. - type: optional>> - newsfeed_assignments: - docs: A list of newsfeed_assignments to assign to the specified newsfeed. - type: optional> - reactions: - docs: >- - Ordered list of emoji reactions to the news item. When empty, - reactions are disabled. - type: optional>> - sender_id: - docs: >- - The id of the sender of the news item. Must be a teammate on the - workspace. - type: optional - state: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - type: optional - title: - docs: The title of the news item. - type: optional - updated_at: - docs: Timestamp for when the news item was last updated. - type: optional - workspace_id: - docs: The id of the workspace which the news item belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NewsItemState: - docs: >- - News items will not be visible to your users in the assigned newsfeeds - until they are set live. - enum: - - draft - - live - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your News -service: - auth: false - base-path: '' - display-name: News - endpoints: - createNewsItem: - auth: true - display-name: Create a news item - docs: You can create a news item - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - body:

New costumes in store for this spooky season

- deliver_silently: true - labels: - - Product - - Update - - New - newsfeed_assignments: - - newsfeed_id: 53 - published_at: 1664638214 - reactions: - - 😆 - - 😅 - sender_id: 991267834 - state: live - title: Halloween is here! - response: - body: - body:

New costumes in store for this spooky season

- created_at: 1734537797 - deliver_silently: true - id: '33' - labels: - - New - - Product - - Update - newsfeed_assignments: - - newsfeed_id: 53 - published_at: 1664638214 - reactions: - - 😆 - - 😅 - sender_id: 991267834 - state: live - title: Halloween is here! - updated_at: 1734537797 - workspace_id: this_is_an_id534_that_should_be_at_least_ - method: POST - path: /news/news_items - request: - body: - type: unstableRoot.NewsItemRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: NewsItem - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteNewsItem: - auth: true - display-name: Delete a news item - docs: You can delete a single news item. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - deleted: true - id: '40' - object: news-item - method: DELETE - path: /news/news_items/{id} - request: - name: DeleteNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: unstableRoot.DeletedObject - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listLiveNewsfeedItems: - auth: true - display-name: List all live newsfeed items - docs: You can fetch a list of all news items that are live on a given newsfeed - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - data: - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 20 - total_pages: 0 - type: pages - total_count: 0 - type: list - method: GET - path: /news/newsfeeds/{id}/items - request: - name: ListLiveNewsfeedItemsRequest - path-parameters: - id: - docs: >- - The unique identifier for the news feed item which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: unstableRoot.PaginatedResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listNewsfeeds: - auth: true - display-name: List all newsfeeds - docs: You can fetch a list of all newsfeeds - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - created_at: 1674917488 - id: '12312' - name: My Newsfeed - type: newsfeed - updated_at: 1674917488 - - created_at: 1674917488 - id: '12312' - name: My Newsfeed - type: newsfeed - updated_at: 1674917488 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 2 - type: list - method: GET - path: /news/newsfeeds - response: - docs: successful - status-code: 200 - type: unstableRoot.PaginatedResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listNewsItems: - auth: true - display-name: List all news items - docs: You can fetch a list of all news items - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - - body: >- - 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. - cover_image_url: https://example.com/cover.jpg - created_at: 1610589632 - deliver_silently: true - id: '141' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 👍 - sender_id: 123 - state: draft - title: 'New feature: News Items' - type: news-item - updated_at: 1610589632 - workspace_id: t74hdn32 - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 10 - total_pages: 1 - type: pages - total_count: 2 - type: list - method: GET - path: /news/news_items - response: - docs: successful - status-code: 200 - type: unstableRoot.PaginatedResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveNewsfeed: - auth: true - display-name: Retrieve a newsfeed - docs: You can fetch the details of a single newsfeed - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - created_at: 1734537815 - id: '72' - name: Visitor Feed - updated_at: 1734537815 - method: GET - path: /news/newsfeeds/{id} - request: - name: RetrieveNewsfeedRequest - path-parameters: - id: - docs: >- - The unique identifier for the news feed item which is given by - Intercom. - type: string - response: - docs: successful - status-code: 200 - type: Newsfeed - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveNewsItem: - auth: true - display-name: Retrieve a news item - docs: You can fetch the details of a single news item. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - response: - body: - body:

Hello there,

- created_at: 1734537800 - deliver_silently: false - id: '34' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 55 - published_at: 1734537800 - reactions: - - 👍 - - 👍 - - 👍 - - 👍 - sender_id: 991267837 - state: live - title: We have news - updated_at: 1734537800 - workspace_id: this_is_an_id538_that_should_be_at_least_ - method: GET - path: /news/news_items/{id} - request: - name: RetrieveNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: NewsItem - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateNewsItem: - auth: true - display-name: Update a news item - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- reactions: - - 😝 - - 😂 - sender_id: 991267845 - title: Christmas is here! - response: - body: - body:

New gifts in store for the jolly season

- created_at: 1734537803 - deliver_silently: false - id: '37' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 😝 - - 😂 - sender_id: 991267845 - state: live - title: Christmas is here! - updated_at: 1734537804 - workspace_id: this_is_an_id544_that_should_be_at_least_ - - name: News Item Not Found - path-parameters: - id: 1 - request: - body:

New gifts in store for the jolly season

- reactions: - - 😝 - - 😂 - sender_id: 991267848 - title: Christmas is here! - response: - body: - body:

New gifts in store for the jolly season

- created_at: 1734537803 - deliver_silently: false - id: '37' - labels: - - Product Update - newsfeed_assignments: - - newsfeed_id: 198313 - published_at: 1674917488 - reactions: - - 😝 - - 😂 - sender_id: 991267845 - state: live - title: Christmas is here! - updated_at: 1734537804 - workspace_id: this_is_an_id544_that_should_be_at_least_ - method: PUT - path: /news/news_items/{id} - request: - body: - type: unstableRoot.NewsItemRequest - content-type: application/json - name: UpdateNewsItemRequest - path-parameters: - id: - docs: >- - The unique identifier for the news item which is given by - Intercom. - type: integer - response: - docs: successful - status-code: 200 - type: NewsItem - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/notes.yml b/fern/.definition/unstable/notes.yml deleted file mode 100644 index 450ebab..0000000 --- a/fern/.definition/unstable/notes.yml +++ /dev/null @@ -1,316 +0,0 @@ -imports: - unstableAdmins: admins.yml - unstableRoot: __package__.yml -types: - Note: - docs: Notes allow you to annotate and comment on your contacts. - properties: - author: - docs: Optional. Represents the Admin that created the note. - type: optional - body: - docs: The body text of the note. - type: optional - contact: - docs: Represents the contact that the note was created about. - type: optional - created_at: - docs: The time the note was created. - type: optional - id: - docs: The id of the note. - type: optional - type: - docs: String representing the object's type. Always has the value `note`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - NoteContact: - docs: Represents the contact that the note was created about. - inline: true - properties: - id: - docs: The id of the contact. - type: optional - type: - docs: String representing the object's type. Always has the value `contact`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Notes -service: - auth: false - base-path: '' - display-name: Notes - endpoints: - createNote: - auth: true - display-name: Create a note - docs: You can add a note to a single contact. - errors: - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: 6762f0ad1bb69f9f2193bb62 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - - name: Admin not found - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: 6762f0af1bb69f9f2193bb63 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - - name: Contact not found - path-parameters: - id: 1 - request: - admin_id: '123' - body: Hello - contact_id: '123' - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin124@email.com - has_inbox_seat: true - id: '991267583' - job_title: Associate - name: Ciaran124 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

Hello

- contact: - id: 6762f0ad1bb69f9f2193bb62 - type: contact - created_at: 1734537390 - id: '31' - type: note - method: POST - path: /contacts/{id}/notes - request: - body: - properties: - admin_id: - docs: The unique identifier of a given admin. - type: optional - body: - docs: The text of the note. - type: string - contact_id: - docs: The unique identifier of a given contact. - type: optional - content-type: application/json - name: CreateNoteRequest - path-parameters: - id: - docs: The unique identifier of a given contact. - type: integer - response: - docs: Successful response - status-code: 200 - type: Note - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listNotes: - auth: true - display-name: List all notes - docs: You can fetch a list of notes that are associated to a contact. - errors: - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: 1 - response: - body: - data: - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733932587 - id: '26' - type: note - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733846187 - id: '25' - type: note - - author: - away_mode_enabled: false - away_mode_reassign: false - email: admin122@email.com - has_inbox_seat: true - id: '991267581' - job_title: Associate - name: Ciaran122 Lee - type: admin - body:

This is a note.

- contact: - id: 6762f0ab1bb69f9f2193bb60 - type: contact - created_at: 1733846187 - id: '24' - type: note - pages: - page: 1 - per_page: 50 - total_pages: 1 - type: pages - total_count: 3 - type: list - method: GET - path: /contacts/{id}/notes - request: - name: ListNotesRequest - path-parameters: - id: - docs: The unique identifier of a contact. - type: integer - response: - docs: Successful response - status-code: 200 - type: unstableRoot.NoteList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveNote: - auth: true - display-name: Retrieve a note - docs: You can fetch the details of a single note. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Note found - path-parameters: - id: 1 - response: - body: - author: - avatar: https://picsum.photos/200/300 - away_mode_enabled: false - away_mode_reassign: false - away_status_reason_id: 12345 - email: admin346@email.com - has_inbox_seat: true - id: '991267864' - job_title: Associate - name: Ciaran346 Lee - team_ids: - - 814865 - team_priority_level: - primary_team_ids: - - 814865 - secondary_team_ids: - - 493881 - type: admin - body:

This is a note.

- contact: - id: 6762f2591bb69f9f2193bc1f - type: contact - created_at: 1733846617 - id: '34' - type: note - method: GET - path: /notes/{id} - request: - name: RetrieveNoteRequest - path-parameters: - id: - docs: The unique identifier of a given note - type: integer - response: - docs: Note found - status-code: 200 - type: Note - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/segments.yml b/fern/.definition/unstable/segments.yml deleted file mode 100644 index 85e5511..0000000 --- a/fern/.definition/unstable/segments.yml +++ /dev/null @@ -1,123 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Segment: - docs: A segment is a group of your contacts defined by the rules that you set. - properties: - count: - docs: >- - The number of items in the user segment. It's returned when - `include_count=true` is included in the request. - type: optional - created_at: - docs: The time the segment was created. - type: optional - id: - docs: The unique identifier representing the segment. - type: optional - name: - docs: The name of the segment. - type: optional - person_type: - docs: 'Type of the contact: contact (lead) or user.' - type: optional - type: - docs: The type of object. - type: optional> - updated_at: - docs: The time the segment was updated. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SegmentPersonType: - docs: 'Type of the contact: contact (lead) or user.' - enum: - - contact - - user - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Segments -service: - auth: false - base-path: '' - display-name: Segments - endpoints: - listSegments: - auth: true - display-name: List all segments - docs: You can fetch a list of all segments. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - response: - body: - pages: - key: value - segments: - - count: 3 - created_at: 1734537820 - id: 6762f25c1bb69f9f2193bc22 - name: John segment - person_type: user - type: segment - updated_at: 1734537820 - - count: 3 - created_at: 1734537820 - id: 6762f25c1bb69f9f2193bc23 - name: Jane segment - person_type: user - type: segment - updated_at: 1734537820 - type: segment.list - method: GET - path: /segments - request: - name: ListSegmentsRequest - query-parameters: - include_count: - docs: It includes the count of contacts that belong to each segment. - type: optional - response: - docs: Successful response - status-code: 200 - type: unstableRoot.SegmentList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveSegment: - auth: true - display-name: Retrieve a segment - docs: You can fetch the details of a single segment. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: '123' - response: - body: - count: 3 - created_at: 1734537823 - id: 6762f25f1bb69f9f2193bc26 - name: John segment - person_type: user - type: segment - updated_at: 1734537823 - method: GET - path: /segments/{id} - request: - name: RetrieveSegmentRequest - path-parameters: - id: - docs: The unique identified of a given segment. - type: string - response: - docs: Successful response - status-code: 200 - type: Segment - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/subscriptionTypes.yml b/fern/.definition/unstable/subscriptionTypes.yml deleted file mode 100644 index 8d11858..0000000 --- a/fern/.definition/unstable/subscriptionTypes.yml +++ /dev/null @@ -1,262 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - SubscriptionType: - docs: >- - A subscription type lets customers easily opt out of non-essential - communications without missing what's important to them. - properties: - consent_type: - docs: Describes the type of consent. - type: optional - content_types: - docs: >- - The message types that this subscription supports - can contain - `email` or `sms_message`. - type: optional> - default_translation: - type: optional - id: - docs: The unique identifier representing the subscription type. - type: optional - state: - docs: The state of the subscription type. - type: optional - translations: - docs: >- - An array of translations objects with the localised version of the - subscription type in each available locale within your translation - settings. - type: optional> - type: - docs: The type of the object - subscription - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SubscriptionTypeConsentType: - docs: Describes the type of consent. - enum: - - opt_out - - opt_in - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SubscriptionTypeContentTypesItem: - enum: - - email - - sms_message - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - SubscriptionTypeState: - docs: The state of the subscription type. - enum: - - live - - draft - - archived - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about subscription types -service: - auth: false - base-path: '' - display-name: Subscription Types - endpoints: - attachSubscriptionTypeToContact: - auth: true - display-name: Add subscription to a contact - docs: > - 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. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - name: Contact not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - - name: Resource not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - consent_type: opt_in - id: invalid_id - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '106' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - method: POST - path: /contacts/{contact_id}/subscriptions - request: - body: - properties: - consent_type: - docs: The consent_type of a subscription, opt_out or opt_in. - type: string - id: - docs: >- - The unique identifier for the subscription which is given by - Intercom - type: string - content-type: application/json - name: AttachSubscriptionTypeToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: Successful - status-code: 200 - type: SubscriptionType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachSubscriptionTypeToContact: - auth: true - display-name: Remove subscription from a contact - docs: >- - 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. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - id: '37846' - response: - body: - consent_type: opt_in - content_types: - - sms_message - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '122' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - method: DELETE - path: /contacts/{contact_id}/subscriptions/{id} - request: - name: DetachSubscriptionTypeToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: >- - The unique identifier for the subscription type which is given by - Intercom - type: string - response: - docs: Successful - status-code: 200 - type: SubscriptionType - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listSubscriptionTypes: - auth: true - display-name: List subscription types - docs: >- - You can list all subscription types. A list of subscription type objects - will be returned. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Successful - response: - body: - data: - - consent_type: opt_out - content_types: - - email - default_translation: - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - id: '135' - state: live - translations: - - description: Lorem ipsum dolor sit amet - locale: en - name: Newsletters - type: subscription - type: list - method: GET - path: /subscription_types - response: - docs: Successful - status-code: 200 - type: unstableRoot.SubscriptionTypeList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/switch.yml b/fern/.definition/unstable/switch.yml deleted file mode 100644 index 65aa006..0000000 --- a/fern/.definition/unstable/switch.yml +++ /dev/null @@ -1,37 +0,0 @@ -imports: - unstableRoot: __package__.yml -docs: Everything about Switch -service: - auth: false - base-path: '' - display-name: Switch - endpoints: - createPhoneSwitch: - auth: true - display-name: Create a phone Switch - docs: > - 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. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.UnprocessableEntityError - method: POST - path: /phone_call_redirects - request: - body: unknown - content-type: application/json - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/tags.yml b/fern/.definition/unstable/tags.yml deleted file mode 100644 index a0b2614..0000000 --- a/fern/.definition/unstable/tags.yml +++ /dev/null @@ -1,623 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - CreateTagRequestBody: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: unstableRoot.CreateOrUpdateTagRequest - - type: unstableRoot.TagCompanyRequest - - type: unstableRoot.UntagCompanyRequest - - type: unstableRoot.TagMultipleUsersRequest - Tag: - docs: >- - A tag allows you to label your contacts, companies, and conversations and - list them using that tag. - properties: - applied_at: - docs: The time when the tag was applied to the object - type: optional - applied_by: - type: optional - id: - docs: The id of the tag - type: optional - name: - docs: The name of the tag - type: optional - type: - docs: value is "tag" - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TagBasic: - docs: >- - A tag allows you to label your contacts, companies, and conversations and - list them using that tag. - properties: - id: - docs: The id of the tag - type: optional - name: - docs: The name of the tag - type: optional - type: - docs: value is "tag" - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about tags -service: - auth: false - base-path: '' - display-name: Tags - endpoints: - attachTagToContact: - auth: true - display-name: Add tag to a contact - docs: >- - You can tag a specific contact. This will return a tag object for the - tag that was added to the contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - - name: Contact not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - request: - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '81' - name: Manual tag - type: tag - method: POST - path: /contacts/{contact_id}/tags - request: - body: - properties: - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - content-type: application/json - name: AttachTagToContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - attachTagToConversation: - auth: true - display-name: Add tag to a conversation - docs: >- - You can tag a specific conversation. This will return a tag object for - the tag that was added to the conversation. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - conversation_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '86' - name: Manual tag - type: tag - - name: Conversation not found - path-parameters: - conversation_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '86' - name: Manual tag - type: tag - method: POST - path: /conversations/{conversation_id}/tags - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - content-type: application/json - name: AttachTagToConversationRequest - path-parameters: - conversation_id: - docs: conversation_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - attachTagToTicket: - auth: true - display-name: Add tag to a ticket - docs: >- - You can tag a specific ticket. This will return a tag object for the tag - that was added to the ticket. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - ticket_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '121' - name: Manual tag - type: tag - - name: Ticket not found - path-parameters: - ticket_id: '64619700005694' - request: - admin_id: '780' - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '121' - name: Manual tag - type: tag - method: POST - path: /tickets/{ticket_id}/tags - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - content-type: application/json - name: AttachTagToTicketRequest - path-parameters: - ticket_id: - docs: ticket_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - createTag: - auth: true - display-name: Create or update a tag, Tag or untag companies, Tag contacts - docs: | - 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. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Action successful - request: - name: test - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: Invalid parameters - request: - name: Independent - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: Company not found - request: - companies: - - company_id: '123' - name: test - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - - name: User not found - request: - name: test - users: - - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '105' - name: test - type: tag - method: POST - path: /tags - request: - body: CreateTagRequestBody - content-type: application/json - response: - docs: Action successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - deleteTag: - auth: true - display-name: Delete tag - docs: >- - You can delete the details of tags that are on the workspace by passing - in the id. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - path-parameters: - id: '123' - method: DELETE - path: /tags/{id} - request: - name: DeleteTagRequest - path-parameters: - id: - docs: The unique identifier of a given tag - type: string - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachTagFromContact: - auth: true - display-name: Remove tag from a contact - docs: >- - You can remove tag from a specific contact. This will return a tag - object for the tag that was removed from the contact. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - contact_id: 63a07ddf05a32042dffac965 - id: '7522907' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '84' - name: Manual tag - type: tag - method: DELETE - path: /contacts/{contact_id}/tags/{id} - request: - name: DetachTagFromContactRequest - path-parameters: - contact_id: - docs: The unique identifier for the contact which is given by Intercom - type: string - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachTagFromConversation: - auth: true - display-name: Remove tag from a conversation - docs: >- - You can remove tag from a specific conversation. This will return a tag - object for the tag that was removed from the conversation. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - - name: Conversation not found - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - conversation_id: '64619700005694' - id: '7522907' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '89' - name: Manual tag - type: tag - method: DELETE - path: /conversations/{conversation_id}/tags/{id} - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - content-type: application/json - name: DetachTagFromConversationRequest - path-parameters: - conversation_id: - docs: conversation_id - type: string - id: - docs: id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - detachTagFromTicket: - auth: true - display-name: Remove tag from a ticket - docs: >- - You can remove tag from a specific ticket. This will return a tag object - for the tag that was removed from the ticket. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - - name: Ticket not found - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - - name: Tag not found - path-parameters: - id: '7522907' - ticket_id: '64619700005694' - request: - admin_id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '124' - name: Manual tag - type: tag - method: DELETE - path: /tickets/{ticket_id}/tags/{id} - request: - body: - properties: - admin_id: - docs: The unique identifier for the admin which is given by Intercom. - type: string - content-type: application/json - name: DetachTagFromTicketRequest - path-parameters: - id: - docs: The unique identifier for the tag which is given by Intercom - type: string - ticket_id: - docs: ticket_id - type: string - response: - docs: successful - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - findTag: - auth: true - display-name: Find a specific tag - docs: | - You can fetch the details of tags that are on the workspace by their id. - This will return a tag object. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Tag found - path-parameters: - id: '123' - response: - body: - applied_at: 1663597223 - applied_by: - id: 1a2b3c - type: contact - id: '113' - name: Manual tag - type: tag - method: GET - path: /tags/{id} - request: - name: FindTagRequest - path-parameters: - id: - docs: The unique identifier of a given tag - type: string - response: - docs: Tag found - status-code: 200 - type: Tag - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listTags: - auth: true - display-name: List all tags - docs: |+ - You can fetch a list of all tags for a given workspace. - - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - applied_at: 1663597223 - applied_by: - type: contact - id: '102' - name: Manual tag 1 - type: tag - type: list - method: GET - path: /tags - response: - docs: successful - status-code: 200 - type: unstableRoot.TagList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/teams.yml b/fern/.definition/unstable/teams.yml deleted file mode 100644 index c2a0749..0000000 --- a/fern/.definition/unstable/teams.yml +++ /dev/null @@ -1,94 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - Team: - docs: Teams are groups of admins in Intercom. - properties: - admin_ids: - docs: The list of admin IDs that are a part of the team. - type: optional> - admin_priority_level: - type: optional - id: - docs: The id of the team - type: optional - name: - docs: The name of the team - type: optional - type: - docs: Value is always "team" - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your Teams -service: - auth: false - base-path: '' - display-name: Teams - endpoints: - listTeams: - auth: true - display-name: List all teams - docs: This will return a list of team objects for the App. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - teams: - - admin_ids: - - 493881 - id: '814865' - name: Example Team - type: team - type: team.list - method: GET - path: /teams - response: - docs: successful - status-code: 200 - type: unstableRoot.TeamList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveTeam: - auth: true - display-name: Retrieve a team - docs: >- - You can fetch the details of a single team, containing an array of - admins that belong to this team. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: '123' - response: - body: - admin_ids: - - 493881 - admin_priority_level: - primary_admin_ids: - - 493881 - secondary_admin_ids: - - 814865 - id: '991267902' - name: team 1 - type: team - method: GET - path: /teams/{id} - request: - name: RetrieveTeamRequest - path-parameters: - id: - docs: The unique identifier of a given team. - type: string - response: - docs: successful - status-code: 200 - type: Team - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketStates.yml b/fern/.definition/unstable/ticketStates.yml deleted file mode 100644 index 74a19da..0000000 --- a/fern/.definition/unstable/ticketStates.yml +++ /dev/null @@ -1,204 +0,0 @@ -imports: - unstableRoot: __package__.yml -docs: Everything about your ticket states -service: - auth: false - base-path: '' - display-name: Ticket States - endpoints: - listTicketStates: - auth: true - display-name: List all ticket states - docs: You can get a list of all ticket states for a workspace. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - archived: false - category: submitted - external_label: Submitted - id: '8269' - internal_label: Submitted - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: in_progress - external_label: In progress - id: '8270' - internal_label: In progress - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: waiting_on_customer - external_label: Waiting on you - id: '8271' - internal_label: Waiting on customer - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: resolved - external_label: Resolved - id: '8272' - internal_label: Resolved - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: submitted - external_label: User label - id: '8273' - internal_label: Admin label 1 - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '55' - name: my-ticket-type-3 - type: ticket_type - workspace_id: ecahpwf5 - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '56' - name: my-ticket-type-4 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - - archived: false - category: submitted - external_label: User label - id: '8274' - internal_label: Admin label 2 - ticket_types: - data: - - archived: false - category: Back-office - description: my ticket type description is awesome. - icon: 🦁 - id: '58' - name: my-ticket-type-6 - type: ticket_type - workspace_id: ecahpwf5 - type: list - type: ticket_state - type: list - method: GET - path: /ticket_states - response: - docs: successful - status-code: 200 - type: unstableRoot.TicketStateList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketTypeAttributes.yml b/fern/.definition/unstable/ticketTypeAttributes.yml deleted file mode 100644 index 8224f2c..0000000 --- a/fern/.definition/unstable/ticketTypeAttributes.yml +++ /dev/null @@ -1,238 +0,0 @@ -imports: - unstableRoot: __package__.yml -types: - CreateTicketTypeAttributeRequestDataType: - docs: The data type of the attribute - enum: - - string - - list - - integer - - decimal - - boolean - - datetime - - files - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your ticket type attributes -service: - auth: false - base-path: '' - display-name: Ticket Type Attributes - endpoints: - createTicketTypeAttribute: - auth: true - display-name: Create a new attribute for a ticket type - docs: You can create a new attribute for a ticket type. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Ticket Type Attribute created - path-parameters: - ticket_type_id: ticket_type_id - request: - data_type: string - description: Attribute Description - name: Attribute Title - required_to_create: false - response: - body: - archived: false - created_at: 1734537862 - data_type: string - default: false - description: Attribute Description - id: '157' - input_options: - multiline: false - name: Attribute Title - order: 2 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 63 - type: ticket_type_attribute - updated_at: 1734537862 - visible_on_create: true - visible_to_contacts: true - workspace_id: this_is_an_id640_that_should_be_at_least_ - method: POST - path: /ticket_types/{ticket_type_id}/attributes - request: - body: - properties: - allow_multiple_values: - docs: >- - Whether the attribute allows multiple files to be attached to it - (only applicable to file attributes) - type: optional - data_type: - docs: The data type of the attribute - type: CreateTicketTypeAttributeRequestDataType - description: - docs: >- - The description of the attribute presented to the teammate or - contact - type: string - list_items: - docs: >- - A comma delimited list of items for the attribute value (only - applicable to list attributes) - type: optional - multiline: - docs: >- - Whether the attribute allows multiple lines of text (only - applicable to string attributes) - type: optional - name: - docs: The name of the ticket type attribute - type: string - required_to_create: - default: false - docs: >- - Whether the attribute is required to be filled in when teammates - are creating the ticket in Inbox. - type: optional - required_to_create_for_contacts: - default: false - docs: >- - Whether the attribute is required to be filled in when contacts - are creating the ticket in Messenger. - type: optional - visible_on_create: - default: true - docs: >- - Whether the attribute is visible to teammates when creating a - ticket in Inbox. - type: optional - visible_to_contacts: - default: true - docs: >- - Whether the attribute is visible to contacts when creating a - ticket in Messenger. - type: optional - content-type: application/json - name: CreateTicketTypeAttributeRequest - path-parameters: - ticket_type_id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket Type Attribute created - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateTicketTypeAttribute: - auth: true - display-name: Update an existing attribute for a ticket type - docs: You can update an existing attribute for a ticket type. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Ticket Type Attribute updated - path-parameters: - id: id - ticket_type_id: ticket_type_id - request: - description: New Attribute Description - response: - body: - archived: false - created_at: 1734537864 - data_type: string - default: false - description: New Attribute Description - id: '162' - input_options: - key: value - name: name - order: 0 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 65 - type: ticket_type_attribute - updated_at: 1734537864 - visible_on_create: false - visible_to_contacts: false - workspace_id: this_is_an_id644_that_should_be_at_least_ - method: PUT - path: /ticket_types/{ticket_type_id}/attributes/{id} - request: - body: - properties: - allow_multiple_values: - docs: >- - Whether the attribute allows multiple files to be attached to it - (only applicable to file attributes) - type: optional - archived: - docs: >- - Whether the attribute should be archived and not shown during - creation of the ticket (it will still be present on previously - created tickets) - type: optional - description: - docs: >- - The description of the attribute presented to the teammate or - contact - type: optional - list_items: - docs: >- - A comma delimited list of items for the attribute value (only - applicable to list attributes) - type: optional - multiline: - docs: >- - Whether the attribute allows multiple lines of text (only - applicable to string attributes) - type: optional - name: - docs: The name of the ticket type attribute - type: optional - required_to_create: - default: false - docs: >- - Whether the attribute is required to be filled in when teammates - are creating the ticket in Inbox. - type: optional - required_to_create_for_contacts: - default: false - docs: >- - Whether the attribute is required to be filled in when contacts - are creating the ticket in Messenger. - type: optional - visible_on_create: - default: true - docs: >- - Whether the attribute is visible to teammates when creating a - ticket in Inbox. - type: optional - visible_to_contacts: - default: true - docs: >- - Whether the attribute is visible to contacts when creating a - ticket in Messenger. - type: optional - content-type: application/json - name: UpdateTicketTypeAttributeRequest - path-parameters: - id: - docs: >- - The unique identifier for the ticket type attribute which is given - by Intercom. - type: string - ticket_type_id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket Type Attribute updated - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/ticketTypes.yml b/fern/.definition/unstable/ticketTypes.yml deleted file mode 100644 index f30518b..0000000 --- a/fern/.definition/unstable/ticketTypes.yml +++ /dev/null @@ -1,174 +0,0 @@ -imports: - unstableRoot: __package__.yml - unstableTickets: tickets.yml -docs: Everything about your ticket types -service: - auth: false - base-path: '' - display-name: Ticket Types - endpoints: - createTicketType: - auth: true - display-name: Create a ticket type - docs: > - 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/) - errors: - - unstableRoot.UnauthorizedError - method: POST - path: /ticket_types - request: - body: unknown - content-type: application/json - response: - docs: Ticket type created - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getTicketType: - auth: true - display-name: Retrieve a ticket type - docs: You can fetch the details of a single ticket type. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Ticket type found - path-parameters: - id: id - response: - body: - archived: false - category: Customer - created_at: 1734537870 - description: Bug Report Template - icon: 🎟️ - id: '72' - name: Bug Report - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8353' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8354' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8355' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8356' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - ticket_type_attributes: - - archived: false - data_type: string - default: true - description: Bug title. - id: '1' - input_options: - key: value - name: Title - order: 1 - required_to_create: false - required_to_create_for_contacts: false - ticket_type_id: 42 - type: ticket_type_attribute - visible_on_create: false - visible_to_contacts: false - workspace_id: ecahpwf5 - type: list - type: ticket_type - updated_at: 1734537870 - workspace_id: this_is_an_id656_that_should_be_at_least_ - method: GET - path: /ticket_types/{id} - request: - name: GetTicketTypeRequest - path-parameters: - id: - docs: >- - The unique identifier for the ticket type which is given by - Intercom. - type: string - response: - docs: Ticket type found - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - listTicketTypes: - auth: true - display-name: List all ticket types - docs: You can get a list of all ticket types for a workspace. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - response: - body: - data: - - archived: false - category: Customer - created_at: 1734537866 - description: Bug Report Template - icon: 🎟️ - id: '67' - name: Bug Report - ticket_states: - data: - - category: submitted - external_label: Submitted - id: '8321' - internal_label: Submitted - type: ticket_state - - category: in_progress - external_label: In progress - id: '8322' - internal_label: In progress - type: ticket_state - - category: waiting_on_customer - external_label: Waiting on you - id: '8323' - internal_label: Waiting on customer - type: ticket_state - - category: resolved - external_label: Resolved - id: '8324' - internal_label: Resolved - type: ticket_state - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537866 - workspace_id: this_is_an_id648_that_should_be_at_least_ - type: list - method: GET - path: /ticket_types - response: - docs: successful - status-code: 200 - type: unstableRoot.TicketTypeList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/tickets.yml b/fern/.definition/unstable/tickets.yml deleted file mode 100644 index 1a00909..0000000 --- a/fern/.definition/unstable/tickets.yml +++ /dev/null @@ -1,1965 +0,0 @@ -imports: - unstableJobs: jobs.yml - unstableRoot: __package__.yml -types: - DeleteTicketResponse: - docs: Response when a ticket is deleted. - properties: - deleted: - docs: Whether the ticket is deleted or not. - type: optional - id: - docs: The unique identifier for the ticket. - type: optional - object: - docs: always ticket - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - ReplyTicketRequestBody: - discriminated: false - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - type: unstableRoot.ContactReplyTicketRequest - - type: unstableRoot.AdminReplyTicketRequest - Ticket: - docs: Tickets are how you track requests from your users. - properties: - admin_assignee_id: - docs: The id representing the admin assigned to the ticket. - type: optional - category: - docs: Category of the Ticket. - type: optional - contacts: - type: optional - created_at: - docs: The time the ticket was created as a UTC Unix timestamp. - type: optional - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: optional - is_shared: - docs: Whether or not the ticket is shared with the customer. - type: optional - linked_objects: - type: optional - open: - docs: Whether or not the ticket is open. If false, the ticket is closed. - type: optional - snoozed_until: - docs: >- - The time the ticket will be snoozed until as a UTC Unix timestamp. If - null, the ticket is not currently snoozed. - type: optional - team_assignee_id: - docs: The id representing the team assigned to the ticket. - type: optional - ticket_attributes: - type: optional - ticket_id: - docs: >- - The ID of the Ticket used in the Intercom Inbox and Messenger. Do not - use ticket_id for API queries. - type: optional - ticket_parts: - type: optional - ticket_state: - type: optional - ticket_type: - type: optional - type: - docs: Always ticket - type: optional> - updated_at: - docs: The last time the ticket was updated as a UTC Unix timestamp. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketCategory: - docs: Category of the Ticket. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketContacts: - docs: The list of contacts affected by a ticket. - properties: - contacts: - docs: The list of contacts affected by this ticket. - type: optional> - type: - docs: always contact.list - type: optional> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPart: - docs: A Ticket Part represents a message in the ticket. - properties: - app_package_code: - docs: >- - The app package code if this part was created via API. Note this field - won't show if the part was not created via API. - type: optional - assigned_to: - docs: >- - The id of the admin that was assigned the ticket by this ticket_part - (null if there has been no change in assignment.) - type: optional - attachments: - docs: A list of attachments for the part. - type: optional> - author: - type: optional - body: - docs: The message body, which may contain HTML. - type: optional - created_at: - docs: The time the ticket part was created. - type: optional - external_id: - docs: The external id of the ticket part - type: optional - id: - docs: The id representing the ticket part. - type: optional - part_type: - docs: The type of ticket part. - type: optional - previous_ticket_state: - docs: The previous state of the ticket. - type: optional - redacted: - docs: Whether or not the ticket part has been redacted. - type: optional - ticket_state: - docs: The state of the ticket. - type: optional - type: - docs: Always ticket_part - type: optional - updated_at: - docs: The last time the ticket part was updated. - type: optional - updated_attribute_data: - docs: >- - The updated attribute data of the ticket part. Only present for - attribute update parts. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartPreviousTicketState: - docs: The previous state of the ticket. - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartTicketState: - docs: The state of the ticket. - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartUpdatedAttributeData: - docs: >- - The updated attribute data of the ticket part. Only present for attribute - update parts. - inline: true - properties: - attribute: - docs: Information about the attribute that was updated. - type: TicketPartUpdatedAttributeDataAttribute - value: - docs: The new value of the attribute. - type: TicketPartUpdatedAttributeDataValue - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartUpdatedAttributeDataAttribute: - docs: Information about the attribute that was updated. - inline: true - properties: - id: - docs: The unique identifier of the attribute. - type: string - label: - docs: The human-readable name of the attribute. - type: string - type: - docs: The type of the object. Always 'attribute'. - type: literal<"attribute"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartUpdatedAttributeDataValue: - docs: The new value of the attribute. - inline: true - properties: - id: TicketPartUpdatedAttributeDataValueId - label: TicketPartUpdatedAttributeDataValueLabel - type: - docs: The type of the object. Always 'value'. - type: literal<"value"> - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketPartUpdatedAttributeDataValueId: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - docs: >- - The value for text/number/decimal/boolean/date attributes, or the ID - of the list option for list attributes. - type: optional - - docs: Array of file IDs for file attributes. - type: list - TicketPartUpdatedAttributeDataValueLabel: - discriminated: false - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - union: - - docs: >- - The display value for text/number/decimal/boolean/date/list - attributes. - type: string - - docs: Array of file names for file attributes. - type: list - TicketState: - docs: A ticket state, used to define the state of a ticket. - properties: - category: - docs: The category of the ticket state - type: optional - external_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible to customers, in the messenger, email and tickets portal. - type: optional - id: - docs: The id of the ticket state - type: optional - internal_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible in Intercom - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_state`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketStateCategory: - docs: The category of the ticket state - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketStateDetailed: - docs: A ticket state, used to define the state of a ticket. - properties: - archived: - docs: Whether the ticket state is archived - type: optional - category: - docs: The category of the ticket state - type: optional - external_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible to customers, in the messenger, email and tickets portal. - type: optional - id: - docs: The id of the ticket state - type: optional - internal_label: - docs: >- - The state the ticket is currently in, in a human readable form - - visible in Intercom - type: optional - ticket_types: - docs: A list of ticket types associated with a given ticket state. - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_state`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketStateDetailedCategory: - docs: The category of the ticket state - enum: - - submitted - - in_progress - - waiting_on_customer - - resolved - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketStateDetailedTicketTypes: - docs: A list of ticket types associated with a given ticket state. - inline: true - properties: - data: - docs: A list of ticket type attributes associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketType: - docs: A ticket type, used to define the data fields to be captured in a ticket. - properties: - archived: - docs: Whether the ticket type is archived or not. - type: optional - category: - docs: Category of the Ticket Type. - type: optional - created_at: - docs: The date and time the ticket type was created. - type: optional - description: - docs: The description of the ticket type - type: optional - icon: - docs: The icon of the ticket type - type: optional - id: - docs: The id representing the ticket type. - type: optional - name: - docs: The name of the ticket type - type: optional - ticket_states: - docs: A list of ticket states associated with a given ticket type. - type: optional - ticket_type_attributes: - type: optional - type: - docs: >- - String representing the object's type. Always has the value - `ticket_type`. - type: optional - updated_at: - docs: The date and time the ticket type was last updated. - type: optional - workspace_id: - docs: The id of the workspace that the ticket type belongs to. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketTypeCategory: - docs: Category of the Ticket Type. - enum: - - Customer - - name: BackOffice - value: Back-office - - Tracker - inline: true - source: - openapi: ../descriptions/0/api.intercom.io.yaml - TicketTypeTicketStates: - docs: A list of ticket states associated with a given ticket type. - inline: true - properties: - data: - docs: A list of ticket states associated with a given ticket type. - type: optional>> - type: - docs: String representing the object's type. Always has the value `list`. - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml -docs: Everything about your tickets -service: - auth: false - base-path: '' - display-name: Tickets - endpoints: - deleteTicket: - auth: true - display-name: Delete a ticket - docs: You can delete a ticket using the Intercom provided ID. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - path-parameters: - id: id - response: - body: - deleted: true - id: '632' - object: ticket - method: DELETE - path: /tickets/{id} - request: - name: DeleteTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: string - response: - docs: successful - status-code: 200 - type: DeleteTicketResponse - source: - openapi: ../descriptions/0/api.intercom.io.yaml - enqueueCreateTicket: - auth: true - display-name: Enqueue create ticket - docs: >- - Enqueues ticket creation for asynchronous processing, returning if the - job was enqueued successfully to be processed. We attempt to perform a - best-effort validation on inputs before tasks are enqueued. If the given - parameters are incorrect, we won't enqueue the job. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - examples: - - name: Successful response - request: - contacts: - - id: 6762f2d81bb69f9f2193bc54 - ticket_type_id: '1234' - response: - body: - id: '20' - resource_type: ticket - status: pending - type: job - url: https://api.intercom.io/jobs/status/20 - method: POST - path: /tickets/enqueue - request: - body: - extends: - - unstableRoot.CreateTicketRequestBody - properties: - skip_notifications: - docs: Option to disable notifications when a Ticket is created. - type: optional - content-type: application/json - name: EnqueueCreateTicketRequest - response: - docs: Successful response - status-code: 200 - type: unstableJobs.Jobs - source: - openapi: ../descriptions/0/api.intercom.io.yaml - getTicket: - auth: true - display-name: Retrieve a ticket - docs: You can fetch the details of a single ticket. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: Ticket found - path-parameters: - id: id - response: - body: - admin_assignee_id: '0' - category: Back-office - contacts: - contacts: - - external_id: b16afa36-2637-4880-adee-a46d145bc27f - id: 6762f2f61bb69f9f2193bc59 - type: contact - type: contact.list - created_at: 1734537974 - id: '631' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - _default_description_: ticket_attributes - _default_title_: attribute_value - ticket_id: '38' - ticket_parts: - ticket_parts: - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin509@email.com - id: '991268047' - name: Ciaran509 Lee - type: admin - created_at: 1734537975 - id: '185' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537975 - total_count: 1 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '8537' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537973 - description: my ticket type description is awesome. - icon: 🦁 - id: '95' - name: my-ticket-type-30 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537973 - workspace_id: this_is_an_id702_that_should_be_at_least_ - type: ticket - updated_at: 1734537976 - method: GET - path: /tickets/{id} - request: - name: GetTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom. - type: string - response: - docs: Ticket found - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - replyTicket: - auth: true - display-name: Reply to a ticket - docs: >- - You can reply to a ticket with a message from an admin or on behalf of a - contact, or with a note for admins. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: User reply - path-parameters: - id: '123' - request: - body: Thanks again :) - intercom_user_id: 6762f2971bb69f9f2193bc49 - message_type: comment - type: user - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - - name: Admin note reply - path-parameters: - id: '123' - request: - admin_id: '3156780' - body: >- -

An Unordered HTML List

    -
  • Coffee
  • Tea
  • Milk

An - Ordered HTML List

  1. Coffee
  2. Tea
  3. -
  4. Milk
- message_type: note - type: admin - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - - name: Admin quick_reply reply - path-parameters: - id: '123' - request: - admin_id: '3156780' - message_type: quick_reply - reply_options: - - text: 'Yes' - uuid: 0df48b85-9a93-4c66-a167-753eff0baaec - - text: 'No' - uuid: 4f0b5145-4193-4b4f-8cad-ce19478a3938 - type: admin - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin423@email.com - id: '991267948' - name: Ciaran423 Lee - type: admin - body:

Okay!

- created_at: 1734537890 - id: '158' - part_type: quick_reply - redacted: false - type: ticket_part - updated_at: 1734537890 - - name: Not found - path-parameters: - id: '123' - request: - body: Thanks again :) - intercom_user_id: 6762f2a41bb69f9f2193bc4c - message_type: comment - type: user - response: - body: - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin419@email.com - id: '991267943' - name: Ciaran419 Lee - type: admin - body: |- -

An Unordered HTML List

-
    -
  • Coffee
  • -
  • Tea
  • -
  • Milk
  • -
-

An Ordered HTML List

-
    -
  1. Coffee
  2. -
  3. Tea
  4. -
  5. Milk
  6. -
- created_at: 1734537884 - id: '156' - part_type: note - redacted: false - type: ticket_part - updated_at: 1734537884 - method: POST - path: /tickets/{id}/reply - request: - body: ReplyTicketRequestBody - content-type: application/json - name: ReplyTicketRequest - path-parameters: - id: string - response: - docs: Admin Reply to send Quick Reply Options - status-code: 200 - type: unstableRoot.TicketReply - source: - openapi: ../descriptions/0/api.intercom.io.yaml - searchTickets: - auth: true - display-name: Search tickets - docs: > - You can search for multiple tickets by the value of their attributes in - order to fetch exactly which ones you want. - - - To search for tickets, you send a `POST` request to - `https://api.intercom.io/tickets/search`. - - - This will accept a query object in the body which will define your - filters. - - {% 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. - 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 multiples 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 Ticket 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 `"foobar"`). - - 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) - | - - | _default_title_ | - String - | - - | _default_description_ | - String - | - - | category | - String - | - - | ticket_type_id | - String - | - - | contact_ids | - String - | - - | teammate_ids | - String - | - - | admin_assignee_id | - String - | - - | team_assignee_id | - String - | - - | open | - Boolean - | - - | state | - String - | - - | snoozed_until | Date (UNIX - timestamp) - | - - | ticket_attribute.{id} | String or Boolean or Date - (UNIX timestamp) or Float or Integer | - - - {% admonition type="info" name="Searching by Category" %} - - When searching for tickets by the **`category`** field, specific terms - must be used instead of the category names: - - * For **Customer** category tickets, use the term `request`. - - * For **Back-office** category tickets, use the term `task`. - - * For **Tracker** category tickets, use the term `tracker`. - - {% /admonition %} - - - ### Accepted Operators - - - {% admonition type="info" name="Searching based on `created_at`" %} - You may use the `<=` or `>=` operators to search by `created_at`. - {% /admonition %} - - - The table below shows the operators you can use to define how you want - to search for the value. The operator should be put in as a string - (`"="`). The operator has to be compatible with the field's type (eg. - you cannot search with `>` for a given string value as it's only - compatible for integer's and dates). - - - | Operator | Valid Types | - Description | - - | :------- | :----------------------------- | - :----------------------------------------------------------- | - - | = | All | - Equals | - - | != | All | Doesn't - Equal | - - | IN | All | In Shortcut for `OR` - queries Values most be in Array | - - | NIN | All | Not In Shortcut for `OR - !` queries Values must be in Array | - - | > | Integer Date (UNIX Timestamp) | Greater (or equal) - than | - - | < | Integer Date (UNIX Timestamp) | Lower (or equal) - than | - - | ~ | String | - Contains | - - | !~ | String | Doesn't - Contain | - - | ^ | String | Starts - With | - - | $ | String | Ends - With | - examples: - - name: successful - request: - pagination: - per_page: 5 - query: - operator: AND - value: - - field: created_at - operator: '>' - value: '1306054154' - response: - body: - pages: - next: - per_page: 2 - starting_after: your-cursor-from-response - page: 1 - per_page: 5 - total_pages: 1 - type: pages - tickets: - - admin_assignee_id: '0' - category: Back-office - contacts: - contacts: - - external_id: 9b913927-c084-4391-b1db-098341b5ffe3 - id: 6762f3061bb69f9f2193bc5b - type: contact - type: contact.list - created_at: 1734537990 - id: '633' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1663597260 - team_assignee_id: '0' - ticket_attributes: - _default_title_: attribute_value - ticket_id: '40' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin539@email.com - id: '991268079' - name: Ciaran539 Lee - type: admin - created_at: 1734537991 - id: '188' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537991 - total_count: 1 - type: ticket_part.list - ticket_state: - category: submitted - external_label: Submitted - id: '8577' - internal_label: Submitted - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537989 - description: my ticket type description is awesome. - icon: 🦁 - id: '100' - name: my-ticket-type-35 - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537989 - workspace_id: this_is_an_id712_that_should_be_at_least_ - type: ticket - updated_at: 1734537992 - total_count: 1 - type: ticket.list - method: POST - path: /tickets/search - request: - body: - type: unstableRoot.SearchRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: unstableRoot.TicketList - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateTicket: - auth: true - display-name: Update a ticket - docs: You can update a ticket. - errors: - - unstableRoot.BadRequestError - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: Successful response - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - open: true - snoozed_until: 1673609604 - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: Admin not found - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: Assignee not found - path-parameters: - id: id - request: - admin_id: 991268011 - assignee_id: '123' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - - name: >- - Ticket state id is not valid or is not associated with the ticket - type. - path-parameters: - id: id - request: - ticket_state_id: '123' - response: - body: - admin_assignee_id: '991268013' - category: Back-office - contacts: - contacts: - - external_id: 8df1fa21-b41d-4621-9229-d6f7a3a590ce - id: 6762f2dd1bb69f9f2193bc55 - type: contact - type: contact.list - created_at: 1734537950 - id: '627' - is_shared: false - linked_objects: - data: - - id: '7583' - has_more: false - total_count: 0 - type: list - open: true - snoozed_until: 1734627600 - team_assignee_id: '0' - ticket_attributes: - _default_description_: there is a problem - _default_title_: example - ticket_id: '34' - ticket_parts: - ticket_parts: - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537951 - id: '176' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: submitted - type: ticket_part - updated_at: 1734537951 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '177' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '10' - label: Photo - type: attribute - value: - id: - - 2 - label: - - photo.png - type: value - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537953 - id: '178' - part_type: ticket_attribute_updated_by_admin - redacted: false - type: ticket_part - updated_at: 1734537953 - updated_attribute_data: - attribute: - id: '7' - label: Progress - type: attribute - value: - id: Fast - label: Fast - type: value - - app_package_code: test-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537954 - id: '179' - part_type: ticket_state_updated_by_admin - previous_ticket_state: submitted - redacted: false - ticket_state: in_progress - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - assigned_to: - id: '991268013' - type: admin - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: admin477@email.com - id: '991268011' - name: Ciaran477 Lee - type: admin - created_at: 1734537954 - id: '180' - part_type: assignment - redacted: false - type: ticket_part - updated_at: 1734537954 - - app_package_code: text-integration - attachments: - - content_type: image/png - filesize: 100 - height: 100 - name: example.png - type: upload - url: https://picsum.photos/200/300 - width: 100 - author: - email: >- - operator+this_is_an_id692_that_should_be_at_least_@intercom.io - id: '991268012' - name: Fin - type: bot - created_at: 1734537955 - id: '181' - part_type: snoozed - redacted: false - type: ticket_part - updated_at: 1734537955 - total_count: 6 - type: ticket_part.list - ticket_state: - category: in_progress - external_label: In progress - id: '8498' - internal_label: In progress - type: ticket_state - ticket_type: - archived: false - category: Back-office - created_at: 1734537948 - description: my ticket type description is awesome. - icon: 🦁 - id: '90' - name: my-ticket-type-25 - ticket_states: - type: list - ticket_type_attributes: - type: list - type: ticket_type - updated_at: 1734537948 - workspace_id: this_is_an_id692_that_should_be_at_least_ - type: ticket - updated_at: 1734537955 - method: PUT - path: /tickets/{id} - request: - body: - properties: - admin_id: - docs: >- - The ID of the admin performing ticket update. Needed for - workflows execution and attributing actions to specific admins. - type: optional - assignee_id: - docs: >- - The ID of the admin or team to which the ticket is assigned. Set - this 0 to unassign it. - type: optional - company_id: - docs: >- - The ID of the company that the ticket is associated with. The - unique identifier for the company which is given by Intercom. - Set to nil to remove company. - type: optional - is_shared: - docs: Specify whether the ticket is visible to users. - type: optional - open: - docs: >- - Specify if a ticket is open. Set to false to close a ticket. - Closing a ticket will also unsnooze it. - type: optional - snoozed_until: - docs: The time you want the ticket to reopen. - type: optional - ticket_attributes: - docs: The attributes set on the ticket. - type: optional> - ticket_state_id: - docs: The ID of the ticket state associated with the ticket type. - type: optional - content-type: application/json - name: UpdateTicketRequest - path-parameters: - id: - docs: The unique identifier for the ticket which is given by Intercom - type: string - response: - docs: Successful response - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/unstable/visitors.yml b/fern/.definition/unstable/visitors.yml deleted file mode 100644 index 64403d6..0000000 --- a/fern/.definition/unstable/visitors.yml +++ /dev/null @@ -1,365 +0,0 @@ -imports: - root: ../__package__.yml - unstableContacts: contacts.yml - unstableRoot: __package__.yml -docs: Everything about your Visitors -service: - auth: false - base-path: '' - display-name: Visitors - endpoints: - convertVisitor: - auth: true - display-name: Convert a visitor - docs: > - You can merge a Visitor to a Contact of role type `lead` or `user`. - - - > 📘 What happens upon a visitor being converted? - - > - - > If the User exists, then the Visitor will be merged into it, the - Visitor deleted and the User returned. If the User does not exist, the - Visitor will be converted to a User, with the User identifiers replacing - it's Visitor identifiers. - errors: - - unstableRoot.UnauthorizedError - examples: - - name: successful - request: - type: user - user: - email: foo@bar.com - visitor: - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/companies - created_at: 1734538004 - custom_attributes: - key: value - email: foo@bar.com - email_domain: example.com - has_hard_bounced: false - id: 6762f3141bb69f9f2193bc6b - location: - type: location - marked_email_as_spam: false - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/notes - role: user - signed_up_at: 1734538004 - social_profiles: - data: - - name: Facebook - type: social_profile - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734538005 - workspace_id: this_is_an_id728_that_should_be_at_least_ - method: POST - path: /visitors/convert - request: - body: - properties: - type: - docs: >- - Represents the role of the Contact model. Accepts `lead` or - `user`. - type: string - user: unknown - visitor: unknown - content-type: application/json - name: ConvertVisitorRequest - response: - docs: successful - status-code: 200 - type: unstableContacts.Contact - source: - openapi: ../descriptions/0/api.intercom.io.yaml - retrieveVisitorWithUserId: - auth: true - display-name: Retrieve a visitor with User ID - docs: You can fetch the details of a single visitor. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - query-parameters: - user_id: user_id - response: - body: - anonymous: true - app_id: this_is_an_id722_that_should_be_at_least_ - avatar: - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: custom_attributes - paid_subscriber: custom_attributes - team_mates: custom_attributes - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734538000 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f3101bb69f9f2193bc64 - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - remote_created_at: 1734538000 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734538000 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734538000 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - method: GET - path: /visitors - request: - name: RetrieveVisitorWithUserIdRequest - query-parameters: - user_id: - docs: The user_id of the Visitor you want to retrieve. - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - updateVisitor: - auth: true - display-name: Update a visitor - docs: > - Sending a PUT request to `/visitors` will result in an update of an - existing Visitor. - - - **Option 1.** You can update a visitor by passing in the `user_id` of - the visitor in the Request body. - - - **Option 2.** You can update a visitor by passing in the `id` of the - visitor in the Request body. - errors: - - unstableRoot.UnauthorizedError - - unstableRoot.NotFoundError - examples: - - name: successful - request: - id: 6762f30c1bb69f9f2193bc5e - name: Gareth Bale - response: - body: - anonymous: true - app_id: this_is_an_id716_that_should_be_at_least_ - avatar: - image_url: >- - https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: custom_attributes - paid_subscriber: custom_attributes - team_mates: custom_attributes - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734537996 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f30c1bb69f9f2193bc5e - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - name: Gareth Bale - pseudonym: Violet Suitcase - remote_created_at: 1734537996 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734537996 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734537997 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - - name: visitor Not Found - request: - name: Christian Fail - user_id: fail - response: - body: - anonymous: true - app_id: this_is_an_id716_that_should_be_at_least_ - avatar: - image_url: >- - https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: custom_attributes - paid_subscriber: custom_attributes - team_mates: custom_attributes - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734537996 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f30c1bb69f9f2193bc5e - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - name: Gareth Bale - pseudonym: Violet Suitcase - remote_created_at: 1734537996 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734537996 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734537997 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - method: PUT - path: /visitors - request: - body: root.UpdateVisitorRequestOne - content-type: application/json - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/0/api.intercom.io.yaml - source: - openapi: ../descriptions/0/api.intercom.io.yaml diff --git a/fern/.definition/visitors.yml b/fern/.definition/visitors.yml deleted file mode 100644 index f0f6bcc..0000000 --- a/fern/.definition/visitors.yml +++ /dev/null @@ -1,435 +0,0 @@ -imports: - contacts: contacts.yml - root: __package__.yml -types: - ConvertVisitorRequestUser: - discriminated: false - docs: The unique identifiers retained after converting or merging. - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - UserWithId - - UserWithUserId - ConvertVisitorRequestVisitor: - discriminated: false - docs: The unique identifiers to convert a single Visitor. - inline: true - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - union: - - VisitorWithId - - VisitorWithUserId - - VisitorWithEmail - UserWithId: - inline: true - properties: - email: - docs: The contact's email, retained by default if one is present. - type: optional - id: - docs: The unique identifier for the contact which is given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - UserWithUserId: - inline: true - properties: - email: - docs: The contact's email, retained by default if one is present. - type: optional - user_id: - docs: A unique identifier for the contact which is given to Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorWithEmail: - inline: true - properties: - email: - docs: The visitor's email. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorWithId: - inline: true - properties: - id: - docs: The unique identifier for the contact which is given by Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - VisitorWithUserId: - inline: true - properties: - user_id: - docs: A unique identifier for the contact which is given to Intercom. - type: string - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml -docs: Everything about your Visitors -service: - auth: false - base-path: '' - display-name: Visitors - endpoints: - find: - auth: true - display-name: Retrieve a visitor with User ID - docs: You can fetch the details of a single visitor. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - query-parameters: - user_id: user_id - response: - body: - anonymous: true - app_id: this_is_an_id722_that_should_be_at_least_ - avatar: - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: 155.5 - paid_subscriber: true - team_mates: 9 - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734538000 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f3101bb69f9f2193bc64 - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - remote_created_at: 1734538000 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734538000 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734538000 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - method: GET - path: /visitors - request: - name: FindVisitorRequest - query-parameters: - user_id: - docs: The user_id of the Visitor you want to retrieve. - type: string - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - mergeToContact: - auth: true - display-name: Convert a visitor - docs: > - You can merge a Visitor to a Contact of role type `lead` or `user`. - - - > 📘 What happens upon a visitor being converted? - - > - - > If the User exists, then the Visitor will be merged into it, the - Visitor deleted and the User returned. If the User does not exist, the - Visitor will be converted to a User, with the User identifiers replacing - it's Visitor identifiers. - errors: - - root.UnauthorizedError - examples: - - name: successful - request: - type: user - user: - email: foo@bar.com - id: 8a88a590-e1c3-41e2-a502-e0649dbf721c - visitor: - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - response: - body: - companies: - data: - - id: 5ba682d23d7cf92bef87bfd4 - url: /companies/5ba682d23d7cf92bef87bfd4 - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/companies - created_at: 1734538004 - custom_attributes: - key: value - email: foo@bar.com - email_domain: example.com - has_hard_bounced: false - id: 6762f3141bb69f9f2193bc6b - location: - type: location - marked_email_as_spam: false - notes: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/notes - role: user - signed_up_at: 1734538004 - social_profiles: - data: - - name: Facebook - url: http://twitter.com/th1sland - tags: - data: - - id: '123' - type: note - url: /contacts/5ba682d23d7cf92bef87bfd4/notes - has_more: false - total_count: 0 - url: /contacts/6762f3141bb69f9f2193bc6b/tags - type: contact - unsubscribed_from_emails: false - updated_at: 1734538005 - workspace_id: this_is_an_id728_that_should_be_at_least_ - method: POST - path: /visitors/convert - request: - body: - properties: - type: - docs: >- - Represents the role of the Contact model. Accepts `lead` or - `user`. - type: string - user: - docs: The unique identifiers retained after converting or merging. - type: ConvertVisitorRequestUser - visitor: - docs: The unique identifiers to convert a single Visitor. - type: ConvertVisitorRequestVisitor - content-type: application/json - name: MergeVisitorToContactRequest - response: - docs: successful - status-code: 200 - type: contacts.Contact - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - update: - auth: true - display-name: Update a visitor - docs: > - Sending a PUT request to `/visitors` will result in an update of an - existing Visitor. - - - **Option 1.** You can update a visitor by passing in the `user_id` of - the visitor in the Request body. - - - **Option 2.** You can update a visitor by passing in the `id` of the - visitor in the Request body. - errors: - - root.UnauthorizedError - - root.NotFoundError - examples: - - name: successful - request: - id: 6762f30c1bb69f9f2193bc5e - name: Gareth Bale - response: - body: - anonymous: true - app_id: this_is_an_id716_that_should_be_at_least_ - avatar: - image_url: >- - https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: 155.5 - paid_subscriber: true - team_mates: 9 - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734537996 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f30c1bb69f9f2193bc5e - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - name: Gareth Bale - pseudonym: Violet Suitcase - remote_created_at: 1734537996 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734537996 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734537997 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - - name: visitor Not Found - request: - name: Christian Fail - user_id: fail - response: - body: - anonymous: true - app_id: this_is_an_id716_that_should_be_at_least_ - avatar: - image_url: >- - https://static.intercomassets.com/app/pseudonym_avatars_2019/violet-suitcase.png - type: avatar - companies: - companies: - - app_id: ecahpwf5 - company_id: '6' - created_at: 1663597223 - custom_attributes: - monthly_spend: 155.5 - paid_subscriber: true - team_mates: 9 - id: 531ee472cce572a6ec000006 - industry: Software - last_request_at: 1663597223 - monthly_spend: 100 - name: Blue Sun - remote_created_at: 1663597223 - session_count: 100 - size: 100 - updated_at: 1663597223 - user_count: 100 - website: https://www.intercom.com - type: company.list - created_at: 1734537996 - custom_attributes: - key: value - email: '' - has_hard_bounced: false - id: 6762f30c1bb69f9f2193bc5e - las_request_at: 1663597260 - location_data: - city_name: Dublin - continent_code: EU - country_code: IRL - country_name: Ireland - postal_code: D02 N960 - region_name: Leinster - timezone: Europe/Dublin - type: location_data - marked_email_as_spam: false - name: Gareth Bale - pseudonym: Violet Suitcase - remote_created_at: 1734537996 - segments: - segments: - - segments - type: segment.list - session_count: 0 - signed_up_at: 1734537996 - social_profiles: - social_profiles: - - social_profiles - type: social_profile.list - tags: - tags: - - id: '8482' - name: tag_name - type: tag.list - type: visitor - unsubscribed_from_emails: false - updated_at: 1734537997 - user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 - method: PUT - path: /visitors - request: - body: - type: root.UpdateVisitorRequest - content-type: application/json - response: - docs: successful - status-code: 200 - type: optional - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml - source: - openapi: ../descriptions/2.14/api.intercom.io.yaml From 6a6b0c8be7cb93c821c55ffb64d479df8eb154a6 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 11:44:48 -0400 Subject: [PATCH 09/20] update overrides --- fern/openapi-overrides.yml | 120 +++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 1fd7a5b..7c3fd53 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -38,6 +38,21 @@ paths: - articles x-fern-sdk-method-name: list x-fern-request-name: ListArticlesRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer post: x-fern-sdk-group-name: - articles @@ -75,6 +90,21 @@ paths: - collections x-fern-sdk-method-name: list x-fern-request-name: ListCollectionsRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer post: x-fern-sdk-group-name: - helpCenters @@ -109,6 +139,21 @@ paths: - helpCenters x-fern-sdk-method-name: list x-fern-request-name: ListHelpCentersRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer /help_center/help_centers/{id}: get: x-fern-sdk-group-name: @@ -192,6 +237,21 @@ paths: - contacts x-fern-sdk-method-name: list x-fern-request-name: ListContactsRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer post: x-fern-sdk-group-name: - contacts @@ -222,6 +282,21 @@ paths: - contacts x-fern-sdk-method-name: listAttachedCompanies x-fern-request-name: ListAttachedCompaniesRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer post: x-fern-sdk-group-name: - companies @@ -249,6 +324,21 @@ paths: - notes x-fern-sdk-method-name: list x-fern-request-name: ListContactNotesRequest + parameters: + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer post: x-fern-sdk-group-name: - notes @@ -442,6 +532,36 @@ paths: - conversations x-fern-sdk-method-name: redactConversationPart x-fern-request-name: RedactConversationPartRequest + /custom_channel_events/notify_attribute_collected: + post: + x-fern-sdk-group-name: + - customChannelEvents + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' + /custom_channel_events/notify_new_conversation: + post: + x-fern-sdk-group-name: + - customChannelEvents + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' + /custom_channel_events/notify_new_message: + post: + x-fern-sdk-group-name: + - customChannelEvents + parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' /data_attributes: get: x-fern-sdk-group-name: From 8f1790c4350280876c3746c93e4a2d314faee937 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 11:45:01 -0400 Subject: [PATCH 10/20] revert openapi spec --- descriptions/2.14/api.intercom.io.yaml | 114 ------------------------- 1 file changed, 114 deletions(-) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index f7775fa..4a41474 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -974,20 +974,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer tags: - Articles operationId: listArticles @@ -1796,20 +1782,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer tags: - Help Center operationId: listAllCollections @@ -2231,20 +2203,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer tags: - Help Center operationId: listHelpCenters @@ -3528,20 +3486,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer tags: - Contacts - Companies @@ -3719,20 +3663,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer tags: - Notes - Contacts @@ -5263,26 +5193,6 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer - - name: starting_after - in: query - required: false - description: String used to get the next page of conversations. - schema: - type: string tags: - Contacts operationId: ListContacts @@ -8289,12 +8199,6 @@ paths: description: | Notifies Intercom that a new conversation was created in your custom channel/platform. This triggers conversation creation and workflow automations within Intercom for your custom channel integration. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. - parameters: - - name: Intercom-Version - in: header - required: true - schema: - $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8332,12 +8236,6 @@ paths: description: | Notifies Intercom that a new message was sent in a conversation on your custom channel/platform. This allows Intercom to process the message and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. - parameters: - - name: Intercom-Version - in: header - required: true - schema: - $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8384,12 +8282,6 @@ paths: description: | Notifies Intercom that a user selected a quick reply option in your custom channel/platform. This allows Intercom to process the response and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. - parameters: - - name: Intercom-Version - in: header - required: true - schema: - $ref: '#/components/schemas/intercom_version' requestBody: required: true content: @@ -8436,12 +8328,6 @@ paths: description: | Notifies Intercom that a user provided a response to an attribute collector in your custom channel/platform. This allows Intercom to process the attribute and trigger any relevant workflow automations. > **Note:** This endpoint is currently under managed availability. Please reach out to your accounts team to discuss access and tailored, hands-on support. - parameters: - - name: Intercom-Version - in: header - required: true - schema: - $ref: '#/components/schemas/intercom_version' requestBody: required: true content: From 5fd1cdadc2db497cdb50dfccdc6c9a68f95af3d2 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 11:53:42 -0400 Subject: [PATCH 11/20] fern check passes --- fern/openapi-overrides.yml | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 7c3fd53..010ad42 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -39,6 +39,11 @@ paths: x-fern-sdk-method-name: list x-fern-request-name: ListArticlesRequest parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' - name: page in: query required: false @@ -91,6 +96,11 @@ paths: x-fern-sdk-method-name: list x-fern-request-name: ListCollectionsRequest parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' - name: page in: query required: false @@ -140,6 +150,11 @@ paths: x-fern-sdk-method-name: list x-fern-request-name: ListHelpCentersRequest parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' - name: page in: query required: false @@ -238,6 +253,11 @@ paths: x-fern-sdk-method-name: list x-fern-request-name: ListContactsRequest parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' - name: page in: query required: false @@ -252,6 +272,12 @@ paths: example: 15 schema: type: integer + - name: starting_after + in: query + required: false + description: String used to get the next page of conversations. + schema: + type: string post: x-fern-sdk-group-name: - contacts @@ -283,6 +309,17 @@ paths: x-fern-sdk-method-name: listAttachedCompanies x-fern-request-name: ListAttachedCompaniesRequest parameters: + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' + - name: id + in: path + required: true + description: The unique identifier for the contact which is given by Intercom + schema: + type: string - name: page in: query required: false @@ -325,6 +362,17 @@ paths: x-fern-sdk-method-name: list x-fern-request-name: ListContactNotesRequest parameters: + - name: id + in: path + required: true + description: The unique identifier of a contact. + schema: + type: integer + - name: Intercom-Version + in: header + required: true + schema: + $ref: '#/components/schemas/intercom_version' - name: page in: query required: false From 3bb8a0d54fa7d13be0aa68837ec6894825ba119c Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 12:56:33 -0400 Subject: [PATCH 12/20] update fern version --- fern/fern.config.json | 2 +- fern/openapi-overrides.yml | 6 ++++++ fern/unstable-openapi-overrides.yml | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/fern/fern.config.json b/fern/fern.config.json index e670cd9..15b79fd 100644 --- a/fern/fern.config.json +++ b/fern/fern.config.json @@ -1,4 +1,4 @@ { "organization": "intercom", - "version": "0.63.25" + "version": "0.70.1" } \ No newline at end of file diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 010ad42..ca28e14 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -584,6 +584,8 @@ paths: post: x-fern-sdk-group-name: - customChannelEvents + x-fern-sdk-method-name: notifyAttributeCollected + x-fern-request-name: NotifyAttributeCollectedRequest parameters: - name: Intercom-Version in: header @@ -594,6 +596,8 @@ paths: post: x-fern-sdk-group-name: - customChannelEvents + x-fern-sdk-method-name: notifyNewConversation + x-fern-request-name: NotifyNewConversationRequest parameters: - name: Intercom-Version in: header @@ -604,6 +608,8 @@ paths: post: x-fern-sdk-group-name: - customChannelEvents + x-fern-sdk-method-name: notifyNewMessage + x-fern-request-name: NotifyNewMessageRequest parameters: - name: Intercom-Version in: header diff --git a/fern/unstable-openapi-overrides.yml b/fern/unstable-openapi-overrides.yml index 65dd8b0..6192450 100644 --- a/fern/unstable-openapi-overrides.yml +++ b/fern/unstable-openapi-overrides.yml @@ -91,24 +91,48 @@ paths: - customChannelEvents x-fern-sdk-method-name: notifyAttributeCollected x-fern-request-name: NotifyAttributeCollectedRequest + parameters: + - name: Intercom-Version + in: header + required: null + schema: + $ref: '#/components/schemas/intercom_version_unstable' '/custom_channel_events/notify_new_message': post: x-fern-sdk-group-name: - customChannelEvents x-fern-sdk-method-name: notifyNewMessage x-fern-request-name: NotifyNewMessageRequest + parameters: + - name: Intercom-Version + in: header + required: null + schema: + $ref: '#/components/schemas/intercom_version_unstable' '/custom_channel_events/notify_new_conversation': post: x-fern-sdk-group-name: - customChannelEvents x-fern-sdk-method-name: notifyNewConversation x-fern-request-name: NotifyNewConversationRequest + parameters: + - name: Intercom-Version + in: header + required: null + schema: + $ref: '#/components/schemas/intercom_version_unstable' '/custom_channel_events/notify_quick_reply_selected': post: x-fern-sdk-group-name: - customChannelEvents x-fern-sdk-method-name: notifyQuickReplySelected x-fern-request-name: NotifyQuickReplySelectedRequest + parameters: + - name: Intercom-Version + in: header + required: null + schema: + $ref: '#/components/schemas/intercom_version_unstable' components: schemas: From 811129879d3b50c7b7b8b43a7d245ae4eabd01a3 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 4 Sep 2025 15:44:28 -0400 Subject: [PATCH 13/20] fixes --- fern/openapi-overrides.yml | 239 ++++++++++++++++++++++++++++++++++++- 1 file changed, 236 insertions(+), 3 deletions(-) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index ca28e14..89005e4 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -299,7 +299,8 @@ paths: - contacts x-fern-sdk-method-name: delete x-fern-request-name: DeleteContactRequest - /contacts/{id}/companies: + /contacts/{id}/companies: null + /contacts/{contact_id}/companies: get: x-fern-pagination: offset: $request.page @@ -314,7 +315,7 @@ paths: required: true schema: $ref: '#/components/schemas/intercom_version' - - name: id + - name: contact_id in: path required: true description: The unique identifier for the contact which is given by Intercom @@ -334,18 +335,199 @@ paths: example: 15 schema: type: integer + summary: List attached companies for contact + tags: + - Contacts + - Companies + operationId: listCompaniesForAContact + description: You can fetch a list of companies that are associated to a contact. + responses: + '200': + description: successful + content: + application/json: + examples: + successful: + value: + type: list + data: + - type: company + company_id: '1' + id: 6762f0a61bb69f9f2193bb55 + app_id: this_is_an_id213_that_should_be_at_least_ + name: company12 + remote_created_at: 1734537382 + created_at: 1734537382 + updated_at: 1734537382 + last_request_at: 1734364582 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + pages: + type: pages + next: + page: 1 + per_page: 50 + total_pages: 1 + total_count: 1 + schema: + "$ref": "#/components/schemas/contact_attached_companies" + '404': + description: Contact not found + content: + application/json: + examples: + Contact not found: + value: + type: error.list + request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 + errors: + - code: not_found + message: User Not Found + schema: + "$ref": "#/components/schemas/error" + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f + errors: + - code: unauthorized + message: Access Token Invalid + schema: + "$ref": "#/components/schemas/error" post: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: attachContact x-fern-request-name: AttachContactToCompanyRequest + + summary: Attach a Contact to a Company + parameters: + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" + - name: contact_id + in: path + required: true + description: The unique identifier for the contact which is given by Intercom + schema: + type: string + tags: + - Companies + - Contacts + operationId: attachContactToACompany + description: You can attach a company to a single contact. + responses: + '200': + description: Successful + content: + application/json: + examples: + Successful: + value: + type: company + company_id: '1' + id: 6762f09a1bb69f9f2193bb34 + app_id: this_is_an_id197_that_should_be_at_least_ + name: company6 + remote_created_at: 1734537370 + created_at: 1734537370 + updated_at: 1734537370 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + schema: + "$ref": "#/components/schemas/company" + '400': + description: Bad Request + content: + application/json: + examples: + Bad Request: + value: + type: error.list + request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a + errors: + - code: parameter_not_found + message: company not specified + schema: + "$ref": "#/components/schemas/error" + '404': + description: Company Not Found + content: + application/json: + examples: + Company Not Found: + value: + type: error.list + request_id: 981799ea-f19b-432d-828c-491a3b29ad29 + errors: + - code: company_not_found + message: Company Not Found + schema: + "$ref": "#/components/schemas/error" + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a + errors: + - code: unauthorized + message: Access Token Invalid + schema: + "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: + type: object + required: + - id properties: id: + type: string + description: The unique identifier for the company which is given + by Intercom + example: 58a430d35458202d41b1e65b x-fern-property-name: company_id + examples: + successful: + summary: Successful + value: + id: 6762f09a1bb69f9f2193bb34 + bad_request: + summary: Bad Request + value: + company_not_found: + summary: Company Not Found + value: + id: '123' /contacts/{contact_id}/companies/{id}: delete: x-fern-sdk-group-name: @@ -710,13 +892,62 @@ paths: x-fern-sdk-group-name: - dataExport x-fern-sdk-method-name: cancel - x-fern-request-name: CancelDataExportRequest + /export/reporting_data/{job_identifier}: + get: + x-fern-sdk-group-name: + - dataExport + x-fern-sdk-method-name: exportReportingData + x-fern-request-name: ExportReportingDataRequest + parameters: + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" + - name: app_id + in: query + description: The Intercom defined code of the workspace the company is associated + to. + required: true + schema: + type: string + - name: client_id + in: query + required: true + schema: + type: string + - name: job_identifier + description: Unique identifier of the job. + in: path + required: true + schema: + type: string /download/content/data/{job_identifier}: get: x-fern-sdk-group-name: - dataExport x-fern-sdk-method-name: download x-fern-request-name: DownloadDataExportRequest + /download/reporting_data/{job_identifier}: + get: + x-fern-sdk-group-name: + - dataExport + x-fern-sdk-method-name: downloadReportingDataExport + x-fern-request-name: DownloadReportingDataExportRequest + parameters: + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" + - name: app_id + in: query + required: true + schema: + type: string + - name: job_identifier + in: path + required: true + schema: + type: string /messages: post: requestBody: @@ -1512,6 +1743,7 @@ components: x-fern-type-name: UpdateDataAttributeRequestBody update_ticket_type_request: x-fern-type-name: UpdateTicketTypeRequestBody + nullable: false update_visitor_request: properties: null anyOf: @@ -1637,6 +1869,7 @@ components: - files update_article_request: x-fern-type-name: UpdateArticleRequestBody + nullable: false properties: parent_type: enum: From 125125b49d4e6727384fd4377526a64960889241 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 11:36:49 -0400 Subject: [PATCH 14/20] port changes from clean branch back --- descriptions/2.14/api.intercom.io.yaml | 92 ++++---- fern/openapi-overrides.yml | 298 +++++-------------------- 2 files changed, 108 insertions(+), 282 deletions(-) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index 77de4d3..4df447b 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -507,9 +507,9 @@ paths: value: sync_behavior: api url: https://www.example.com - "/ai/content_import_sources/{id}": + "/ai/content_import_sources/{source_id}": parameters: - - name: id + - name: source_id in: path description: The unique identifier for the content import source which is given by Intercom. @@ -794,9 +794,9 @@ paths: source_id: 44 title: Test url: https://www.example.com - "/ai/external_pages/{id}": + "/ai/external_pages/{page_id}": parameters: - - name: id + - name: page_id in: path description: The unique identifier for the external page which is given by Intercom. required: true @@ -1226,7 +1226,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: article_id in: path required: true description: The unique identifier for the article which is given by Intercom. @@ -1324,7 +1324,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: article_id in: path required: true description: The unique identifier for the article which is given by Intercom. @@ -1993,7 +1993,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: collection_id in: path required: true description: The unique identifier for the collection which is given by Intercom. @@ -2075,7 +2075,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: collection_id in: path required: true description: The unique identifier for the collection which is given by Intercom. @@ -2359,7 +2359,7 @@ paths: value: title: Thanks for everything body: Body of the Internal Article - "/internal_articles/{id}": + "/internal_articles/{internal_article_id}": get: summary: Retrieve an internal article parameters: @@ -2367,7 +2367,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: internal_article_id in: path required: true description: The unique identifier for the article which is given by Intercom. @@ -2429,7 +2429,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: internal_article_id in: path required: true description: The unique identifier for the internal article which is given by Intercom. @@ -2507,7 +2507,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: internal_article_id in: path required: true description: The unique identifier for the internal article which is given by Intercom. @@ -2924,7 +2924,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: company_id in: path required: true description: The unique identifier for the company which is given by Intercom @@ -3004,7 +3004,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: company_id in: path required: true description: The unique identifier for the company which is given by Intercom @@ -3475,7 +3475,7 @@ paths: get: summary: List attached companies for contact parameters: - - name: id + - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 @@ -3750,7 +3750,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path required: true description: The unique identifier of a given contact. @@ -4718,9 +4718,9 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path - description: id + description: contact_id example: 63a07ddf05a32042dffac965 required: true schema: @@ -4853,9 +4853,9 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path - description: id + description: contact_id required: true schema: type: string @@ -5518,9 +5518,9 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path - description: id + description: contact_id example: 63a07ddf05a32042dffac965 required: true schema: @@ -5544,9 +5544,9 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path - description: id + description: contact_id example: 63a07ddf05a32042dffac965 required: true schema: @@ -5562,7 +5562,7 @@ paths: application/json: schema: "$ref": "#/components/schemas/contact_unarchived" - "/contacts/{id}/block": + "/contacts/{contact_id}/block": post: summary: Block contact parameters: @@ -5570,9 +5570,9 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: contact_id in: path - description: id + description: contact_id example: 63a07ddf05a32042dffac965 required: true schema: @@ -6273,7 +6273,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: conversation_id in: path required: true description: The id of the conversation to target @@ -6557,7 +6557,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: conversation_id in: path description: id required: true @@ -8517,7 +8517,7 @@ paths: $ref: "#/components/responses/Unauthorized" '404': $ref: "#/components/responses/ObjectNotFound" - "/custom_object_instances/{custom_object_type_identifier}/{id}": + "/custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}": parameters: - name: custom_object_type_identifier in: path @@ -8530,7 +8530,7 @@ paths: get: summary: Get Custom Object Instance by ID parameters: - - name: id + - name: custom_object_instance_id in: path description: The id or external_id of the custom object instance required: true @@ -8571,7 +8571,7 @@ paths: delete: summary: Delete a Custom Object Instance by ID parameters: - - name: id + - name: custom_object_instance_id in: path description: The Intercom defined id of the custom object instance required: true @@ -9510,7 +9510,7 @@ paths: responses: '200': description: successful - "/jobs/status/{id}": + "/jobs/status/{job_id}": get: summary: Retrieve job status parameters: @@ -9518,7 +9518,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: job_id in: path required: true description: The unique identifier for the job which is given by Intercom @@ -10018,7 +10018,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: news_item_id in: path required: true description: The unique identifier for the news item which is given by Intercom. @@ -10113,7 +10113,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: news_item_id in: path required: true description: The unique identifier for the news item which is given by Intercom. @@ -10721,7 +10721,7 @@ paths: message: Access Token Invalid schema: "$ref": "#/components/schemas/error" - "/calls/{id}": + "/calls/{call_id}": get: summary: Get a call parameters: @@ -10729,7 +10729,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: call_id in: path required: true description: The id of the call to retrieve @@ -10795,7 +10795,7 @@ paths: message: Access Token Invalid schema: "$ref": "#/components/schemas/error" - "/calls/{id}/recording": + "/calls/{call_id}/recording": get: summary: Get call recording by call id parameters: @@ -10803,7 +10803,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: call_id in: path required: true description: The id of the call @@ -10850,7 +10850,7 @@ paths: message: Access Token Invalid schema: "$ref": "#/components/schemas/error" - "/calls/{id}/transcript": + "/calls/{call_id}/transcript": get: summary: Get call transcript by call id parameters: @@ -10858,7 +10858,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: call_id in: path required: true description: The id of the call @@ -11236,7 +11236,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: tag_id in: path description: The unique identifier of a given tag example: '123' @@ -12145,7 +12145,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: ticket_type_id in: path required: true description: The unique identifier for the ticket type which is given by Intercom. @@ -13172,7 +13172,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: ticket_id in: path required: true description: The unique identifier for the ticket which is given by Intercom. @@ -13311,7 +13311,7 @@ paths: in: header schema: "$ref": "#/components/schemas/intercom_version" - - name: id + - name: ticket_id in: path required: true description: The unique identifier for the ticket which is given by Intercom. diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 89005e4..2857d93 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -17,13 +17,13 @@ paths: - admins x-fern-sdk-method-name: list x-fern-request-name: ListAdminsRequest - /admins/{id}: + /admins/{admin_id}: get: x-fern-sdk-group-name: - admins x-fern-sdk-method-name: find x-fern-request-name: FindAdminRequest - /admins/{id}/away: + /admins/{admin_id}/away: put: x-fern-sdk-group-name: - admins @@ -63,7 +63,7 @@ paths: - articles x-fern-sdk-method-name: create x-fern-request-name: CreateArticleRequest - /articles/{id}: + /articles/{article_id}: get: x-fern-sdk-group-name: - articles @@ -121,7 +121,7 @@ paths: - collections x-fern-sdk-method-name: create x-fern-request-name: CreateCollectionRequest - /help_center/collections/{id}: + /help_center/collections/{collection_id}: get: x-fern-sdk-group-name: - helpCenters @@ -169,7 +169,7 @@ paths: example: 15 schema: type: integer - /help_center/help_centers/{id}: + /help_center/help_centers/{help_center_id}: get: x-fern-sdk-group-name: - helpCenters @@ -195,7 +195,7 @@ paths: - companies x-fern-sdk-method-name: createOrUpdate x-fern-request-name: CreateOrUpdateCompanyRequest - /companies/{id}: + /companies/{company_id}: get: x-fern-sdk-group-name: - companies @@ -211,13 +211,13 @@ paths: - companies x-fern-sdk-method-name: delete x-fern-request-name: DeleteCompanyRequest - /companies/{id}/contacts: + /companies/{company_id}/contacts: get: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: listAttachedContacts x-fern-request-name: ListAttachedContactsRequest - /companies/{id}/segments: + /companies/{company_id}/segments: get: x-fern-sdk-group-name: - companies @@ -283,7 +283,7 @@ paths: - contacts x-fern-sdk-method-name: create x-fern-request-name: CreateContactRequest - /contacts/{id}: + /contacts/{contact_id}: get: x-fern-sdk-group-name: - contacts @@ -299,7 +299,6 @@ paths: - contacts x-fern-sdk-method-name: delete x-fern-request-name: DeleteContactRequest - /contacts/{id}/companies: null /contacts/{contact_id}/companies: get: x-fern-pagination: @@ -312,9 +311,8 @@ paths: parameters: - name: Intercom-Version in: header - required: true schema: - $ref: '#/components/schemas/intercom_version' + "$ref": "#/components/schemas/intercom_version" - name: contact_id in: path required: true @@ -335,206 +333,25 @@ paths: example: 15 schema: type: integer - summary: List attached companies for contact - tags: - - Contacts - - Companies - operationId: listCompaniesForAContact - description: You can fetch a list of companies that are associated to a contact. - responses: - '200': - description: successful - content: - application/json: - examples: - successful: - value: - type: list - data: - - type: company - company_id: '1' - id: 6762f0a61bb69f9f2193bb55 - app_id: this_is_an_id213_that_should_be_at_least_ - name: company12 - remote_created_at: 1734537382 - created_at: 1734537382 - updated_at: 1734537382 - last_request_at: 1734364582 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - pages: - type: pages - next: - page: 1 - per_page: 50 - total_pages: 1 - total_count: 1 - schema: - "$ref": "#/components/schemas/contact_attached_companies" - '404': - description: Contact not found - content: - application/json: - examples: - Contact not found: - value: - type: error.list - request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 - errors: - - code: not_found - message: User Not Found - schema: - "$ref": "#/components/schemas/error" - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f - errors: - - code: unauthorized - message: Access Token Invalid - schema: - "$ref": "#/components/schemas/error" post: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: attachContact x-fern-request-name: AttachContactToCompanyRequest - - summary: Attach a Contact to a Company - parameters: - - name: Intercom-Version - in: header - schema: - "$ref": "#/components/schemas/intercom_version" - - name: contact_id - in: path - required: true - description: The unique identifier for the contact which is given by Intercom - schema: - type: string - tags: - - Companies - - Contacts - operationId: attachContactToACompany - description: You can attach a company to a single contact. - responses: - '200': - description: Successful - content: - application/json: - examples: - Successful: - value: - type: company - company_id: '1' - id: 6762f09a1bb69f9f2193bb34 - app_id: this_is_an_id197_that_should_be_at_least_ - name: company6 - remote_created_at: 1734537370 - created_at: 1734537370 - updated_at: 1734537370 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - schema: - "$ref": "#/components/schemas/company" - '400': - description: Bad Request - content: - application/json: - examples: - Bad Request: - value: - type: error.list - request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a - errors: - - code: parameter_not_found - message: company not specified - schema: - "$ref": "#/components/schemas/error" - '404': - description: Company Not Found - content: - application/json: - examples: - Company Not Found: - value: - type: error.list - request_id: 981799ea-f19b-432d-828c-491a3b29ad29 - errors: - - code: company_not_found - message: Company Not Found - schema: - "$ref": "#/components/schemas/error" - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a - errors: - - code: unauthorized - message: Access Token Invalid - schema: - "$ref": "#/components/schemas/error" requestBody: content: application/json: schema: - type: object - required: - - id properties: id: - type: string - description: The unique identifier for the company which is given - by Intercom - example: 58a430d35458202d41b1e65b x-fern-property-name: company_id - examples: - successful: - summary: Successful - value: - id: 6762f09a1bb69f9f2193bb34 - bad_request: - summary: Bad Request - value: - company_not_found: - summary: Company Not Found - value: - id: '123' - /contacts/{contact_id}/companies/{id}: + /contacts/{contact_id}/companies/{company_id}: delete: x-fern-sdk-group-name: - companies x-fern-sdk-method-name: detachContact x-fern-request-name: DetachContactFromCompanyRequest - /contacts/{id}/notes: + /contacts/{contact_id}/notes: get: x-fern-pagination: offset: $request.page @@ -542,9 +359,9 @@ paths: x-fern-sdk-group-name: - notes x-fern-sdk-method-name: list - x-fern-request-name: ListContactNotesRequest + x-fern-request-name: parameters: - - name: id + - name: contact_id in: path required: true description: The unique identifier of a contact. @@ -598,7 +415,7 @@ paths: properties: id: x-fern-property-name: subscription_id - /contacts/{contact_id}/subscriptions/{id}: + /contacts/{contact_id}/subscriptions/{subscription_id}: delete: x-fern-sdk-group-name: - contacts @@ -622,19 +439,19 @@ paths: properties: id: x-fern-property-name: tag_id - /contacts/{contact_id}/tags/{id}: + /contacts/{contact_id}/tags/{tag_id}: delete: x-fern-sdk-group-name: - tags x-fern-sdk-method-name: untagContact x-fern-request-name: UntagContactRequest - /contacts/{id}/archive: + /contacts/{contact_id}/archive: post: x-fern-sdk-group-name: - contacts x-fern-sdk-method-name: archive x-fern-request-name: ArchiveContactRequest - /contacts/{id}/unarchive: + /contacts/{contact_id}/unarchive: post: x-fern-sdk-group-name: - contacts @@ -668,7 +485,7 @@ paths: properties: id: x-fern-property-name: tag_id - /conversations/{conversation_id}/tags/{d}: + /conversations/{conversation_id}/tags/{tag_id}: delete: x-fern-sdk-group-name: - tags @@ -689,7 +506,7 @@ paths: - conversations x-fern-sdk-method-name: create x-fern-request-name: CreateConversationRequest - /conversations/{id}: + /conversations/{conversation_id}: get: x-fern-sdk-group-name: - conversations @@ -700,7 +517,7 @@ paths: - conversations x-fern-sdk-method-name: update x-fern-request-name: UpdateConversationRequest - /conversations/{id}/reply: + /conversations/{conversation_id}/reply: post: requestBody: content: @@ -716,19 +533,19 @@ paths: - conversations x-fern-sdk-method-name: reply x-fern-request-name: ReplyToConversationRequest - /conversations/{id}/parts: + /conversations/{conversation_id}/parts: post: x-fern-sdk-group-name: - conversations x-fern-sdk-method-name: manage x-fern-request-name: ManageConversationPartsRequest - /conversations/{id}/run_assignment_rules: + /conversations/{conversation_id}/run_assignment_rules: post: x-fern-sdk-group-name: - conversations x-fern-sdk-method-name: runAssignmentRules x-fern-request-name: AutoAssignConversationRequest - /conversations/{id}/customers: + /conversations/{conversation_id}/customers: post: x-fern-sdk-group-name: - conversations @@ -740,7 +557,7 @@ paths: - conversations x-fern-sdk-method-name: detachContactAsAdmin x-fern-request-name: DetachContactFromConversationRequest - /conversations/{id}/convert: + /conversations/{conversation_id}/convert: post: x-fern-sdk-group-name: - conversations @@ -809,7 +626,7 @@ paths: - dataAttributes x-fern-sdk-method-name: create x-fern-request-name: CreateDataAttributeRequest - /data_attributes/{id}: + /data_attributes/{data_attribute_id}: put: x-fern-sdk-group-name: - dataAttributes @@ -892,6 +709,7 @@ paths: x-fern-sdk-group-name: - dataExport x-fern-sdk-method-name: cancel + x-fern-request-name: CancelDataExportRequest /export/reporting_data/{job_identifier}: get: x-fern-sdk-group-name: @@ -977,7 +795,7 @@ paths: - items x-fern-sdk-method-name: create x-fern-request-name: CreateNewsItemRequest - /news/news_items/{id}: + /news/news_items/{news_item_id}: get: x-fern-sdk-group-name: - news @@ -1003,21 +821,21 @@ paths: - feeds x-fern-sdk-method-name: list x-fern-request-name: ListNewsFeedsRequest - /news/newsfeeds/{id}: + /news/newsfeeds/{newsfeed_id}: get: x-fern-sdk-group-name: - news - feeds x-fern-sdk-method-name: find x-fern-request-name: FindNewsFeedRequest - /news/newsfeeds/{id}/items: + /news/newsfeeds/{newsfeed_id}/items: get: x-fern-sdk-group-name: - news - feeds x-fern-sdk-method-name: listItems x-fern-request-name: ListNewsFeedItemsRequest - /notes/{id}: + /notes/{note_id}: get: x-fern-sdk-group-name: - notes @@ -1029,7 +847,7 @@ paths: - segments x-fern-sdk-method-name: list x-fern-request-name: ListSegmentsRequest - /segments/{id}: + /segments/{segment_id}: get: x-fern-sdk-group-name: - segments @@ -1058,7 +876,7 @@ paths: - tags x-fern-sdk-method-name: create x-fern-request-name: CreateTagRequest - /tags/{id}: + /tags/{tag_id}: get: x-fern-sdk-group-name: - tags @@ -1075,7 +893,7 @@ paths: - teams x-fern-sdk-method-name: list x-fern-request-name: ListTeamsRequest - /teams/{id}: + /teams/{team_id}: get: x-fern-sdk-group-name: - teams @@ -1092,7 +910,7 @@ paths: - ticketTypes x-fern-sdk-method-name: create x-fern-request-name: CreateTicketTypeRequest - /ticket_types/{id}: + /ticket_types/{ticket_type_id}: get: x-fern-sdk-group-name: - ticketTypes @@ -1110,7 +928,7 @@ paths: - attributes x-fern-sdk-method-name: create x-fern-request-name: CreateTicketTypeAttributeRequest - /ticket_types/{ticket_type_id}/attributes/{id}: + /ticket_types/{ticket_type_id}/attributes/{attribute_id}: put: x-fern-sdk-group-name: - ticketTypes @@ -1123,7 +941,7 @@ paths: - tickets x-fern-sdk-method-name: create x-fern-request-name: CreateTicketRequest - /tickets/{id}: + /tickets/{ticket_id}: get: x-fern-sdk-group-name: - tickets @@ -1134,7 +952,7 @@ paths: - tickets x-fern-sdk-method-name: update x-fern-request-name: UpdateTicketRequest - /tickets/{id}/reply: + /tickets/{ticket_id}/reply: post: requestBody: content: @@ -1163,7 +981,7 @@ paths: properties: id: x-fern-property-name: tag_id - /tickets/{ticket_id}/tags/{id}: + /tickets/{ticket_id}/tags/{tag_id}: delete: x-fern-sdk-group-name: - tags @@ -1732,18 +1550,6 @@ components: example: winstonsmith@truth.org required: - email - update_internal_article_request: - x-fern-type-name: UpdateInternalArticleRequestBody - nullable: false - create_ticket_request: - x-fern-type-name: CreateTicketRequestBody - properties: - ticket_attributes: null - update_data_attribute_request: - x-fern-type-name: UpdateDataAttributeRequestBody - update_ticket_type_request: - x-fern-type-name: UpdateTicketTypeRequestBody - nullable: false update_visitor_request: properties: null anyOf: @@ -1867,9 +1673,7 @@ components: - boolean - datetime - files - update_article_request: - x-fern-type-name: UpdateArticleRequestBody - nullable: false + update_article_request_body: properties: parent_type: enum: @@ -2024,6 +1828,28 @@ components: - created_at - order + create_ticket_request: + x-fern-type-name: CreateTicketRequestBody + properties: + ticket_attributes: null + update_article_request: + x-fern-type-name: UpdateArticleRequestBody + # TODO: fern-support + # Remove nullable: false once java generator updated to handle this case. + nullable: false + update_data_attribute_request: + x-fern-type-name: UpdateDataAttributeRequestBody + update_internal_article_request: + x-fern-type-name: UpdateInternalArticleRequestBody + # TODO: fern-support + # Remove nullable: false once java generator updated to handle this case. + nullable: false + update_ticket_type_request: + x-fern-type-name: UpdateTicketTypeRequestBody + # TODO: fern-support + # Remove nullable: false once java generator updated to handle this case. + nullable: false + securitySchemes: bearerAuth: x-fern-bearer: From d004bb3416916319df32e89048cc4345b948eab9 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 11:47:57 -0400 Subject: [PATCH 15/20] nits --- descriptions/2.14/api.intercom.io.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index 4df447b..fbad128 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -3754,7 +3754,7 @@ paths: in: path required: true description: The unique identifier of a given contact. - example: '123' + example: 123 schema: type: integer tags: @@ -3819,10 +3819,6 @@ paths: 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. From f529c8b58d7726d0192d553af9c5f8c6b4668296 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 12:03:10 -0400 Subject: [PATCH 16/20] fix missing name --- fern/openapi-overrides.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 2857d93..cdc421f 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -359,7 +359,7 @@ paths: x-fern-sdk-group-name: - notes x-fern-sdk-method-name: list - x-fern-request-name: + x-fern-request-name: ListContactNotesRequest parameters: - name: contact_id in: path From 9111014f7659558eb4fb561f24707a71bfb43816 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 12:24:33 -0400 Subject: [PATCH 17/20] fix contact_id type --- 2.11.list-attach-comp.yml | 215 +++++++++++++++++++++++++ 2.14.list-attach-comp.yml | 201 +++++++++++++++++++++++ descriptions/2.14/api.intercom.io.yaml | 6 +- 3 files changed, 419 insertions(+), 3 deletions(-) create mode 100644 2.11.list-attach-comp.yml create mode 100644 2.14.list-attach-comp.yml diff --git a/2.11.list-attach-comp.yml b/2.11.list-attach-comp.yml new file mode 100644 index 0000000..2f21a1b --- /dev/null +++ b/2.11.list-attach-comp.yml @@ -0,0 +1,215 @@ +'/contacts/{contact_id}/companies': + post: + summary: Attach a Contact to a Company + parameters: + - name: Intercom-Version + in: header + schema: + '$ref': '#/components/schemas/intercom_version' + - name: contact_id + in: path + required: true + description: The unique identifier for the contact which is given by Intercom + schema: + type: string + tags: + - Companies + - Contacts + operationId: attachContactToACompany + description: You can attach a company to a single contact. + responses: + '200': + description: Successful + content: + application/json: + examples: + Successful: + value: + type: company + company_id: '1' + id: 667d608d8a68186f43bafd70 + app_id: this_is_an_id166_that_should_be_at_least_ + name: company6 + remote_created_at: 1719492749 + created_at: 1719492749 + updated_at: 1719492749 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + schema: + '$ref': '#/components/schemas/company' + '400': + description: Bad Request + content: + application/json: + examples: + Bad Request: + value: + type: error.list + request_id: 9297dcfc-1896-43a3-a3f9-131238422ed2 + errors: + - code: parameter_not_found + message: company not specified + schema: + '$ref': '#/components/schemas/error' + '404': + description: Company Not Found + content: + application/json: + examples: + Company Not Found: + value: + type: error.list + request_id: 32d121d8-fcbf-4c59-9c60-204f7d602f36 + errors: + - code: company_not_found + message: Company Not Found + schema: + '$ref': '#/components/schemas/error' + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: 99739bbd-2dbe-4ce3-ae91-af23379b5cd7 + errors: + - code: unauthorized + message: Access Token Invalid + schema: + '$ref': '#/components/schemas/error' + requestBody: + content: + application/json: + schema: + type: object + required: + - id + properties: + id: + type: string + description: The unique identifier for the company which is given + by Intercom + example: 58a430d35458202d41b1e65b + examples: + successful: + summary: Successful + value: + id: 667d608d8a68186f43bafd70 + bad_request: + summary: Bad Request + value: + company_not_found: + summary: Company Not Found + value: + id: '123' + get: + summary: List attached companies 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' + - name: page + in: query + required: false + description: The page of results to fetch. Defaults to first page + example: 1 + schema: + type: integer + - name: per_page + in: query + required: false + description: How many results to display per page. Defaults to 15 + example: 15 + schema: + type: integer + tags: + - Contacts + - Companies + operationId: listCompaniesForAContact + description: You can fetch a list of companies that are associated to a contact. + responses: + '200': + description: successful + content: + application/json: + examples: + successful: + value: + type: list + data: + - type: company + company_id: '1' + id: 667d60938a68186f43bafd91 + app_id: this_is_an_id182_that_should_be_at_least_ + name: company12 + remote_created_at: 1719492755 + created_at: 1719492755 + updated_at: 1719492755 + last_request_at: 1719319955 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + pages: + type: pages + next: + page: 1 + per_page: 50 + total_pages: 1 + total_count: 1 + schema: + '$ref': '#/components/schemas/contact_attached_companies' + '404': + description: Contact not found + content: + application/json: + examples: + Contact not found: + value: + type: error.list + request_id: b9d7374d-1780-4668-bb62-0e1ff9cdab45 + errors: + - code: not_found + message: User Not Found + schema: + '$ref': '#/components/schemas/error' + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: d211ec8c-df9b-420c-86df-23c27ad54bc5 + errors: + - code: unauthorized + message: Access Token Invalid + schema: + '$ref': '#/components/schemas/error' diff --git a/2.14.list-attach-comp.yml b/2.14.list-attach-comp.yml new file mode 100644 index 0000000..c7c4d28 --- /dev/null +++ b/2.14.list-attach-comp.yml @@ -0,0 +1,201 @@ +'/contacts/{contact_id}/companies': + post: + summary: Attach a Contact to a Company + parameters: + - name: Intercom-Version + in: header + schema: + '$ref': '#/components/schemas/intercom_version' + - name: contact_id + in: path + required: true + description: The unique identifier for the contact which is given by Intercom + schema: + type: string + tags: + - Companies + - Contacts + operationId: attachContactToACompany + description: You can attach a company to a single contact. + responses: + '200': + description: Successful + content: + application/json: + examples: + Successful: + value: + type: company + company_id: '1' + id: 6762f09a1bb69f9f2193bb34 + app_id: this_is_an_id197_that_should_be_at_least_ + name: company6 + remote_created_at: 1734537370 + created_at: 1734537370 + updated_at: 1734537370 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + schema: + '$ref': '#/components/schemas/company' + '400': + description: Bad Request + content: + application/json: + examples: + Bad Request: + value: + type: error.list + request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a + errors: + - code: parameter_not_found + message: company not specified + schema: + '$ref': '#/components/schemas/error' + '404': + description: Company Not Found + content: + application/json: + examples: + Company Not Found: + value: + type: error.list + request_id: 981799ea-f19b-432d-828c-491a3b29ad29 + errors: + - code: company_not_found + message: Company Not Found + schema: + '$ref': '#/components/schemas/error' + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a + errors: + - code: unauthorized + message: Access Token Invalid + schema: + '$ref': '#/components/schemas/error' + requestBody: + content: + application/json: + schema: + type: object + required: + - id + properties: + id: + type: string + description: The unique identifier for the company which is given + by Intercom + example: 58a430d35458202d41b1e65b + examples: + successful: + summary: Successful + value: + id: 6762f09a1bb69f9f2193bb34 + bad_request: + summary: Bad Request + value: + company_not_found: + summary: Company Not Found + value: + id: '123' + get: + summary: List attached companies 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 + - Companies + operationId: listCompaniesForAContact + description: You can fetch a list of companies that are associated to a contact. + responses: + '200': + description: successful + content: + application/json: + examples: + successful: + value: + type: list + data: + - type: company + company_id: '1' + id: 6762f0a61bb69f9f2193bb55 + app_id: this_is_an_id213_that_should_be_at_least_ + name: company12 + remote_created_at: 1734537382 + created_at: 1734537382 + updated_at: 1734537382 + last_request_at: 1734364582 + monthly_spend: 0 + session_count: 0 + user_count: 1 + tags: + type: tag.list + tags: [] + segments: + type: segment.list + segments: [] + plan: {} + custom_attributes: {} + pages: + type: pages + next: + page: 1 + per_page: 50 + total_pages: 1 + total_count: 1 + schema: + '$ref': '#/components/schemas/contact_attached_companies' + '404': + description: Contact not found + content: + application/json: + examples: + Contact not found: + value: + type: error.list + request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 + errors: + - code: not_found + message: User Not Found + schema: + '$ref': '#/components/schemas/error' + '401': + description: Unauthorized + content: + application/json: + examples: + Unauthorized: + value: + type: error.list + request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f + errors: + - code: unauthorized + message: Access Token Invalid + schema: + '$ref': '#/components/schemas/error' diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index fbad128..417432e 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -3658,7 +3658,7 @@ paths: required: true description: The unique identifier of a contact. schema: - type: integer + type: string - name: Intercom-Version in: header schema: @@ -3754,9 +3754,9 @@ paths: in: path required: true description: The unique identifier of a given contact. - example: 123 + example: '123' schema: - type: integer + type: string tags: - Notes - Contacts From e10892a31de6ebfb55d5fe27b6f56a82c2167317 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 12:33:16 -0400 Subject: [PATCH 18/20] tinkering --- descriptions/2.14/api.intercom.io.yaml | 4 ++-- fern/openapi-overrides.yml | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/descriptions/2.14/api.intercom.io.yaml b/descriptions/2.14/api.intercom.io.yaml index 417432e..0faddaf 100644 --- a/descriptions/2.14/api.intercom.io.yaml +++ b/descriptions/2.14/api.intercom.io.yaml @@ -3370,7 +3370,7 @@ paths: required: true description: The unique identifier for the contact which is given by Intercom schema: - type: string + type: integer tags: - Companies - Contacts @@ -3756,7 +3756,7 @@ paths: description: The unique identifier of a given contact. example: '123' schema: - type: string + type: integer tags: - Notes - Contacts diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index cdc421f..16ca589 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -317,6 +317,7 @@ paths: in: path required: true description: The unique identifier for the contact which is given by Intercom + example: '123' schema: type: string - name: page @@ -366,7 +367,7 @@ paths: required: true description: The unique identifier of a contact. schema: - type: integer + type: string - name: Intercom-Version in: header required: true @@ -391,6 +392,18 @@ paths: - notes x-fern-sdk-method-name: create x-fern-request-name: CreateContactNoteRequest + parameters: + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" + - name: contact_id + in: path + required: true + description: The unique identifier of a given contact. + example: '123' + schema: + type: string /contacts/{contact_id}/segments: get: x-fern-sdk-group-name: From 91b40a86297c955f748dfdb7162f03f8b6356605 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 12:34:26 -0400 Subject: [PATCH 19/20] reverse param order --- fern/openapi-overrides.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fern/openapi-overrides.yml b/fern/openapi-overrides.yml index 16ca589..227ebe7 100644 --- a/fern/openapi-overrides.yml +++ b/fern/openapi-overrides.yml @@ -309,17 +309,17 @@ paths: x-fern-sdk-method-name: listAttachedCompanies x-fern-request-name: ListAttachedCompaniesRequest parameters: - - name: Intercom-Version - in: header - schema: - "$ref": "#/components/schemas/intercom_version" - name: contact_id in: path - required: true description: The unique identifier for the contact which is given by Intercom - example: '123' + example: 63a07ddf05a32042dffac965 + required: true schema: type: string + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" - name: page in: query required: false From 6ae461df6f6bb71dd3b796e351fcf6858eccd9b1 Mon Sep 17 00:00:00 2001 From: jsklan Date: Mon, 8 Sep 2025 12:38:59 -0400 Subject: [PATCH 20/20] remove debug files --- 2.11.list-attach-comp.yml | 215 -------------------------------------- 2.14.list-attach-comp.yml | 201 ----------------------------------- 2 files changed, 416 deletions(-) delete mode 100644 2.11.list-attach-comp.yml delete mode 100644 2.14.list-attach-comp.yml diff --git a/2.11.list-attach-comp.yml b/2.11.list-attach-comp.yml deleted file mode 100644 index 2f21a1b..0000000 --- a/2.11.list-attach-comp.yml +++ /dev/null @@ -1,215 +0,0 @@ -'/contacts/{contact_id}/companies': - post: - summary: Attach a Contact to a Company - parameters: - - name: Intercom-Version - in: header - schema: - '$ref': '#/components/schemas/intercom_version' - - name: contact_id - in: path - required: true - description: The unique identifier for the contact which is given by Intercom - schema: - type: string - tags: - - Companies - - Contacts - operationId: attachContactToACompany - description: You can attach a company to a single contact. - responses: - '200': - description: Successful - content: - application/json: - examples: - Successful: - value: - type: company - company_id: '1' - id: 667d608d8a68186f43bafd70 - app_id: this_is_an_id166_that_should_be_at_least_ - name: company6 - remote_created_at: 1719492749 - created_at: 1719492749 - updated_at: 1719492749 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - schema: - '$ref': '#/components/schemas/company' - '400': - description: Bad Request - content: - application/json: - examples: - Bad Request: - value: - type: error.list - request_id: 9297dcfc-1896-43a3-a3f9-131238422ed2 - errors: - - code: parameter_not_found - message: company not specified - schema: - '$ref': '#/components/schemas/error' - '404': - description: Company Not Found - content: - application/json: - examples: - Company Not Found: - value: - type: error.list - request_id: 32d121d8-fcbf-4c59-9c60-204f7d602f36 - errors: - - code: company_not_found - message: Company Not Found - schema: - '$ref': '#/components/schemas/error' - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: 99739bbd-2dbe-4ce3-ae91-af23379b5cd7 - errors: - - code: unauthorized - message: Access Token Invalid - schema: - '$ref': '#/components/schemas/error' - requestBody: - content: - application/json: - schema: - type: object - required: - - id - properties: - id: - type: string - description: The unique identifier for the company which is given - by Intercom - example: 58a430d35458202d41b1e65b - examples: - successful: - summary: Successful - value: - id: 667d608d8a68186f43bafd70 - bad_request: - summary: Bad Request - value: - company_not_found: - summary: Company Not Found - value: - id: '123' - get: - summary: List attached companies 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' - - name: page - in: query - required: false - description: The page of results to fetch. Defaults to first page - example: 1 - schema: - type: integer - - name: per_page - in: query - required: false - description: How many results to display per page. Defaults to 15 - example: 15 - schema: - type: integer - tags: - - Contacts - - Companies - operationId: listCompaniesForAContact - description: You can fetch a list of companies that are associated to a contact. - responses: - '200': - description: successful - content: - application/json: - examples: - successful: - value: - type: list - data: - - type: company - company_id: '1' - id: 667d60938a68186f43bafd91 - app_id: this_is_an_id182_that_should_be_at_least_ - name: company12 - remote_created_at: 1719492755 - created_at: 1719492755 - updated_at: 1719492755 - last_request_at: 1719319955 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - pages: - type: pages - next: - page: 1 - per_page: 50 - total_pages: 1 - total_count: 1 - schema: - '$ref': '#/components/schemas/contact_attached_companies' - '404': - description: Contact not found - content: - application/json: - examples: - Contact not found: - value: - type: error.list - request_id: b9d7374d-1780-4668-bb62-0e1ff9cdab45 - errors: - - code: not_found - message: User Not Found - schema: - '$ref': '#/components/schemas/error' - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: d211ec8c-df9b-420c-86df-23c27ad54bc5 - errors: - - code: unauthorized - message: Access Token Invalid - schema: - '$ref': '#/components/schemas/error' diff --git a/2.14.list-attach-comp.yml b/2.14.list-attach-comp.yml deleted file mode 100644 index c7c4d28..0000000 --- a/2.14.list-attach-comp.yml +++ /dev/null @@ -1,201 +0,0 @@ -'/contacts/{contact_id}/companies': - post: - summary: Attach a Contact to a Company - parameters: - - name: Intercom-Version - in: header - schema: - '$ref': '#/components/schemas/intercom_version' - - name: contact_id - in: path - required: true - description: The unique identifier for the contact which is given by Intercom - schema: - type: string - tags: - - Companies - - Contacts - operationId: attachContactToACompany - description: You can attach a company to a single contact. - responses: - '200': - description: Successful - content: - application/json: - examples: - Successful: - value: - type: company - company_id: '1' - id: 6762f09a1bb69f9f2193bb34 - app_id: this_is_an_id197_that_should_be_at_least_ - name: company6 - remote_created_at: 1734537370 - created_at: 1734537370 - updated_at: 1734537370 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - schema: - '$ref': '#/components/schemas/company' - '400': - description: Bad Request - content: - application/json: - examples: - Bad Request: - value: - type: error.list - request_id: 8879ee29-ade4-4b5a-a275-ab1ac531b82a - errors: - - code: parameter_not_found - message: company not specified - schema: - '$ref': '#/components/schemas/error' - '404': - description: Company Not Found - content: - application/json: - examples: - Company Not Found: - value: - type: error.list - request_id: 981799ea-f19b-432d-828c-491a3b29ad29 - errors: - - code: company_not_found - message: Company Not Found - schema: - '$ref': '#/components/schemas/error' - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: 1f187e85-cd9a-4be4-964e-cdbb8c66334a - errors: - - code: unauthorized - message: Access Token Invalid - schema: - '$ref': '#/components/schemas/error' - requestBody: - content: - application/json: - schema: - type: object - required: - - id - properties: - id: - type: string - description: The unique identifier for the company which is given - by Intercom - example: 58a430d35458202d41b1e65b - examples: - successful: - summary: Successful - value: - id: 6762f09a1bb69f9f2193bb34 - bad_request: - summary: Bad Request - value: - company_not_found: - summary: Company Not Found - value: - id: '123' - get: - summary: List attached companies 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 - - Companies - operationId: listCompaniesForAContact - description: You can fetch a list of companies that are associated to a contact. - responses: - '200': - description: successful - content: - application/json: - examples: - successful: - value: - type: list - data: - - type: company - company_id: '1' - id: 6762f0a61bb69f9f2193bb55 - app_id: this_is_an_id213_that_should_be_at_least_ - name: company12 - remote_created_at: 1734537382 - created_at: 1734537382 - updated_at: 1734537382 - last_request_at: 1734364582 - monthly_spend: 0 - session_count: 0 - user_count: 1 - tags: - type: tag.list - tags: [] - segments: - type: segment.list - segments: [] - plan: {} - custom_attributes: {} - pages: - type: pages - next: - page: 1 - per_page: 50 - total_pages: 1 - total_count: 1 - schema: - '$ref': '#/components/schemas/contact_attached_companies' - '404': - description: Contact not found - content: - application/json: - examples: - Contact not found: - value: - type: error.list - request_id: 32c856ba-901b-49c4-8e8d-d43fc3ee6ea5 - errors: - - code: not_found - message: User Not Found - schema: - '$ref': '#/components/schemas/error' - '401': - description: Unauthorized - content: - application/json: - examples: - Unauthorized: - value: - type: error.list - request_id: 565a4f38-5fa9-451d-bcf0-32076f79517f - errors: - - code: unauthorized - message: Access Token Invalid - schema: - '$ref': '#/components/schemas/error'