Intercom

Customer messaging and support platform

developers.intercom.com ↗
Version
2.9
OpenAPI
3.0.1
Endpoints
110
Schemas
172
Updated
3 days ago
Customer support customer-support messaging crm
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.intercom.io
https://api.eu.intercom.io
https://api.au.intercom.io

Authentication

bearer

Endpoints

Clear filters

Admins 1 endpoints

PUT /admins/{id}/away

You can set an Admin as away for the Inbox.

operationId: Admins_setAdminAway

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The unique identifier of a given admin

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AdminsSetAdminAwayRequest"
      },
      "examples": {
        "unauthorized": {
          "value": {
            "away_mode_enabled": true,
            "away_mode_reassign": true
          },
          "summary": "Unauthorized"
        },
        "admin_not_found": {
          "value": {
            "away_mode_enabled": true,
            "away_mode_reassign": true
          },
          "summary": "Admin not found"
        },
        "successful_response": {
          "value": {
            "away_mode_enabled": true,
            "away_mode_reassign": true
          },
          "summary": "Successful response"
        }
      }
    }
  }
}

Responses

200 Successful response
401 Unauthorized
404 Admin not found
PUT /admins/{id}/away

Articles 1 endpoints

PUT /articles/{id}

You can update the details of a single article by making a PUT request to `https://api.intercom.io/articles/<id>`.

operationId: Articles_updateDetails

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The unique identifier for the article which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_article_request"
      },
      "examples": {
        "successful": {
          "value": {
            "body": "<p>New gifts in store for the jolly season</p>",
            "title": "Christmas is here!"
          },
          "summary": "successful"
        },
        "article_not_found": {
          "value": {
            "body": "<p>New gifts in store for the jolly season</p>",
            "title": "Christmas is here!"
          },
          "summary": "Article Not Found"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
404 Article Not Found
PUT /articles/{id}

Companies 1 endpoints

PUT /companies/{id}

You can update a single company using the Intercom provisioned `id`. {% admonition type="attention" 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 %}

operationId: Companies_updateCompanyById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required string The unique identifier for the company which is given by Intercom

Responses

200 Successful
401 Unauthorized
404 Company Not Found
PUT /companies/{id}

Contacts 1 endpoints

PUT /contacts/{id}

You can update an existing contact (ie. user or lead).

operationId: Contacts_updateContact

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required string id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ContactsUpdateContactRequest"
      },
      "examples": {
        "successful": {
          "value": {
            "name": "joe bloggs",
            "email": "joebloggs@intercom.io"
          },
          "summary": "successful"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
PUT /contacts/{id}

Conversations 1 endpoints

PUT /conversations/{id}

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 %}

operationId: Conversations_updateConversation

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The id of the conversation to target
display_as query optional string Set to plaintext to retrieve conversation messages in plain text.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_conversation_request"
      },
      "examples": {
        "not_found": {
          "value": {
            "read": true,
            "custom_attributes": {
              "priority": "High",
              "issue_type": "Billing"
            }
          },
          "summary": "Not found"
        },
        "conversation_found": {
          "value": {
            "read": true,
            "custom_attributes": {
              "priority": "High",
              "issue_type": "Billing"
            }
          },
          "summary": "conversation found"
        }
      }
    }
  }
}

Responses

200 conversation found
401 Unauthorized
403 API plan restricted
404 Not found
PUT /conversations/{id}

Data attributes 1 endpoints

PUT /data_attributes/{id}

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.

operationId: DataAttributes_updateAttributeById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The data attribute id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_data_attribute_request"
      },
      "examples": {
        "successful": {
          "value": {
            "options": [
              {
                "value": "1-10"
              },
              {
                "value": "11-20"
              }
            ],
            "archived": false,
            "description": "Just a plain old ring"
          },
          "summary": "Successful"
        },
        "attribute_not_found": {
          "value": {
            "options": [
              {
                "value": "1-10"
              },
              {
                "value": "11-20"
              }
            ],
            "archived": false,
            "description": "Just a plain old ring"
          },
          "summary": "Attribute Not Found"
        },
        "has_dependant_object": {
          "value": {
            "archived": true,
            "description": "Trying to archieve"
          },
          "summary": "Has Dependant Object"
        },
        "too_few_options_in_list": {
          "value": {
            "options": {
              "value": "1-10"
            },
            "archived": false,
            "description": "Too few options"
          },
          "summary": "Too few options in list"
        }
      }
    }
  }
}

Responses

200 Successful
400 Too few options in list
401 Unauthorized
404 Attribute Not Found
422 Has Dependant Object
PUT /data_attributes/{id}

Help center 2 endpoints

PUT /help_center/collections/{id}

You can update the details of a single collection by making a PUT request to `https://api.intercom.io/collections/<id>`.

operationId: HelpCenter_updateCollectionById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The unique identifier for the collection which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_collection_request"
      },
      "examples": {
        "successful": {
          "value": {
            "name": "Update collection name"
          },
          "summary": "successful"
        },
        "collection_not_found": {
          "value": {
            "name": "Update collection name"
          },
          "summary": "Collection Not Found"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
404 Collection Not Found
PUT /help_center/collections/{id}
PUT /help_center/sections/{id}

You can update the details of a single section by making a PUT request to `https://api.intercom.io/sections/<id>`.

operationId: HelpCenter_updateSectionById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The unique identifier for the section which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_section_request"
      },
      "examples": {
        "successful": {
          "value": {
            "name": "Update section name",
            "parent_id": 2502
          },
          "summary": "successful"
        },
        "section_not_found": {
          "value": {
            "name": "Update section name",
            "parent_id": 2504
          },
          "summary": "Section Not Found"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
404 Section Not Found
PUT /help_center/sections/{id}

News 1 endpoints

PUT /news/news_items/{id}
operationId: News_updateNewsItem

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required integer The unique identifier for the news item which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/news_item_request"
      },
      "examples": {
        "successful": {
          "value": {
            "body": "<p>New gifts in store for the jolly season</p>",
            "title": "Christmas is here!",
            "reactions": [
              "😝",
              "😂"
            ],
            "sender_id": 991282110
          },
          "summary": "successful"
        },
        "news_item_not_found": {
          "value": {
            "body": "<p>New gifts in store for the jolly season</p>",
            "title": "Christmas is here!",
            "reactions": [
              "😝",
              "😂"
            ],
            "sender_id": 991282113
          },
          "summary": "News Item Not Found"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
404 News Item Not Found
PUT /news/news_items/{id}

Ticket type attributes 1 endpoints

PUT /ticket_types/{ticket_type_id}/attributes/{id}

You can update an existing attribute for a ticket type.

operationId: TicketTypeAttributes_updateExistingAttribute

Parameters

Name In Required Type Description
Intercom-Version header optional
ticket_type_id path required string The unique identifier for the ticket type which is given by Intercom.
id path required string The unique identifier for the ticket type attribute which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_ticket_type_attribute_request"
      },
      "examples": {
        "ticket_type_attribute_updated": {
          "value": {
            "description": "New Attribute Description"
          },
          "summary": "Ticket Type Attribute updated"
        }
      }
    }
  }
}

Responses

200 Ticket Type Attribute updated
401 Unauthorized
PUT /ticket_types/{ticket_type_id}/attributes/{id}

Ticket types 1 endpoints

PUT /ticket_types/{id}

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/)

operationId: TicketTypes_updateTicketTypeById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required string The unique identifier for the ticket type which is given by Intercom.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_ticket_type_request"
      },
      "examples": {
        "ticket_type_updated": {
          "value": {
            "name": "Bug Report 2"
          },
          "summary": "Ticket type updated"
        }
      }
    }
  }
}

Responses

200 Ticket type updated
401 Unauthorized
PUT /ticket_types/{id}

Tickets 1 endpoints

PUT /tickets/{id}

You can update a ticket.

operationId: Tickets_updateTicketById

Parameters

Name In Required Type Description
Intercom-Version header optional
id path required string The unique identifier for the ticket which is given by Intercom

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_ticket_request"
      },
      "examples": {
        "admin_not_found": {
          "value": {
            "state": "in_progress",
            "assignment": {
              "admin_id": "123",
              "assignee_id": "991282235"
            },
            "ticket_attributes": {
              "title": "example",
              "description": "there is a problem"
            }
          },
          "summary": "Admin not found"
        },
        "assignee_not_found": {
          "value": {
            "state": "in_progress",
            "assignment": {
              "admin_id": "991282241",
              "assignee_id": "456"
            },
            "ticket_attributes": {
              "title": "example",
              "description": "there is a problem"
            }
          },
          "summary": "Assignee not found"
        },
        "successful_response": {
          "value": {
            "open": true,
            "state": "in_progress",
            "assignment": {
              "admin_id": "991282225",
              "assignee_id": "991282227"
            },
            "snoozed_until": 1673609604,
            "ticket_attributes": {
              "title": "example",
              "description": "there is a problem"
            }
          },
          "summary": "Successful response"
        }
      }
    }
  }
}

Responses

200 Successful response
401 Unauthorized
404 Assignee not found
PUT /tickets/{id}

Visitors 1 endpoints

PUT /visitors

Sending a PUT request to `/visitors` will result in an update of an existing Visitor. **Option 1.** You can update a visitor by passing in the `user_id` of the visitor in the Request body. **Option 2.** You can update a visitor by passing in the `id` of the visitor in the Request body.

operationId: Visitors_updateExistingVisitor

Parameters

Name In Required Type Description
Intercom-Version header optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/update_visitor_request"
      },
      "examples": {
        "successful": {
          "value": {
            "id": "660e72746abd01bb40bdc53fX",
            "name": "Gareth Bale"
          },
          "summary": "successful"
        },
        "visitor_not_found": {
          "value": {
            "name": "Christian Fail",
            "user_id": "fail"
          },
          "summary": "visitor Not Found"
        }
      }
    }
  }
}

Responses

200 successful
401 Unauthorized
404 visitor Not Found
PUT /visitors

Schemas

object AdminsSetAdminAwayRequest
{
  "type": "object",
  "required": [
    "away_mode_enabled",
    "away_mode_reassign"
  ],
  "properties": {
    "away_mode_enabled": {
      "type": "boolean",
      "default": true,
      "example": true,
      "description": "Set to \"true\" to change the status of the admin to away."
    },
    "away_mode_reassign": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Set to \"true\" to assign any new conversation replies to your default inbox."
    }
  }
}
object CompaniesAttachContactToRequest
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "58a430d35458202d41b1e65b",
      "description": "The unique identifier for the company which is given by Intercom"
    }
  }
}
object ContactsCreateNewContactRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/create_contact_request"
    }
  ]
}
object ContactsUpdateContactRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/update_contact_request"
    }
  ]
}
object ConversationsManageConversationRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/close_conversation_request"
    },
    {
      "$ref": "#/components/schemas/snooze_conversation_request"
    },
    {
      "$ref": "#/components/schemas/open_conversation_request"
    },
    {
      "$ref": "#/components/schemas/assign_conversation_request"
    }
  ]
}
object NotesAddNoteToContactRequest
{
  "type": "object",
  "required": [
    "body"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "New note",
      "description": "The text of the note."
    },
    "admin_id": {
      "type": "string",
      "example": "123",
      "description": "The unique identifier of a given admin."
    },
    "contact_id": {
      "type": "string",
      "example": "123",
      "description": "The unique identifier of a given contact."
    }
  }
}
object SubscriptionTypesAddSubscriptionToContactRequest
{
  "type": "object",
  "required": [
    "id",
    "consent_type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "37846",
      "description": "The unique identifier for the subscription which is given by Intercom"
    },
    "consent_type": {
      "type": "string",
      "example": "opt_in",
      "description": "The consent_type of a subscription, opt_out or opt_in."
    }
  }
}
object SwitchDeflectPhoneCalls422Response
{
  "type": "object",
  "example": {
    "error_key": "some_error"
  },
  "properties": {
    "error_key": {
      "type": "string",
      "example": "some_error"
    }
  }
}
object SwitchDeflectPhoneCallsResponse
{
  "type": "object",
  "example": {
    "message": "SMS was not sent due to an unknown error",
    "error_key": "sms_failed"
  },
  "properties": {
    "message": {
      "type": "string",
      "example": "SMS was not sent due to an unknown error"
    },
    "error_key": {
      "type": "string",
      "example": "sms_failed"
    }
  }
}
object TagsAddTagToContactRequest
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "7522907",
      "description": "The unique identifier for the tag which is given by Intercom"
    }
  }
}
object TagsAddTagToConversationRequest
{
  "type": "object",
  "required": [
    "id",
    "admin_id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "7522907",
      "description": "The unique identifier for the tag which is given by Intercom"
    },
    "admin_id": {
      "type": "string",
      "example": "780",
      "description": "The unique identifier for the admin which is given by Intercom."
    }
  }
}
object TagsCreateOrUpdateTagRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/create_or_update_tag_request"
    },
    {
      "$ref": "#/components/schemas/tag_company_request"
    },
    {
      "$ref": "#/components/schemas/untag_company_request"
    },
    {
      "$ref": "#/components/schemas/tag_multiple_users_request"
    }
  ]
}
object TagsRemoveFromConversationRequest
{
  "type": "object",
  "required": [
    "admin_id"
  ],
  "properties": {
    "admin_id": {
      "type": "string",
      "example": "123",
      "description": "The unique identifier for the admin which is given by Intercom."
    }
  }
}
object TicketsUpdateTicketByIdResponse
{
  "type": "object",
  "example": {
    "type": "error.list",
    "errors": [
      {
        "code": "assignee_not_found",
        "message": "Assignee not found"
      }
    ],
    "request_id": "752fe552-f009-4e9e-b08a-0cbf6ff78c9b"
  },
  "properties": {
    "type": {
      "type": "string",
      "example": "error.list"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "assignee_not_found"
          },
          "message": {
            "type": "string",
            "example": "Assignee not found"
          }
        }
      }
    },
    "request_id": {
      "type": "string",
      "example": "752fe552-f009-4e9e-b08a-0cbf6ff78c9b"
    }
  }
}
object activity_log
{
  "type": "object",
  "title": "Activity Log",
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "6",
      "description": "The id representing the activity."
    },
    "metadata": {
      "type": "object"
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the activity was created."
    },
    "performed_by": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "1295",
          "description": "The id representing the admin."
        },
        "ip": {
          "type": "string",
          "example": "198.51.100.255",
          "description": "The IP address of the admin."
        },
        "type": {
          "type": "string",
          "example": "admin",
          "description": "String representing the object's type. Always has the value `admin`."
        },
        "email": {
          "type": "string",
          "example": "john@example.com",
          "description": "The email of the admin."
        }
      },
      "description": "An object representing the admin who performed the activity."
    },
    "activity_type": {
      "enum": [
        "admin_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"
      ],
      "type": "string",
      "example": "app_name_change"
    },
    "activity_description": {
      "type": "string",
      "example": "Admin updated the app's name to \"My App\".",
      "description": "A sentence or two describing the activity."
    }
  },
  "description": "Activities performed by admins."
}
object activity_log_list
{
  "type": "object",
  "title": "Paginated Response",
  "properties": {
    "type": {
      "type": "string",
      "example": "activity_log.list",
      "description": "String representing the object's type. Always has the value `activity_log.list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "activity_logs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/activity_log"
      },
      "description": "An array of activity logs"
    }
  },
  "description": "A paginated list of activity logs."
}
object addressable_list
{
  "type": "object",
  "title": "Addressable List",
  "nullable": false,
  "properties": {
    "id": {
      "type": "string",
      "example": "123",
      "description": "The id of the addressable object"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "example": "/contacts/5ba682d23d7cf92bef87bfd4/notes",
      "description": "Url to get more company resources for this contact"
    },
    "type": {
      "type": "string",
      "format": "uri",
      "example": "note",
      "description": "The addressable object type"
    }
  },
  "description": "A list used to access other resources from a parent model."
}
object admin
{
  "type": "object",
  "title": "Admin",
  "x-tags": [
    "Admins"
  ],
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the admin."
    },
    "name": {
      "type": "string",
      "example": "Hoban Washburne",
      "description": "The name of the admin."
    },
    "type": {
      "type": "string",
      "example": "admin",
      "description": "String representing the object's type. Always has the value `admin`."
    },
    "email": {
      "type": "string",
      "example": "wash@serenity.io",
      "description": "The email of the admin."
    },
    "avatar": {
      "type": "string",
      "format": "uri",
      "example": "https://picsum.photos/200/300",
      "nullable": true,
      "description": "Image for the associated team or teammate"
    },
    "team_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        814865
      ],
      "description": "This object represents the avatar associated with the admin."
    },
    "job_title": {
      "type": "string",
      "example": "Philosopher",
      "description": "The job title of the admin."
    },
    "has_inbox_seat": {
      "type": "boolean",
      "example": true,
      "description": "Identifies if this admin has a paid inbox seat to restrict/allow features that require them."
    },
    "away_mode_enabled": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this admin is currently set in away mode."
    },
    "away_mode_reassign": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this admin is set to automatically reassign new conversations to the apps default inbox."
    },
    "team_priority_level": {
      "$ref": "#/components/schemas/team_priority_level"
    }
  },
  "description": "Admins are teammate accounts that have access to a workspace."
}
object admin_list
{
  "type": "object",
  "title": "Admins",
  "properties": {
    "type": {
      "type": "string",
      "example": "admin.list",
      "description": "String representing the object's type. Always has the value `admin.list`."
    },
    "admins": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/admin"
      },
      "description": "A list of admins associated with a given workspace."
    }
  },
  "description": "A list of admins associated with a given workspace."
}
object admin_priority_level
{
  "type": "object",
  "title": "Admin Priority Level",
  "nullable": true,
  "properties": {
    "primary_admin_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        493881
      ],
      "nullable": true,
      "description": "The primary admin ids for the team"
    },
    "secondary_admin_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        814865
      ],
      "nullable": true,
      "description": "The secondary admin ids for the team"
    }
  },
  "description": "Admin priority levels for the team"
}
object admin_reply_conversation_request
{
  "type": "object",
  "title": "Admin Reply",
  "required": [
    "message_type",
    "type",
    "admin_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "Hello there!",
      "description": "The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types."
    },
    "type": {
      "enum": [
        "admin"
      ],
      "type": "string",
      "example": "admin"
    },
    "admin_id": {
      "type": "string",
      "example": "3156780",
      "description": "The id of the admin who is authoring the comment."
    },
    "created_at": {
      "type": "integer",
      "example": 1590000000,
      "description": "The time the reply was created. If not provided, the current time will be used."
    },
    "message_type": {
      "enum": [
        "comment",
        "note"
      ],
      "type": "string"
    },
    "attachment_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "maxItems": 10,
      "description": "A list of image URLs that will be added as attachments. You can include up to 10 URLs."
    },
    "attachment_files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/conversation_attachment_files"
      },
      "maxItems": 10,
      "description": "A list of files that will be added as attachments. You can include up to 10 files"
    }
  },
  "description": "Payload of the request to reply on behalf of an admin"
}
object admin_with_app
{
  "type": "object",
  "title": "Admin",
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the admin."
    },
    "app": {
      "$ref": "#/components/schemas/app",
      "nullable": true,
      "description": "App that the admin belongs to."
    },
    "name": {
      "type": "string",
      "example": "Hoban Washburne",
      "description": "The name of the admin."
    },
    "type": {
      "type": "string",
      "example": "admin",
      "description": "String representing the object's type. Always has the value `admin`."
    },
    "email": {
      "type": "string",
      "example": "wash@serenity.io",
      "description": "The email of the admin."
    },
    "avatar": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "default": "avatar",
          "example": "avatar",
          "description": "This is a string that identifies the type of the object. It will always have the value `avatar`."
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "example": "https://example.com/avatar.png",
          "nullable": true,
          "description": "This object represents the avatar associated with the admin."
        }
      },
      "description": "This object represents the avatar associated with the admin."
    },
    "team_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        814865
      ],
      "description": "This is a list of ids of the teams that this admin is part of."
    },
    "job_title": {
      "type": "string",
      "example": "Philosopher",
      "description": "The job title of the admin."
    },
    "email_verified": {
      "type": "boolean",
      "example": true,
      "nullable": true,
      "description": "Identifies if this admin's email is verified."
    },
    "has_inbox_seat": {
      "type": "boolean",
      "example": true,
      "description": "Identifies if this admin has a paid inbox seat to restrict/allow features that require them."
    },
    "away_mode_enabled": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this admin is currently set in away mode."
    },
    "away_mode_reassign": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this admin is set to automatically reassign new conversations to the apps default inbox."
    }
  },
  "description": "Admins are the teammate accounts that have access to a workspace"
}
object app
{
  "type": "object",
  "title": "App",
  "nullable": true,
  "properties": {
    "name": {
      "type": "string",
      "example": "ACME",
      "description": "The name of the app."
    },
    "type": {
      "type": "string",
      "default": "app",
      "example": "app",
      "description": ""
    },
    "region": {
      "type": "string",
      "example": "US",
      "description": "The Intercom region the app is located in."
    },
    "id_code": {
      "type": "string",
      "example": "xyz789",
      "description": "The id of the app."
    },
    "timezone": {
      "type": "string",
      "example": "America/Los_Angeles",
      "description": "The timezone of the region where the app is located."
    },
    "created_at": {
      "type": "integer",
      "example": 1671465577,
      "description": "When the app was created."
    },
    "identity_verification": {
      "type": "boolean",
      "example": false,
      "description": "Whether or not the app uses identity verification."
    }
  },
  "description": "App is a workspace on Intercom"
}
object article_content
{
  "type": "object",
  "title": "Article Content",
  "nullable": true,
  "properties": {
    "url": {
      "type": "string",
      "example": "http://intercom.test/help/en/articles/3-default-language",
      "description": "The URL of the article."
    },
    "body": {
      "type": "string",
      "example": "This is the body of the article.",
      "description": "The body of the article."
    },
    "type": {
      "enum": [
        null,
        "article_content"
      ],
      "type": "string",
      "example": "article_content",
      "nullable": true,
      "description": "The type of object - `article_content` ."
    },
    "state": {
      "enum": [
        "published",
        "draft"
      ],
      "type": "string",
      "example": "draft",
      "description": "Whether the article is `published` or is a `draft` ."
    },
    "title": {
      "type": "string",
      "example": "How to create a new article",
      "description": "The title of the article."
    },
    "author_id": {
      "type": "integer",
      "example": 5017691,
      "description": "The ID of the author of the article."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time when the article was created (seconds)."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The time when the article was last updated (seconds)."
    },
    "description": {
      "type": "string",
      "example": "This article will show you how to create a new article.",
      "description": "The description of the article."
    }
  },
  "description": "The Content of an Article."
}
object article_list
{
  "type": "object",
  "title": "Articles",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/article_list_item"
      },
      "description": "An array of Article objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object - `list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 1,
      "description": "A count of the total number of articles."
    }
  },
  "description": "This will return a list of articles for the App."
}
object article_list_item
{
  "type": "object",
  "title": "Articles",
  "x-tags": [
    "Articles"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "6871119",
      "description": "The unique identifier for the article which is given by Intercom."
    },
    "url": {
      "type": "string",
      "example": "http://intercom.test/help/en/articles/3-default-language",
      "nullable": true,
      "description": "The URL of the article. For multilingual articles, this will be the URL of the default language's content."
    },
    "body": {
      "type": "string",
      "example": "Default language body in html",
      "nullable": true,
      "description": "The body of the article in HTML. For multilingual articles, this will be the body of the default language's content."
    },
    "type": {
      "enum": [
        "article"
      ],
      "type": "string",
      "default": "article",
      "example": "article",
      "description": "The type of object - `article`."
    },
    "state": {
      "enum": [
        "published",
        "draft"
      ],
      "type": "string",
      "default": "draft",
      "example": "published",
      "description": "Whether the article is `published` or is a `draft`. For multilingual articles, this will be the state of the default language's content."
    },
    "title": {
      "type": "string",
      "example": "Default language title",
      "description": "The title of the article. For multilingual articles, this will be the title of the default language's content."
    },
    "author_id": {
      "type": "integer",
      "example": 5017691,
      "description": "The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace."
    },
    "parent_id": {
      "type": "integer",
      "example": 125685,
      "nullable": true,
      "description": "The id of the article's parent collection or section. An article without this field stands alone."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928359,
      "description": "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."
    },
    "parent_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        18,
        19
      ],
      "description": "The ids of the article's parent collections or sections. An article without this field stands alone."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928610,
      "description": "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."
    },
    "description": {
      "type": "string",
      "example": "Default language description",
      "nullable": true,
      "description": "The description of the article. For multilingual articles, this will be the description of the default language's content."
    },
    "parent_type": {
      "type": "string",
      "example": "collection",
      "nullable": true,
      "description": "The type of parent, which can either be a `collection` or `section`."
    },
    "workspace_id": {
      "type": "string",
      "example": "hfi1bx4l",
      "description": "The id of the workspace which the article belongs to."
    },
    "default_locale": {
      "type": "string",
      "example": "en",
      "description": "The default locale of the help center. This field is only returned for multilingual help centers."
    },
    "translated_content": {
      "$ref": "#/components/schemas/article_translated_content",
      "nullable": true
    }
  },
  "description": "The data returned about your articles when you list them."
}
object article_statistics
{
  "type": "object",
  "title": "Article Statistics",
  "nullable": true,
  "properties": {
    "type": {
      "enum": [
        "article_statistics"
      ],
      "type": "string",
      "default": "article_statistics",
      "example": "article_statistics",
      "description": "The type of object - `article_statistics`."
    },
    "views": {
      "type": "integer",
      "example": 10,
      "description": "The number of total views the article has received."
    },
    "reactions": {
      "type": "integer",
      "example": 10,
      "description": "The number of total reactions the article has received."
    },
    "conversions": {
      "type": "integer",
      "example": 0,
      "description": "The number of conversations started from the article."
    },
    "sad_reaction_percentage": {
      "type": "number",
      "format": "float",
      "example": 20,
      "description": "The percentage of sad reactions the article has received against other types of reaction."
    },
    "happy_reaction_percentage": {
      "type": "number",
      "format": "float",
      "example": 40,
      "description": "The percentage of happy reactions the article has received against other types of reaction."
    },
    "neutral_reaction_percentage": {
      "type": "number",
      "format": "float",
      "example": 40,
      "description": "The percentage of neutral reactions the article has received against other types of reaction."
    }
  },
  "description": "The statistics of an article."
}
object article_translated_content
{
  "type": "object",
  "title": "Article Translated Content",
  "nullable": true,
  "properties": {
    "ar": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Arabic"
    },
    "bg": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Bulgarian"
    },
    "bs": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Bosnian"
    },
    "ca": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Catalan"
    },
    "cs": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Czech"
    },
    "da": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Danish"
    },
    "de": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in German"
    },
    "el": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Greek"
    },
    "en": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in English"
    },
    "es": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Spanish"
    },
    "et": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Estonian"
    },
    "fi": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Finnish"
    },
    "fr": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in French"
    },
    "he": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Hebrew"
    },
    "hr": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Croatian"
    },
    "hu": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Hungarian"
    },
    "id": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Indonesian"
    },
    "it": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Italian"
    },
    "ja": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Japanese"
    },
    "ko": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Korean"
    },
    "lt": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Lithuanian"
    },
    "lv": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Latvian"
    },
    "mn": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Mongolian"
    },
    "nb": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Norwegian"
    },
    "nl": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Dutch"
    },
    "pl": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Polish"
    },
    "pt": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Portuguese (Portugal)"
    },
    "ro": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Romanian"
    },
    "ru": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Russian"
    },
    "sl": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Slovenian"
    },
    "sr": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Serbian"
    },
    "sv": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Swedish"
    },
    "tr": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Turkish"
    },
    "vi": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Vietnamese"
    },
    "type": {
      "enum": [
        null,
        "article_translated_content"
      ],
      "type": "string",
      "example": "article_translated_content",
      "nullable": true,
      "description": "The type of object - article_translated_content."
    },
    "pt-BR": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Portuguese (Brazil)"
    },
    "zh-CN": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Chinese (China)"
    },
    "zh-TW": {
      "$ref": "#/components/schemas/article_content",
      "description": "The content of the article in Chinese (Taiwan)"
    }
  },
  "description": "The Translated Content of an Article. The keys are the locale codes and the values are the translated content of the article."
}
object assign_conversation_request
{
  "type": "object",
  "title": "Assign Conversation Request",
  "required": [
    "message_type",
    "type",
    "admin_id",
    "assignee_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "Let me pass you over to one of my colleagues.",
      "description": "Optionally you can send a response in the conversation when it is assigned."
    },
    "type": {
      "enum": [
        "admin",
        "team"
      ],
      "type": "string",
      "example": "admin"
    },
    "admin_id": {
      "type": "string",
      "example": "12345",
      "description": "The id of the admin who is performing the action."
    },
    "assignee_id": {
      "type": "string",
      "example": "4324241",
      "description": "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)."
    },
    "message_type": {
      "enum": [
        "assignment"
      ],
      "type": "string",
      "example": "assignment"
    }
  },
  "description": "Payload of the request to assign a conversation"
}
object attach_contact_to_conversation_request
{
  "type": "object",
  "title": "Assign Conversation Request",
  "properties": {
    "admin_id": {
      "type": "string",
      "example": "12345",
      "description": "The `id` of the admin who is adding the new participant."
    },
    "customer": {
      "type": "object",
      "oneOf": [
        {
          "title": "Intercom User ID",
          "required": [
            "intercom_user_id"
          ],
          "properties": {
            "customer": {
              "$ref": "#/components/schemas/customer_request"
            },
            "intercom_user_id": {
              "type": "string",
              "example": "6329bd9ffe4e2e91dac76188",
              "description": "The identifier for the contact as given by Intercom."
            }
          }
        },
        {
          "title": "User ID",
          "required": [
            "user_id"
          ],
          "properties": {
            "user_id": {
              "type": "string",
              "example": "6329bd9ffe4e2e91dac76188",
              "description": "The external_id you have defined for the contact who is being added as a participant."
            },
            "customer": {
              "$ref": "#/components/schemas/customer_request"
            }
          }
        },
        {
          "title": "Email",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "example": "winstonsmith@truth.org",
              "description": "The email you have defined for the contact who is being added as a participant."
            },
            "customer": {
              "$ref": "#/components/schemas/customer_request"
            }
          }
        }
      ]
    }
  },
  "description": "Payload of the request to assign a conversation"
}
object close_conversation_request
{
  "type": "object",
  "title": "Close Conversation Request",
  "required": [
    "message_type",
    "type",
    "admin_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": " This conversation is now closed!",
      "description": "Optionally you can leave a message in the conversation to provide additional context to the user and other teammates."
    },
    "type": {
      "enum": [
        "admin"
      ],
      "type": "string",
      "example": "admin"
    },
    "admin_id": {
      "type": "string",
      "example": "12345",
      "description": "The id of the admin who is performing the action."
    },
    "message_type": {
      "enum": [
        "close"
      ],
      "type": "string",
      "example": "close"
    }
  },
  "description": "Payload of the request to close a conversation"
}
object collection
{
  "type": "object",
  "title": "Collection",
  "x-tags": [
    "Help Center"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "6871119",
      "description": "The unique identifier for the collection which is given by Intercom."
    },
    "url": {
      "type": "string",
      "example": "http://intercom.test/help/collection/name",
      "nullable": true,
      "description": "The URL of the collection. For multilingual help centers, this will be the URL of the collection for the default language."
    },
    "icon": {
      "type": "string",
      "example": "book-bookmark",
      "nullable": true,
      "description": "The icon of the collection."
    },
    "name": {
      "type": "string",
      "example": "Default language name",
      "description": "The name of the collection. For multilingual collections, this will be the name of the default language's content."
    },
    "type": {
      "enum": [
        "collection"
      ],
      "type": "string",
      "default": "collection",
      "example": "collection",
      "description": "The type of object - `collection`."
    },
    "order": {
      "type": "integer",
      "example": 1,
      "description": "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."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928359,
      "description": "The time when the article was created (seconds). For multilingual articles, this will be the timestamp of creation of the default language's content."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928610,
      "description": "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."
    },
    "description": {
      "type": "string",
      "example": "Default language description",
      "nullable": true,
      "description": "The description of the collection. For multilingual help centers, this will be the description of the collection for the default language."
    },
    "workspace_id": {
      "type": "string",
      "example": "hfi1bx4l",
      "description": "The id of the workspace which the collection belongs to."
    },
    "default_locale": {
      "type": "string",
      "example": "en",
      "description": "The default locale of the help center. This field is only returned for multilingual help centers."
    },
    "help_center_id": {
      "type": "integer",
      "example": 123,
      "nullable": true,
      "description": "The id of the help center the collection is in."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "Collections are top level containers for Articles within the Help Center."
}
object collection_list
{
  "type": "object",
  "title": "Collections",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/collection"
      },
      "description": "An array of collection objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object - `list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 1,
      "description": "A count of the total number of collections."
    }
  },
  "description": "This will return a list of Collections for the App."
}
object company
{
  "type": "object",
  "title": "Company",
  "x-tags": [
    "Companies"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "531ee472cce572a6ec000006",
      "description": "The Intercom defined id representing the company."
    },
    "name": {
      "type": "string",
      "example": "Blue Sun",
      "description": "The name of the company."
    },
    "plan": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "269315",
          "description": "The id of the plan"
        },
        "name": {
          "type": "string",
          "example": "Pro",
          "description": "The name of the plan"
        },
        "type": {
          "type": "string",
          "example": "plan",
          "description": "Value is always \"plan\""
        }
      }
    },
    "size": {
      "type": "integer",
      "example": 100,
      "description": "The number of employees in the company."
    },
    "tags": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "items": {
              "$ref": "#/components/schemas/tag"
            }
          }
        },
        "type": {
          "enum": [
            "tag.list"
          ],
          "type": "string",
          "description": "The type of the object"
        }
      },
      "description": "The list of tags associated with the company"
    },
    "type": {
      "enum": [
        "company"
      ],
      "type": "string",
      "example": "company",
      "description": "Value is `company`"
    },
    "app_id": {
      "type": "string",
      "example": "ecahpwf5",
      "description": "The Intercom defined code of the workspace the company is associated to."
    },
    "website": {
      "type": "string",
      "example": "https://www.intercom.com",
      "description": "The URL for the company website."
    },
    "industry": {
      "type": "string",
      "example": "Software",
      "description": "The industry that the company operates in."
    },
    "segments": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "segment.list"
          ],
          "type": "string",
          "description": "The type of the object"
        },
        "segments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/segment"
          }
        }
      },
      "description": "The list of segments associated with the company"
    },
    "company_id": {
      "type": "string",
      "example": "6",
      "description": "The company id you have defined for the company."
    },
    "created_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the company was added in Intercom."
    },
    "updated_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The last time the company was updated."
    },
    "user_count": {
      "type": "integer",
      "example": 100,
      "description": "The number of users in the company."
    },
    "monthly_spend": {
      "type": "integer",
      "example": 100,
      "description": "How much revenue the company generates for your business."
    },
    "session_count": {
      "type": "integer",
      "example": 100,
      "description": "How many sessions the company has recorded."
    },
    "last_request_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the company last recorded making a request."
    },
    "custom_attributes": {
      "type": "object",
      "example": {
        "team_mates": 9,
        "monthly_spend": 155.5,
        "paid_subscriber": true
      },
      "description": "The custom attributes you have set on the company.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "remote_created_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the company was created by you."
    }
  },
  "description": "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."
}
object company_attached_contacts
{
  "type": "object",
  "title": "Company Attached Contacts",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/contact"
      },
      "description": "An array containing Contact Objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object - `list`"
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "The total number of contacts"
    }
  },
  "description": "A list of Contact Objects"
}
object company_attached_segments
{
  "type": "object",
  "title": "Company Attached Segments",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/segment"
      },
      "description": "An array containing Segment Objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object - `list`"
    }
  },
  "description": "A list of Segment Objects"
}
object company_list
{
  "type": "object",
  "title": "Companies",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/company"
      },
      "description": "An array containing Company Objects."
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object - `list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "The total number of companies."
    }
  },
  "description": "This will return a list of companies for the App."
}
object company_scroll
{
  "type": "object",
  "title": "Company Scroll",
  "nullable": true,
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/company"
      }
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object - `list`"
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "nullable": true,
      "description": "The total number of companies"
    },
    "scroll_param": {
      "type": "string",
      "example": "25b649f7-4d33-4ef6-88f5-60e5b8244309",
      "description": "The scroll parameter to use in the next request to fetch the next page of results."
    }
  },
  "description": "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."
}
object contact
{
  "type": "object",
  "title": "Contact",
  "x-tags": [
    "Contacts"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact which is given by Intercom."
    },
    "os": {
      "type": "string",
      "example": "Mac OS X",
      "nullable": true,
      "description": "The operating system which the contact is using."
    },
    "name": {
      "type": "string",
      "example": "John Doe",
      "nullable": true,
      "description": "The contacts name."
    },
    "role": {
      "type": "string",
      "example": "user",
      "description": "The role of the contact."
    },
    "tags": {
      "$ref": "#/components/schemas/contact_tags"
    },
    "type": {
      "type": "string",
      "example": "contact",
      "description": "The type of object."
    },
    "email": {
      "type": "string",
      "example": "joe@example.com",
      "description": "The contact's email."
    },
    "notes": {
      "$ref": "#/components/schemas/contact_notes"
    },
    "phone": {
      "type": "string",
      "example": "+1123456789",
      "nullable": true,
      "description": "The contacts phone."
    },
    "avatar": {
      "type": "object",
      "nullable": true,
      "properties": {
        "type": {
          "type": "string",
          "example": "avatar",
          "description": "The type of object"
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "example": "https://example.org/128Wash.jpg",
          "nullable": true,
          "description": "An image URL containing the avatar of a contact."
        }
      }
    },
    "browser": {
      "type": "string",
      "example": "Chrome",
      "nullable": true,
      "description": "The name of the browser which the contact is using."
    },
    "location": {
      "$ref": "#/components/schemas/contact_location"
    },
    "owner_id": {
      "type": "integer",
      "example": 123,
      "nullable": true,
      "description": "The id of an admin that has been assigned account ownership of the contact."
    },
    "companies": {
      "$ref": "#/components/schemas/contact_companies"
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "description": "(UNIX timestamp) The time when the contact was created."
    },
    "ios_device": {
      "type": "string",
      "example": "iPhone 11",
      "nullable": true,
      "description": "The iOS device which the contact is using."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "description": "(UNIX timestamp) The time when the contact was last updated."
    },
    "external_id": {
      "type": "string",
      "example": "f3b87a2e09d514c6c2e79b9a",
      "nullable": true,
      "description": "The unique identifier for the contact which is provided by the Client."
    },
    "email_domain": {
      "type": "string",
      "example": "example.com",
      "description": "The contact's email domain."
    },
    "ios_app_name": {
      "type": "string",
      "example": "Intercom",
      "nullable": true,
      "description": "The name of the iOS app which the contact is using."
    },
    "last_seen_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually)."
    },
    "signed_up_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time specified for when a contact signed up."
    },
    "workspace_id": {
      "type": "string",
      "example": "ecahpwf5",
      "description": "The id of the workspace which the contact belongs to."
    },
    "android_device": {
      "type": "string",
      "example": "Pixel 3",
      "nullable": true,
      "description": "The Android device which the contact is using."
    },
    "ios_os_version": {
      "type": "string",
      "example": "13.3.1",
      "nullable": true,
      "description": "The version of iOS which the contact is using."
    },
    "browser_version": {
      "type": "string",
      "example": "80.0.3987.132",
      "nullable": true,
      "description": "The version of the browser which the contact is using."
    },
    "formatted_phone": {
      "type": "string",
      "example": "+1123456789",
      "nullable": true,
      "description": "The contacts phone number normalized to the E164 format"
    },
    "ios_app_version": {
      "type": "string",
      "example": "5.0.0",
      "nullable": true,
      "description": "The version of the iOS app which the contact is using."
    },
    "ios_sdk_version": {
      "type": "string",
      "example": "13.3.1",
      "nullable": true,
      "description": "The version of the iOS SDK which the contact is using."
    },
    "last_replied_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact last messaged in."
    },
    "social_profiles": {
      "$ref": "#/components/schemas/contact_social_profiles"
    },
    "android_app_name": {
      "type": "string",
      "example": "Intercom",
      "nullable": true,
      "description": "The name of the Android app which the contact is using."
    },
    "browser_language": {
      "type": "string",
      "example": "en-US",
      "nullable": true,
      "description": "The language set by the browser which the contact is using."
    },
    "has_hard_bounced": {
      "type": "boolean",
      "example": true,
      "description": "Whether the contact has had an email sent to them hard bounce."
    },
    "ios_last_seen_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The last time the contact used the iOS app."
    },
    "custom_attributes": {
      "type": "object",
      "description": "The custom attributes which are set for the contact."
    },
    "language_override": {
      "type": "string",
      "example": "en",
      "nullable": true,
      "description": "A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change."
    },
    "last_contacted_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact was last messaged."
    },
    "android_os_version": {
      "type": "string",
      "example": "10",
      "nullable": true,
      "description": "The version of the Android OS which the contact is using."
    },
    "android_app_version": {
      "type": "string",
      "example": "5.0.0",
      "nullable": true,
      "description": "The version of the Android app which the contact is using."
    },
    "android_sdk_version": {
      "type": "string",
      "example": "28",
      "nullable": true,
      "description": "The version of the Android SDK which the contact is using."
    },
    "android_last_seen_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact was last seen on an Android device."
    },
    "last_email_opened_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact last opened an email."
    },
    "marked_email_as_spam": {
      "type": "boolean",
      "example": true,
      "description": "Whether the contact has marked an email sent to them as spam."
    },
    "last_email_clicked_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "(UNIX timestamp) The time when the contact last clicked a link in an email."
    },
    "unsubscribed_from_emails": {
      "type": "boolean",
      "example": true,
      "description": "Whether the contact is unsubscribed from emails."
    }
  },
  "description": "Contact are the objects that represent your leads and users in Intercom."
}
object contact_archived
{
  "type": "object",
  "title": "Contact Archived",
  "properties": {
    "id": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact which is given by Intercom."
    },
    "type": {
      "enum": [
        "contact"
      ],
      "type": "string",
      "example": "contact",
      "description": "always contact"
    },
    "archived": {
      "type": "boolean",
      "example": true,
      "description": "Whether the contact is archived or not."
    },
    "external_id": {
      "type": "string",
      "example": "f3b87a2e09d514c6c2e79b9a",
      "nullable": true,
      "description": "The unique identifier for the contact which is provided by the Client."
    }
  },
  "description": "archived contact object"
}
object contact_attached_companies
{
  "type": "object",
  "title": "Contact Attached Companies",
  "properties": {
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object"
    },
    "pages": {
      "$ref": "#/components/schemas/pages_link"
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/company"
      },
      "description": "An array containing Company Objects"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "The total number of companies associated to this contact"
    }
  },
  "description": "A list of Company Objects"
}
object contact_companies
{
  "type": "object",
  "title": "Contact companies",
  "nullable": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "/contacts/5ba682d23d7cf92bef87bfd4/companies",
      "description": "Url to get more company resources for this contact"
    },
    "has_more": {
      "type": "boolean",
      "example": true,
      "description": "Whether there's more Addressable Objects to be viewed. If true, use the url to view all"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "Int representing the total number of companyies attached to this contact"
    }
  },
  "description": "An object containing companies meta data about the companies that a contact has. Up to 10 will be displayed here. Use the url to get more."
}
object contact_deleted
{
  "type": "object",
  "title": "Contact Deleted",
  "properties": {
    "id": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact which is given by Intercom."
    },
    "type": {
      "enum": [
        "contact"
      ],
      "type": "string",
      "example": "contact",
      "description": "always contact"
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the contact is deleted or not."
    },
    "external_id": {
      "type": "string",
      "example": "f3b87a2e09d514c6c2e79b9a",
      "nullable": true,
      "description": "The unique identifier for the contact which is provided by the Client."
    }
  },
  "description": "deleted contact object"
}
object contact_list
{
  "type": "object",
  "title": "Contact List",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/contact"
      },
      "description": "The list of contact objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "Always list"
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "A count of the total number of objects."
    }
  },
  "description": "Contacts are your users in Intercom."
}
object contact_location
{
  "type": "object",
  "title": "Contact Location",
  "nullable": false,
  "properties": {
    "city": {
      "type": "string",
      "example": "Dublin",
      "nullable": true,
      "description": "The city that the contact is located in"
    },
    "type": {
      "type": "string",
      "example": "location",
      "nullable": true,
      "description": "Always location"
    },
    "region": {
      "type": "string",
      "example": "Dublin",
      "nullable": true,
      "description": "The overal region that the contact is located in"
    },
    "country": {
      "type": "string",
      "example": "Ireland",
      "nullable": true,
      "description": "The country that the contact is located in"
    }
  },
  "description": "An object containing location meta data about a Intercom contact."
}
object contact_notes
{
  "type": "object",
  "title": "Contact notes",
  "nullable": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "/contacts/5ba682d23d7cf92bef87bfd4/notes",
      "description": "Url to get more company resources for this contact"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/addressable_list"
      },
      "description": "This object represents the notes attached to a contact."
    },
    "has_more": {
      "type": "boolean",
      "example": true,
      "description": "Whether there's more Addressable Objects to be viewed. If true, use the url to view all"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "Int representing the total number of companyies attached to this contact"
    }
  },
  "description": "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."
}
object contact_reference
{
  "type": "object",
  "title": "Contact Reference",
  "properties": {
    "id": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact which is given by Intercom."
    },
    "type": {
      "enum": [
        "contact"
      ],
      "type": "string",
      "example": "contact",
      "description": "always contact"
    },
    "external_id": {
      "type": "string",
      "example": "f3b87a2e09d514c6c2e79b9a",
      "nullable": true,
      "description": "The unique identifier for the contact which is provided by the Client."
    }
  },
  "description": "reference to contact object"
}
object contact_reply_base_request
{
  "type": "object",
  "title": "Contact Reply Base Object",
  "required": [
    "message_type",
    "type",
    "body"
  ],
  "properties": {
    "body": {
      "type": "string",
      "description": "The text body of the comment."
    },
    "type": {
      "enum": [
        "user"
      ],
      "type": "string"
    },
    "message_type": {
      "enum": [
        "comment"
      ],
      "type": "string"
    },
    "attachment_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "title": "Attachment URLs",
      "maxItems": 10,
      "description": "A list of image URLs that will be added as attachments. You can include up to 10 URLs."
    }
  }
}
object contact_reply_conversation_request
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/contact_reply_base_request"
    },
    {
      "$ref": "#/components/schemas/contact_reply_base_request"
    },
    {
      "$ref": "#/components/schemas/contact_reply_base_request"
    }
  ],
  "title": "Contact Reply"
}
object contact_segments
{
  "type": "object",
  "title": "Segments",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/segment"
      },
      "description": "Segment objects associated with the contact."
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object"
    }
  },
  "description": "A list of segments objects attached to a specific contact."
}
object contact_social_profiles
{
  "type": "object",
  "title": "Social Profile",
  "nullable": false,
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/social_profile"
      },
      "description": "A list of social profiles objects associated with the contact."
    }
  },
  "description": "An object containing social profiles that a contact has."
}
object contact_subscription_types
{
  "type": "object",
  "title": "Contact Subscription Types",
  "nullable": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "/contacts/5ba682d23d7cf92bef87bfd4/subscriptions",
      "description": "Url to get more subscription type resources for this contact"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/addressable_list"
      },
      "description": "This object represents the subscriptions attached to a contact."
    },
    "has_more": {
      "type": "boolean",
      "example": true,
      "description": "Whether there's more Addressable Objects to be viewed. If true, use the url to view all"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "Int representing the total number of subscription types attached to this contact"
    }
  },
  "description": "An object containing Subscription Types meta data about the SubscriptionTypes that a contact has."
}
object contact_tags
{
  "type": "object",
  "title": "Contact Tags",
  "nullable": true,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "/contacts/5ba682d23d7cf92bef87bfd4/tags",
      "description": "url to get more tag resources for this contact"
    },
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/addressable_list"
      },
      "description": "This object represents the tags attached to a contact."
    },
    "has_more": {
      "type": "boolean",
      "example": true,
      "description": "Whether there's more Addressable Objects to be viewed. If true, use the url to view all"
    },
    "total_count": {
      "type": "integer",
      "example": 100,
      "description": "Int representing the total number of tags attached to this contact"
    }
  },
  "description": "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."
}
object contact_unarchived
{
  "type": "object",
  "title": "Contact Unarchived",
  "properties": {
    "id": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact which is given by Intercom."
    },
    "type": {
      "enum": [
        "contact"
      ],
      "type": "string",
      "example": "contact",
      "description": "always contact"
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Whether the contact is archived or not."
    },
    "external_id": {
      "type": "string",
      "example": "f3b87a2e09d514c6c2e79b9a",
      "nullable": true,
      "description": "The unique identifier for the contact which is provided by the Client."
    }
  },
  "description": "unarchived contact object"
}
object conversation
{
  "type": "object",
  "title": "Conversation",
  "x-tags": [
    "Conversations"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the conversation."
    },
    "open": {
      "type": "boolean",
      "example": true,
      "description": "Indicates whether a conversation is open (true) or closed (false)."
    },
    "read": {
      "type": "boolean",
      "example": true,
      "description": "Indicates whether a conversation has been read."
    },
    "tags": {
      "$ref": "#/components/schemas/tags"
    },
    "type": {
      "type": "string",
      "example": "conversation",
      "description": "Always conversation."
    },
    "state": {
      "enum": [
        "open",
        "closed",
        "snoozed"
      ],
      "type": "string",
      "example": "open",
      "description": "Can be set to \"open\", \"closed\" or \"snoozed\"."
    },
    "title": {
      "type": "string",
      "example": "Conversation Title",
      "nullable": true,
      "description": "The title given to the conversation."
    },
    "source": {
      "$ref": "#/components/schemas/conversation_source"
    },
    "contacts": {
      "$ref": "#/components/schemas/conversation_contacts"
    },
    "priority": {
      "enum": [
        "priority",
        "not_priority"
      ],
      "type": "string",
      "example": "priority",
      "description": "If marked as priority, it will return priority or else not_priority."
    },
    "teammates": {
      "$ref": "#/components/schemas/conversation_teammates"
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time the conversation was created."
    },
    "statistics": {
      "$ref": "#/components/schemas/conversation_statistics"
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The last time the conversation was updated."
    },
    "sla_applied": {
      "$ref": "#/components/schemas/sla_applied"
    },
    "snoozed_until": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "nullable": true,
      "description": "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."
    },
    "waiting_since": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "nullable": true,
      "description": "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."
    },
    "team_assignee_id": {
      "type": "string",
      "example": "5017691",
      "nullable": true,
      "description": "The id of the team assigned to the conversation. If it's not assigned to a team it will return null."
    },
    "admin_assignee_id": {
      "type": "integer",
      "example": 0,
      "nullable": true,
      "description": "The id of the admin assigned to the conversation. If it's not assigned to an admin it will return null."
    },
    "custom_attributes": {
      "$ref": "#/components/schemas/custom_attributes"
    },
    "conversation_parts": {
      "$ref": "#/components/schemas/conversation_parts"
    },
    "conversation_rating": {
      "$ref": "#/components/schemas/conversation_rating"
    },
    "first_contact_reply": {
      "$ref": "#/components/schemas/conversation_first_contact_reply"
    }
  },
  "description": "Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact."
}
object conversation_attachment_files
{
  "type": "object",
  "title": "Conversation attachment files",
  "properties": {
    "data": {
      "type": "string",
      "example": "ewogICJ0ZXN0IjogMQp9",
      "description": "The base64 encoded file data."
    },
    "name": {
      "type": "string",
      "example": "test.json",
      "description": "The name of the file."
    },
    "content_type": {
      "type": "string",
      "example": "application/json",
      "description": "The content type of the file"
    }
  },
  "description": "Properties of the attachment files in a conversation part"
}
object conversation_contacts
{
  "type": "object",
  "title": "Contacts",
  "properties": {
    "type": {
      "enum": [
        "contact.list"
      ],
      "type": "string",
      "example": "contact.list",
      "description": ""
    },
    "contacts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/contact_reference"
      },
      "description": "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."
    }
  },
  "description": "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."
}
object conversation_first_contact_reply
{
  "type": "object",
  "title": "First contact reply",
  "nullable": true,
  "properties": {
    "url": {
      "type": "string",
      "example": "https://developers.intercom.com/",
      "nullable": true,
      "description": ""
    },
    "type": {
      "type": "string",
      "example": "conversation",
      "description": ""
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": ""
    }
  },
  "description": "An object containing information on the first users message. For a contact initiated message this will represent the users original message."
}
object conversation_list
{
  "type": "object",
  "title": "Conversation List",
  "properties": {
    "type": {
      "enum": [
        "conversation.list"
      ],
      "type": "string",
      "example": "conversation.list",
      "description": "Always conversation.list"
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 12345,
      "description": "A count of the total number of objects."
    },
    "conversations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/conversation"
      },
      "description": "The list of conversation objects"
    }
  },
  "description": "Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact."
}
object conversation_part
{
  "type": "object",
  "title": "Conversation Part",
  "properties": {
    "id": {
      "type": "string",
      "example": "3",
      "description": "The id representing the conversation part."
    },
    "body": {
      "type": "string",
      "example": "<p>Okay!</p>",
      "nullable": true,
      "description": "The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured."
    },
    "type": {
      "type": "string",
      "example": "conversation_part",
      "description": "Always conversation_part"
    },
    "author": {
      "$ref": "#/components/schemas/conversation_part_author"
    },
    "redacted": {
      "type": "boolean",
      "example": false,
      "description": "Whether or not the conversation part has been redacted."
    },
    "part_type": {
      "type": "string",
      "example": "comment",
      "description": "The type of conversation part."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time the conversation part was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The last time the conversation part was updated."
    },
    "assigned_to": {
      "$ref": "#/components/schemas/reference",
      "nullable": true,
      "description": "The id of the admin that was assigned the conversation by this conversation_part (null if there has been no change in assignment.)"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/part_attachment"
      },
      "title": "Conversation part attachments",
      "description": "A list of attachments for the part."
    },
    "external_id": {
      "type": "string",
      "example": "abcd1234",
      "nullable": true,
      "description": "The external id of the conversation part"
    },
    "notified_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The time the user was notified with the conversation part."
    }
  },
  "description": "A Conversation Part represents a message in the conversation."
}
object conversation_part_author
{
  "type": "object",
  "title": "Conversation part author",
  "properties": {
    "id": {
      "type": "string",
      "example": "274",
      "description": "The id of the author"
    },
    "name": {
      "type": "string",
      "example": "Operator",
      "description": "The name of the author"
    },
    "type": {
      "type": "string",
      "example": "admin",
      "description": "The type of the author"
    },
    "email": {
      "type": "string",
      "format": "email",
      "example": "operator+abcd1234@intercom.io",
      "description": "The email of the author"
    }
  },
  "description": "The object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank."
}
object conversation_parts
{
  "type": "object",
  "title": "Conversation Parts",
  "properties": {
    "type": {
      "enum": [
        "conversation_part.list"
      ],
      "type": "string",
      "example": "conversation_part.list",
      "description": ""
    },
    "total_count": {
      "type": "integer",
      "example": 2,
      "description": ""
    },
    "conversation_parts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/conversation_part"
      },
      "title": "Conversation Parts",
      "description": "A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts."
    }
  },
  "description": "A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts."
}
object conversation_rating
{
  "type": "object",
  "title": "Conversation Rating",
  "nullable": true,
  "properties": {
    "rating": {
      "type": "integer",
      "example": 5,
      "description": "The rating, between 1 and 5, for the conversation."
    },
    "remark": {
      "type": "string",
      "example": "",
      "description": "An optional field to add a remark to correspond to the number rating"
    },
    "contact": {
      "$ref": "#/components/schemas/contact_reference"
    },
    "teammate": {
      "$ref": "#/components/schemas/reference"
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the rating was requested in the conversation being rated."
    }
  },
  "description": "The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation."
}
object conversation_source
{
  "type": "object",
  "title": "Conversation source",
  "properties": {
    "id": {
      "type": "string",
      "example": "3",
      "description": "The id representing the message."
    },
    "url": {
      "type": "string",
      "example": null,
      "nullable": true,
      "description": "The URL where the conversation was started. For Twitter, Email, and Bots, this will be blank."
    },
    "body": {
      "type": "string",
      "example": "<p>Hey there!</p>",
      "description": "The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured."
    },
    "type": {
      "type": "string",
      "example": "conversation",
      "description": "This includes conversation, email, facebook, instagram, phone_call, phone_switch, push, sms, twitter and whatsapp."
    },
    "author": {
      "$ref": "#/components/schemas/conversation_part_author"
    },
    "subject": {
      "type": "string",
      "example": "",
      "description": "Optional. The message subject. For Twitter, this will show a generic message regarding why the subject is obscured."
    },
    "redacted": {
      "type": "boolean",
      "example": false,
      "description": "Whether or not the source message has been redacted. Only applicable for contact initiated messages."
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/part_attachment"
      },
      "description": "A list of attachments for the part."
    },
    "delivered_as": {
      "type": "string",
      "example": "operator_initiated",
      "description": "The conversation's initiation type. Possible values are customer_initiated, campaigns_initiated (legacy campaigns), operator_initiated (Custom bot), automated (Series and other outbounds with dynamic audience message) and admin_initiated (fixed audience message, ticket initiated by an admin, group email)."
    }
  },
  "description": "The Conversation Part that originated this conversation, which can be Contact, Admin, Campaign, Automated or Operator initiated."
}
object conversation_statistics
{
  "type": "object",
  "title": "Conversation statistics",
  "nullable": true,
  "properties": {
    "type": {
      "type": "string",
      "example": "conversation_statistics",
      "description": ""
    },
    "count_reopens": {
      "type": "integer",
      "example": 1,
      "description": "Number of reopens after first_contact_reply_at."
    },
    "last_close_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of the last conversation close."
    },
    "first_close_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of first close after first_contact_reply_at."
    },
    "count_assignments": {
      "type": "integer",
      "example": 1,
      "description": "Number of assignments after first_contact_reply_at."
    },
    "last_closed_by_id": {
      "type": "string",
      "example": "c3po",
      "description": "The last admin who closed the conversation. Returns a reference to an Admin object."
    },
    "last_assignment_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of last assignment after first_contact_reply_at."
    },
    "time_to_assignment": {
      "type": "integer",
      "example": 2310,
      "description": "Duration until last assignment before first admin reply. In seconds."
    },
    "time_to_last_close": {
      "type": "integer",
      "example": 2310,
      "description": "Duration until conversation was closed last time. Subtracts out of business hours. In seconds."
    },
    "first_assignment_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of first assignment after first_contact_reply_at."
    },
    "last_admin_reply_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of the last conversation part from an admin."
    },
    "time_to_admin_reply": {
      "type": "integer",
      "example": 2310,
      "description": "Duration until first admin reply. Subtracts out of business hours. In seconds."
    },
    "time_to_first_close": {
      "type": "integer",
      "example": 2310,
      "description": "Duration until conversation was closed first time. Subtracts out of business hours. In seconds."
    },
    "first_admin_reply_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of first admin reply after first_contact_reply_at."
    },
    "median_time_to_reply": {
      "type": "integer",
      "example": 2310,
      "description": "Median based on all admin replies after a contact reply. Subtracts out of business hours. In seconds."
    },
    "last_contact_reply_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of the last conversation part from a contact."
    },
    "first_contact_reply_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of first text conversation part from a contact."
    },
    "count_conversation_parts": {
      "type": "integer",
      "example": 1,
      "description": "Total number of conversation parts."
    },
    "last_assignment_admin_reply_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597233,
      "description": "Time of first admin reply since most recent assignment."
    }
  },
  "description": "A Statistics object containing all information required for reporting, with timestamps and calculated metrics."
}
object conversation_teammates
{
  "type": "object",
  "title": "Conversation teammates",
  "nullable": true,
  "properties": {
    "type": {
      "type": "string",
      "example": "admin.list",
      "description": "The type of the object - `admin.list`."
    },
    "teammates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/reference"
      },
      "description": "The list of teammates who participated in the conversation (wrote at least one conversation part)."
    }
  },
  "description": "The list of teammates who participated in the conversation (wrote at least one conversation part)."
}
object convert_visitor_request
{
  "type": "object",
  "title": "Convert Visitor Request Payload",
  "required": [
    "type",
    "user",
    "visitor"
  ],
  "properties": {
    "type": {
      "type": "string",
      "example": "user",
      "description": "Represents the role of the Contact model. Accepts `lead` or `user`."
    },
    "user": {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "id"
          ]
        },
        {
          "required": [
            "user_id"
          ]
        }
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
          "description": "The unique identifier for the contact which is given by Intercom."
        },
        "email": {
          "type": "string",
          "example": "winstonsmith@truth.org",
          "description": "The contact's email, retained by default if one is present."
        },
        "user_id": {
          "type": "string",
          "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
          "description": "A unique identifier for the contact which is given to Intercom, which will be represented as external_id."
        }
      },
      "description": "The unique identifiers retained after converting or merging."
    },
    "visitor": {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "id"
          ]
        },
        {
          "required": [
            "user_id"
          ]
        },
        {
          "required": [
            "email"
          ]
        }
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
          "description": "The unique identifier for the contact which is given by Intercom."
        },
        "email": {
          "type": "string",
          "example": "winstonsmith@truth.org",
          "description": "The visitor's email."
        },
        "user_id": {
          "type": "string",
          "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
          "description": "A unique identifier for the contact which is given to Intercom."
        }
      },
      "description": "The unique identifiers to convert a single Visitor."
    }
  },
  "description": "You can merge a Visitor to a Contact of role type lead or user."
}
object create_article_request
{
  "type": "object",
  "title": "Create Article Request Payload",
  "nullable": true,
  "required": [
    "title",
    "author_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "<p>This is the body in html</p>",
      "description": "The content of the article. For multilingual articles, this will be the body of the default language's content."
    },
    "state": {
      "enum": [
        "published",
        "draft"
      ],
      "type": "string",
      "example": "draft",
      "description": "Whether the article will be `published` or will be a `draft`. Defaults to draft. For multilingual articles, this will be the state of the default language's content."
    },
    "title": {
      "type": "string",
      "example": "Thanks for everything",
      "description": "The title of the article.For multilingual articles, this will be the title of the default language's content."
    },
    "author_id": {
      "type": "integer",
      "example": 1295,
      "description": "The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace."
    },
    "parent_id": {
      "type": "integer",
      "example": 18,
      "description": "The id of the article's parent collection or section. An article without this field stands alone."
    },
    "description": {
      "type": "string",
      "example": "Description of the Article",
      "description": "The description of the article. For multilingual articles, this will be the description of the default language's content."
    },
    "parent_type": {
      "type": "string",
      "example": "collection",
      "description": "The type of parent, which can either be a `collection` or `section`."
    },
    "translated_content": {
      "$ref": "#/components/schemas/article_translated_content"
    }
  },
  "description": "You can create an Article"
}
object create_collection_request
{
  "type": "object",
  "title": "Create Collection Request Payload",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "collection 51",
      "description": "The name of the collection. For multilingual collections, this will be the name of the default language's content."
    },
    "description": {
      "type": "string",
      "example": "English description",
      "description": "The description of the collection. For multilingual collections, this will be the description of the default language's content."
    },
    "help_center_id": {
      "type": "integer",
      "example": 123,
      "nullable": true,
      "description": "The id of the help center where the collection will be created. If `null` then it will be created in the default help center."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "You can create a collection"
}
object create_contact_request
{
  "type": "object",
  "anyOf": [
    {
      "title": "Create contact with email",
      "required": [
        "email"
      ]
    },
    {
      "title": "Create contact with external_id",
      "required": [
        "external_id"
      ]
    },
    {
      "title": "Create contact with role",
      "required": [
        "role"
      ]
    }
  ],
  "title": "Create Contact Request Payload",
  "properties": {
    "name": {
      "type": "string",
      "example": "John Doe",
      "nullable": true,
      "description": "The contacts name"
    },
    "role": {
      "type": "string",
      "description": "The role of the contact."
    },
    "email": {
      "type": "string",
      "example": "jdoe@example.com",
      "description": "The contacts email"
    },
    "phone": {
      "type": "string",
      "example": "+353871234567",
      "nullable": true,
      "description": "The contacts phone"
    },
    "avatar": {
      "type": "string",
      "example": "https://www.example.com/avatar_image.jpg",
      "nullable": true,
      "description": "An image URL containing the avatar of a contact"
    },
    "owner_id": {
      "type": "integer",
      "example": 123,
      "nullable": true,
      "description": "The id of an admin that has been assigned account ownership of the contact"
    },
    "external_id": {
      "type": "string",
      "description": "A unique identifier for the contact which is given to Intercom"
    },
    "last_seen_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually)"
    },
    "signed_up_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "The time specified for when a contact signed up"
    },
    "custom_attributes": {
      "type": "object",
      "nullable": true,
      "description": "The custom attributes which are set for the contact"
    },
    "unsubscribed_from_emails": {
      "type": "boolean",
      "example": true,
      "nullable": true,
      "description": "Whether the contact is unsubscribed from emails"
    }
  },
  "description": "Payload to create a contact"
}
object create_conversation_request
{
  "type": "object",
  "title": "Create Conversation Request Payload",
  "required": [
    "from",
    "body"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "Hello",
      "description": "The content of the message. HTML is not supported."
    },
    "from": {
      "type": "object",
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "example": "536e564f316c83104c000020",
          "maxLength": 24,
          "minLength": 24,
          "description": "The identifier for the contact which is given by Intercom."
        },
        "type": {
          "enum": [
            "lead",
            "user",
            "contact"
          ],
          "type": "string",
          "example": "user",
          "description": "The role associated to the contact - user or lead."
        }
      }
    }
  },
  "description": "Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact."
}
object create_data_attribute_request
{
  "type": "object",
  "title": "Create Data Attribute Request",
  "required": [
    "name",
    "model",
    "data_type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "My Data Attribute",
      "description": "The name of the data attribute."
    },
    "model": {
      "enum": [
        "contact",
        "company"
      ],
      "type": "string",
      "example": "contact",
      "description": "The model that the data attribute belongs to."
    },
    "options": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "option1",
        "option2"
      ],
      "description": "To create list attributes. Provide a set of hashes with `value` as the key of the options you want to make. `data_type` must be `string`."
    },
    "data_type": {
      "enum": [
        "string",
        "integer",
        "float",
        "boolean",
        "datetime",
        "date"
      ],
      "type": "string",
      "example": "string",
      "description": "The type of data stored for this attribute."
    },
    "description": {
      "type": "string",
      "example": "My Data Attribute Description",
      "description": "The readable description you see in the UI for the attribute."
    },
    "messenger_writable": {
      "type": "boolean",
      "example": false,
      "description": "Can this attribute be updated by the Messenger"
    }
  },
  "description": ""
}
object create_data_event_request
{
  "type": "object",
  "anyOf": [
    {
      "title": "id required",
      "required": [
        "event_name",
        "created_at",
        "id"
      ]
    },
    {
      "title": "user_id required",
      "required": [
        "event_name",
        "created_at",
        "user_id"
      ]
    },
    {
      "title": "email required",
      "required": [
        "event_name",
        "created_at",
        "email"
      ]
    }
  ],
  "title": "Create Data Event Request",
  "properties": {
    "id": {
      "type": "string",
      "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
      "description": "The unique identifier for the contact (lead or user) which is given by Intercom."
    },
    "email": {
      "type": "string",
      "example": "frodo.baggins@example.com",
      "description": "An email address for your user. An email should only be used where your application uses email to uniquely identify users."
    },
    "user_id": {
      "type": "string",
      "example": "314159",
      "description": "Your identifier for the user."
    },
    "metadata": {
      "type": "object",
      "example": {
        "invite_code": "ADDAFRIEND"
      },
      "description": "Optional metadata about the event.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the event occurred as a UTC Unix timestamp"
    },
    "event_name": {
      "type": "string",
      "example": "invited-friend",
      "description": "The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`."
    }
  },
  "description": ""
}
object create_data_event_summaries_request
{
  "type": "object",
  "title": "Create Data Event Summaries Request",
  "properties": {
    "user_id": {
      "type": "string",
      "example": "314159",
      "description": "Your identifier for the user."
    },
    "event_summaries": {
      "type": "object",
      "properties": {
        "last": {
          "type": "integer",
          "format": "date-time",
          "example": 1671028894,
          "description": "The last time the event was sent"
        },
        "count": {
          "type": "integer",
          "example": 1,
          "description": "The number of times the event occurred."
        },
        "first": {
          "type": "integer",
          "format": "date-time",
          "example": 1671028894,
          "description": "The first time the event was sent"
        },
        "event_name": {
          "type": "string",
          "example": "invited-friend",
          "description": "The name of the event that occurred. A good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`."
        }
      },
      "description": "A list of event summaries for the user. Each event summary should contain the event name, the time the event occurred, and the number of times the event occurred. The event name should be a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`."
    }
  },
  "description": "You can send a list of event summaries for a user. Each event summary should contain the event name, the time the event occurred, and the number of times the event occurred. The event name should be a past tense \"verb-noun\" combination, to improve readability, for example `updated-plan`."
}
object create_data_exports_request
{
  "type": "object",
  "title": "Create Data Export Request",
  "required": [
    "created_at_after",
    "created_at_before"
  ],
  "properties": {
    "created_at_after": {
      "type": "integer",
      "example": 1527811200,
      "description": "The start date that you request data for. It must be formatted as a unix timestamp."
    },
    "created_at_before": {
      "type": "integer",
      "example": 1527811200,
      "description": "The end date that you request data for. It must be formatted as a unix timestamp."
    }
  },
  "description": "Request for creating a data export"
}
object create_message_request
{
  "type": "object",
  "anyOf": [
    {
      "title": "message_type: `email`.",
      "required": [
        "message_type",
        "subject",
        "body",
        "template",
        "from",
        "to"
      ]
    },
    {
      "title": "message_type: `inapp`.",
      "required": [
        "message_type",
        "body",
        "from",
        "to"
      ]
    }
  ],
  "title": "Create Message Request Payload",
  "nullable": true,
  "properties": {
    "to": {
      "type": "object",
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "536e564f316c83104c000020",
          "description": "The identifier for the contact which is given by Intercom."
        },
        "type": {
          "enum": [
            "user",
            "lead"
          ],
          "type": "string",
          "example": "user",
          "description": "The role associated to the contact - `user` or `lead`."
        }
      },
      "description": "The sender of the message. If not provided, the default sender will be used."
    },
    "body": {
      "type": "string",
      "example": "Hello there",
      "description": "The content of the message. HTML and plaintext are supported."
    },
    "from": {
      "type": "object",
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "example": 394051,
          "description": "The identifier for the admin which is given by Intercom."
        },
        "type": {
          "enum": [
            "admin"
          ],
          "type": "string",
          "example": "admin",
          "description": "Always `admin`."
        }
      },
      "description": "The sender of the message. If not provided, the default sender will be used."
    },
    "subject": {
      "type": "string",
      "example": "Thanks for everything",
      "description": "The title of the email."
    },
    "template": {
      "type": "string",
      "example": "plain",
      "description": "The style of the outgoing message. Possible values `plain` or `personal`."
    },
    "message_type": {
      "enum": [
        "in_app",
        "email"
      ],
      "type": "string",
      "example": "in_app",
      "description": "The kind of message being created. Values: `in_app` or `email`."
    },
    "create_conversation_without_contact_reply": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Whether a conversation should be opened in the inbox for the message without the contact replying. Defaults to false if not provided."
    }
  },
  "description": "You can create a message"
}
object create_or_update_company_request
{
  "type": "object",
  "title": "Create Or Update Company Request Payload",
  "nullable": true,
  "properties": {
    "name": {
      "type": "string",
      "example": "Intercom",
      "description": "The name of the Company"
    },
    "plan": {
      "type": "string",
      "example": "Enterprise",
      "description": "The name of the plan you have associated with the company."
    },
    "size": {
      "type": "integer",
      "example": 100,
      "description": "The number of employees in this company."
    },
    "website": {
      "type": "string",
      "example": "https://www.example.com",
      "description": "The URL for this company's website. Please note that the value specified here is not validated. Accepts any string."
    },
    "industry": {
      "type": "string",
      "example": "Manufacturing",
      "description": "The industry that this company operates in."
    },
    "company_id": {
      "type": "string",
      "example": "625e90fc55ab113b6d92175f",
      "description": "The company id you have defined for the company. Can't be updated"
    },
    "monthly_spend": {
      "type": "integer",
      "example": 1000,
      "description": "How much revenue the company generates for your business. Note that this will truncate floats. i.e. it only allow for whole integers, 155.98 will be truncated to 155. Note that this has an upper limit of 2**31-1 or 2147483647.."
    },
    "custom_attributes": {
      "type": "object",
      "example": {
        "team_mates": 9,
        "monthly_spend": 155.5,
        "paid_subscriber": true
      },
      "description": "A hash of key/value pairs containing any other data about the company you want Intercom to store.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "remote_created_at": {
      "type": "integer",
      "example": 1394531169,
      "description": "The time the company was created by you."
    }
  },
  "description": "You can create or update a Company"
}
object create_or_update_tag_request
{
  "type": "object",
  "title": "Create or Update Tag Request Payload",
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "656452352",
      "description": "The id of tag to updates."
    },
    "name": {
      "type": "string",
      "example": "Independent",
      "description": "The name of the tag, which will be created if not found, or the new name for the tag if this is an update request. Names are case insensitive."
    }
  },
  "description": "You can create or update an existing tag."
}
object create_phone_switch_request
{
  "type": "object",
  "title": "Create Phone Switch Request Payload",
  "nullable": true,
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "example": "+1 1234567890",
      "description": "Phone number in E.164 format, that will receive the SMS to continue the conversation in the Messenger."
    },
    "custom_attributes": {
      "$ref": "#/components/schemas/custom_attributes"
    }
  },
  "description": "You can create an phone switch"
}
object create_section_request
{
  "type": "object",
  "title": "Create Section Request Payload",
  "required": [
    "name",
    "parent_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Section 51",
      "description": "The name of the collection. For multilingual collections, this will be the name of the default language's content."
    },
    "parent_id": {
      "type": "integer",
      "example": 18,
      "description": "The id for the collection this section will be within."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "You can create a Section"
}
object create_ticket_reply_request
{
  "type": "object",
  "title": "Create Ticket Reply Request Payload",
  "required": [
    "body",
    "admin_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "<p>Okay!</p>",
      "description": "The message body of the note, which may contain HTML."
    },
    "admin_id": {
      "type": "string",
      "example": "1234",
      "description": "The id of the admin who is making the note."
    },
    "message_type": {
      "type": "string",
      "default": "note",
      "example": "note",
      "description": "The type of the reply. Only `note` is supported at the moment."
    }
  }
}
object create_ticket_request
{
  "type": "object",
  "title": "Create Ticket Request Payload",
  "required": [
    "ticket_type_id",
    "contacts"
  ],
  "properties": {
    "contacts": {
      "type": "array",
      "items": {
        "type": "object",
        "oneOf": [
          {
            "title": "ID",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "The identifier for the contact as given by Intercom."
              }
            }
          },
          {
            "title": "External ID",
            "required": [
              "external_id"
            ],
            "properties": {
              "external_id": {
                "type": "string",
                "description": "The external_id you have defined for the contact who is being added as a participant."
              }
            }
          },
          {
            "title": "Email",
            "required": [
              "email"
            ],
            "properties": {
              "email": {
                "type": "string",
                "description": "The email you have defined for the contact who is being added as a participant. If a contact with this email does not exist, one will be created."
              }
            }
          }
        ]
      },
      "example": [
        {
          "id": "1234"
        }
      ],
      "description": "The list of contacts (users or leads) affected by this ticket. Currently only one is allowed"
    },
    "ticket_type_id": {
      "type": "string",
      "example": "1234",
      "description": "The ID of the type of ticket you want to create"
    },
    "ticket_attributes": {
      "$ref": "#/components/schemas/ticket_request_custom_attributes"
    }
  },
  "description": "You can create a Ticket"
}
object create_ticket_type_attribute_request
{
  "type": "object",
  "title": "Create Ticket Type Attribute Request Payload",
  "required": [
    "name",
    "description",
    "data_type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Bug Priority",
      "description": "The name of the ticket type attribute"
    },
    "data_type": {
      "enum": [
        "string",
        "list",
        "integer",
        "decimal",
        "boolean",
        "datetime",
        "files"
      ],
      "type": "string",
      "example": "string",
      "description": "The data type of the attribute"
    },
    "multiline": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute allows multiple lines of text (only applicable to string attributes)"
    },
    "list_items": {
      "type": "string",
      "example": "Low Priority,Medium Priority,High Priority",
      "description": "A comma delimited list of items for the attribute value (only applicable to list attributes)"
    },
    "description": {
      "type": "string",
      "example": "Priority level of the bug",
      "description": "The description of the attribute presented to the teammate or contact"
    },
    "visible_on_create": {
      "type": "boolean",
      "default": true,
      "example": true,
      "description": "Whether the attribute is visible to teammates when creating a ticket in Inbox."
    },
    "required_to_create": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox."
    },
    "visible_to_contacts": {
      "type": "boolean",
      "default": true,
      "example": true,
      "description": "Whether the attribute is visible to contacts when creating a ticket in Messenger."
    },
    "allow_multiple_values": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)"
    },
    "required_to_create_for_contacts": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger."
    }
  },
  "description": "You can create a Ticket Type Attribute"
}
object create_ticket_type_request
{
  "type": "object",
  "title": "Create Ticket Type Request Payload",
  "nullable": true,
  "required": [
    "name"
  ],
  "properties": {
    "icon": {
      "type": "string",
      "default": "🎟️",
      "example": "🐞",
      "description": "The icon of the ticket type."
    },
    "name": {
      "type": "string",
      "example": "Bug",
      "description": "The name of the ticket type."
    },
    "description": {
      "type": "string",
      "example": "Used for tracking bugs",
      "description": "The description of the ticket type."
    },
    "is_internal": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the tickets associated with this ticket type are intended for internal use only or will be shared with customers. This is currently a limited attribute."
    }
  },
  "description": "The request payload for creating a ticket type.\n  You can copy the `icon` property for your ticket type from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/)\n"
}
object cursor_pages
{
  "type": "object",
  "title": "Cursor based pages",
  "nullable": true,
  "properties": {
    "next": {
      "$ref": "#/components/schemas/starting_after_paging"
    },
    "page": {
      "type": "integer",
      "example": 1,
      "description": "The current page"
    },
    "type": {
      "enum": [
        "pages"
      ],
      "type": "string",
      "example": "pages",
      "description": "the type of object `pages`."
    },
    "per_page": {
      "type": "integer",
      "example": 2,
      "description": "Number of results per page"
    },
    "total_pages": {
      "type": "integer",
      "example": 13,
      "description": "Total number of pages"
    }
  },
  "description": "Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data.\nA \"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.\n"
}
object custom_attributes
{
  "type": "object",
  "title": "Custom Attributes",
  "description": "An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models.",
  "additionalProperties": {
    "anyOf": [
      {
        "type": "string"
      },
      {
        "$ref": "#/components/schemas/custom_object_instance"
      }
    ]
  }
}
object custom_object_instance
{
  "type": "object",
  "title": "Custom Object Instance",
  "x-tags": [
    "Custom Object Instances"
  ],
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "5a7a19e9f59ae20001d1c1e6",
      "description": "The Intercom defined id representing the custom object instance."
    },
    "type": {
      "type": "string",
      "example": "Order",
      "description": "The identifier of the custom object type that defines the structure of the custom object instance."
    },
    "external_id": {
      "type": "string",
      "example": "0001d1c1e65a7a19e9f59ae2",
      "description": "The id you have defined for the custom object instance."
    },
    "custom_attributes": {
      "type": "object",
      "description": "The custom attributes you have set on the custom object instance.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "description": "A Custom Object Instance represents an instance of a custom object type. This allows you to create and set custom attributes to store data about your customers that is not already captured by Intercom. The parent object includes recommended default attributes and you can add your own custom attributes."
}
object customer_request
{
  "type": "object",
  "oneOf": [
    {
      "title": "Intercom User ID",
      "required": [
        "intercom_user_id"
      ],
      "properties": {
        "intercom_user_id": {
          "type": "string",
          "example": "6329bd9ffe4e2e91dac76188",
          "description": "The identifier for the contact as given by Intercom."
        }
      }
    },
    {
      "title": "User ID",
      "required": [
        "user_id"
      ],
      "properties": {
        "user_id": {
          "type": "string",
          "example": "2e91dac761886329bd9ffe4e",
          "description": "The external_id you have defined for the contact who is being added as a participant."
        }
      }
    },
    {
      "title": "Email",
      "required": [
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "example": "sam.sung@example.com",
          "description": "The email you have defined for the contact who is being added as a participant."
        }
      }
    }
  ],
  "nullable": true
}
object data_attribute
{
  "type": "object",
  "title": "Data Attribute",
  "x-tags": [
    "Data Attributes"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 12878,
      "description": "The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes."
    },
    "name": {
      "type": "string",
      "example": "paid_subscriber",
      "description": "Name of the attribute."
    },
    "type": {
      "enum": [
        "data_attribute"
      ],
      "type": "string",
      "example": "data_attribute",
      "description": "Value is `data_attribute`."
    },
    "label": {
      "type": "string",
      "example": "Paid Subscriber",
      "description": "Readable name of the attribute (i.e. name you see in the UI)"
    },
    "model": {
      "enum": [
        "contact",
        "company"
      ],
      "type": "string",
      "example": "contact",
      "description": "Value is `contact` for user/lead attributes and `company` for company attributes."
    },
    "custom": {
      "type": "boolean",
      "example": true,
      "description": "Set to true if this is a CDA"
    },
    "options": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "true",
        "false"
      ],
      "description": "List of predefined options for attribute value."
    },
    "admin_id": {
      "type": "string",
      "example": "5712945",
      "description": "Teammate who created the attribute. Only applicable to CDAs"
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Is this attribute archived. (Only applicable to CDAs)"
    },
    "data_type": {
      "enum": [
        "string",
        "integer",
        "float",
        "boolean",
        "date"
      ],
      "type": "string",
      "example": "boolean",
      "description": "The data type of the attribute."
    },
    "full_name": {
      "type": "string",
      "example": "custom_attributes.paid_subscriber",
      "description": "Full name of the attribute. Should match the name unless it's a nested attribute. We can split full_name on `.` to access nested user object values."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the attribute was created as a UTC Unix timestamp"
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the attribute was last updated as a UTC Unix timestamp"
    },
    "description": {
      "type": "string",
      "example": "Whether the user is a paid subscriber.",
      "description": "Readable description of the attribute."
    },
    "ui_writable": {
      "type": "boolean",
      "example": true,
      "description": "Can this attribute be updated in the UI"
    },
    "api_writable": {
      "type": "boolean",
      "example": true,
      "description": "Can this attribute be updated through API"
    },
    "messenger_writable": {
      "type": "boolean",
      "example": false,
      "description": "Can this attribute be updated by the Messenger"
    }
  },
  "description": "Data Attributes are metadata used to describe your contact, company and conversation models. These include standard and custom attributes. By using the data attributes endpoint, you can get the global list of attributes for your workspace, as well as create and archive custom attributes."
}
object data_attribute_list
{
  "type": "object",
  "title": "Data Attribute List",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/data_attribute"
      },
      "description": "A list of data attributes"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object"
    }
  },
  "description": "A list of all data attributes belonging to a workspace for contacts, companies or conversations."
}
object data_event
{
  "type": "object",
  "title": "Data Event",
  "x-tags": [
    "Data Events"
  ],
  "required": [
    "event_name",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
      "description": "Your identifier for a lead or a user."
    },
    "type": {
      "enum": [
        "event"
      ],
      "type": "string",
      "example": "event",
      "description": "The type of the object"
    },
    "email": {
      "type": "string",
      "example": "frodo.baggins@example.com",
      "description": "An email address for your user. An email should only be used where your application uses email to uniquely identify users."
    },
    "user_id": {
      "type": "string",
      "example": "314159",
      "description": "Your identifier for the user."
    },
    "metadata": {
      "type": "object",
      "example": {
        "invite_code": "ADDAFRIEND"
      },
      "description": "Optional metadata about the event.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1671028894,
      "description": "The time the event occurred as a UTC Unix timestamp"
    },
    "event_name": {
      "type": "string",
      "example": "invited-friend",
      "description": "The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`."
    },
    "intercom_user_id": {
      "type": "string",
      "example": "63a0979a5eeebeaf28dd56ba",
      "description": "The Intercom identifier for the user."
    }
  },
  "description": "Data events are used to notify Intercom of changes to your data."
}
object data_event_list
{
  "type": "object",
  "title": "Data Event List",
  "properties": {
    "type": {
      "enum": [
        "event.list"
      ],
      "type": "string",
      "example": "event.list",
      "description": "The type of the object"
    },
    "pages": {
      "type": "object",
      "properties": {
        "next": {
          "type": "string",
          "example": "https://api.intercom.io/events?per_page=2&before=1389913941064&intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user\""
        },
        "since": {
          "type": "string",
          "example": "https://api.intercom.io/events?intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user&since=1389913941065"
        }
      },
      "description": "Pagination"
    },
    "events": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/data_event"
      },
      "description": "A list of data events"
    }
  },
  "description": "This will return a list of data events for the App."
}
object data_event_summary
{
  "type": "object",
  "title": "Data Event Summary",
  "properties": {
    "type": {
      "enum": [
        "event.summary"
      ],
      "type": "string",
      "example": "event.summary",
      "description": "The type of the object"
    },
    "email": {
      "type": "string",
      "example": "Sam.Sung@example.com",
      "description": "The email address of the user"
    },
    "events": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/data_event_summary_item"
      },
      "description": "A summary of data events"
    },
    "user_id": {
      "type": "string",
      "example": "62b997f288e14803c5006932",
      "description": "The user ID of the user"
    },
    "intercom_user_id": {
      "type": "string",
      "example": "63a0979a5eeebeaf28dd56ba",
      "description": "The Intercom user ID of the user"
    }
  },
  "description": "This will return a summary of data events for the App."
}
object data_event_summary_item
{
  "type": "object",
  "title": "Data Event Summary Item",
  "nullable": true,
  "properties": {
    "last": {
      "type": "string",
      "example": "2014-01-16T23:12:21.000+00:00 ",
      "description": "The last time the event was sent"
    },
    "name": {
      "type": "string",
      "example": "placed-order",
      "description": "The name of the event"
    },
    "count": {
      "type": "integer",
      "example": 1,
      "description": "The number of times the event was sent"
    },
    "first": {
      "type": "string",
      "example": "2014-01-16T23:12:21.000+00:00",
      "description": "The first time the event was sent"
    },
    "description": {
      "type": "string",
      "example": "A user placed an order",
      "description": "The description of the event"
    }
  },
  "description": "This will return a summary of a data event for the App."
}
object data_export
{
  "type": "object",
  "title": "Data Export",
  "x-tags": [
    "Data Export"
  ],
  "properties": {
    "status": {
      "enum": [
        "pending",
        "in_progress",
        "failed",
        "completed",
        "no_data",
        "canceled"
      ],
      "type": "string",
      "example": "pending",
      "description": "The current state of your job."
    },
    "download_url": {
      "type": "string",
      "example": "https://api.intercom.test/download/messages/data/example",
      "description": "The location where you can download your data."
    },
    "job_identfier": {
      "type": "string",
      "example": "orzzsbd7hk67xyu",
      "description": "The identifier for your job."
    },
    "download_expires_at": {
      "type": "string",
      "example": "1674917488",
      "description": "The time after which you will not be able to access the data."
    }
  },
  "description": "The data export api is used to view all message sent & viewed in a given timeframe."
}
object data_export_csv
{
  "type": "object",
  "title": "Data Export CSV",
  "properties": {
    "name": {
      "type": "string",
      "description": "The full name of the user receiving the message"
    },
    "email": {
      "type": "string",
      "description": "The users email who was sent the message."
    },
    "node_id": {
      "type": "string",
      "description": "The id of the series node that this ruleset is associated with. Each block in a series has a corresponding node_id."
    },
    "user_id": {
      "type": "string",
      "description": "The user_id of the user who was sent the message."
    },
    "series_id": {
      "type": "string",
      "description": "The id of the series that this content is part of. Will return -1 if not part of a series."
    },
    "company_id": {
      "type": "string",
      "description": "The company ID of the user in relation to the message that was sent. Will return -1 if no company is present."
    },
    "content_id": {
      "type": "string",
      "description": "The specific content that was received. In an A/B test each version has its own Content ID."
    },
    "first_open": {
      "type": "integer",
      "description": "The first time the user opened this message."
    },
    "receipt_id": {
      "type": "string",
      "description": "ID for this receipt. Will be included with any related stats in other files to identify this specific delivery of a message."
    },
    "ruleset_id": {
      "type": "string",
      "description": "The id of the message."
    },
    "first_click": {
      "type": "integer",
      "description": "The first time the series the user clicked on a link within this message."
    },
    "first_reply": {
      "type": "integer",
      "description": "The first time a user replied to this message if the content was able to receive replies."
    },
    "received_at": {
      "type": "integer",
      "description": "Timestamp for when the receipt was recorded."
    },
    "content_type": {
      "type": "string",
      "description": "Email, Chat, Post etc."
    },
    "series_title": {
      "type": "string",
      "description": "The title of the series that this content is part of."
    },
    "content_title": {
      "type": "string",
      "description": "The title of the content you see in your Intercom workspace."
    },
    "first_dismisall": {
      "type": "integer",
      "description": "The first time the series the user dismissed this message."
    },
    "first_completion": {
      "type": "integer",
      "description": "The first time a user completed this message if the content was able to be completed e.g. Tours, Surveys."
    },
    "user_external_id": {
      "type": "string",
      "description": "The external_user_id of the user who was sent the message"
    },
    "first_hard_bounce": {
      "type": "integer",
      "description": "The first time this message hard bounced for this user"
    },
    "first_series_exit": {
      "type": "integer",
      "description": "The first time the series this message was a part of was exited by the user."
    },
    "first_unsubscribe": {
      "type": "integer",
      "description": "The first time the user unsubscribed from this message."
    },
    "first_goal_success": {
      "type": "integer",
      "description": "The first time the user met this messages associated goal if one exists."
    },
    "ruleset_version_id": {
      "type": "string",
      "description": "As you edit content we record new versions. This ID can help you determine which version of a piece of content that was received."
    },
    "first_series_completion": {
      "type": "integer",
      "description": "The first time the series this message was a part of was completed by the user."
    },
    "first_series_disengagement": {
      "type": "integer",
      "description": "The first time the series this message was a part of was disengaged by the user."
    }
  },
  "description": "A CSV output file"
}
object deleted_article_object
{
  "type": "object",
  "title": "Deleted Article Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "6890762",
      "description": "The unique identifier for the article which you provided in the URL."
    },
    "object": {
      "enum": [
        "article"
      ],
      "type": "string",
      "example": "article",
      "description": "The type of object which was deleted. - article"
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the article was deleted successfully or not."
    }
  },
  "description": "Response returned when an object is deleted"
}
object deleted_collection_object
{
  "type": "object",
  "title": "Deleted Collection Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "6890762",
      "description": "The unique identifier for the collection which you provided in the URL."
    },
    "object": {
      "enum": [
        "collection"
      ],
      "type": "string",
      "example": "collection",
      "description": "The type of object which was deleted. - `collection`"
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the collection was deleted successfully or not."
    }
  },
  "description": "Response returned when an object is deleted"
}
object deleted_company_object
{
  "type": "object",
  "title": "Deleted Company Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "5b7e8b2f-7a1a-4e6c-8e1b-4f9d4f4c4d4f",
      "description": "The unique identifier for the company which is given by Intercom."
    },
    "object": {
      "enum": [
        "company"
      ],
      "type": "string",
      "example": "company",
      "description": "The type of object which was deleted. - `company`"
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the company was deleted successfully or not."
    }
  },
  "description": "Response returned when an object is deleted"
}
object deleted_object
{
  "type": "object",
  "title": "Deleted Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "6890762",
      "description": "The unique identifier for the news item which you provided in the URL."
    },
    "object": {
      "enum": [
        "news-item"
      ],
      "type": "string",
      "example": "news-item",
      "description": "The type of object which was deleted - news-item."
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the news item was deleted successfully or not."
    }
  },
  "description": "Response returned when an object is deleted"
}
object deleted_section_object
{
  "type": "object",
  "title": "Deleted Section Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "6890762",
      "description": "The unique identifier for the section which you provided in the URL."
    },
    "object": {
      "enum": [
        "section"
      ],
      "type": "string",
      "example": "section",
      "description": "The type of object which was deleted. - `section`"
    },
    "deleted": {
      "type": "boolean",
      "example": true,
      "description": "Whether the section was deleted successfully or not."
    }
  },
  "description": "Response returned when an object is deleted"
}
object detach_contact_from_conversation_request
{
  "required": [
    "admin_id"
  ],
  "properties": {
    "admin_id": {
      "type": "string",
      "example": "5017690",
      "description": "The `id` of the admin who is performing the action."
    }
  }
}
object error
{
  "type": "object",
  "title": "Error",
  "required": [
    "type",
    "errors"
  ],
  "properties": {
    "type": {
      "type": "string",
      "example": "error.list",
      "description": "The type is error.list"
    },
    "errors": {
      "type": "array",
      "items": {
        "required": [
          "code"
        ],
        "properties": {
          "code": {
            "type": "string",
            "example": "unauthorized",
            "description": "A string indicating the kind of error, used to further qualify the HTTP response code"
          },
          "field": {
            "type": "string",
            "example": "email",
            "nullable": true,
            "description": "Optional. Used to identify a particular field or query parameter that was in error."
          },
          "message": {
            "type": "string",
            "example": "Access Token Invalid",
            "nullable": true,
            "description": "Optional. Human readable description of the error."
          }
        }
      },
      "description": "An array of one or more error objects"
    },
    "request_id": {
      "type": "string",
      "format": "uuid",
      "example": "f93ecfa8-d08a-4325-8694-89aeb89c8f85",
      "nullable": true,
      "description": ""
    }
  },
  "description": "The API will return an Error List for a failed request, which will contain one or more Error objects."
}
object file_attribute
{
  "type": "object",
  "title": "File",
  "properties": {
    "url": {
      "type": "string",
      "example": "https://intercom-attachments-1.com/.../Screenshot.png",
      "description": "The url of the file. This is a temporary URL and will expire after 30 minutes."
    },
    "name": {
      "type": "string",
      "example": "Screenshot.png",
      "description": "The name of the file"
    },
    "type": {
      "type": "string",
      "example": "upload"
    },
    "width": {
      "type": "integer",
      "example": 3024,
      "description": "The width of the file in pixels, if applicable"
    },
    "height": {
      "type": "integer",
      "example": 1964,
      "description": "The height of the file in pixels, if applicable"
    },
    "filesize": {
      "type": "integer",
      "example": 11308309,
      "description": "The size of the file in bytes"
    },
    "content_type": {
      "type": "string",
      "example": "image/png",
      "description": "The type of file"
    }
  },
  "description": "The value describing a file upload set for a custom attribute"
}
object group_content
{
  "type": "object",
  "title": "Group Content",
  "nullable": true,
  "properties": {
    "name": {
      "type": "string",
      "example": "Collection name",
      "description": "The name of the collection or section."
    },
    "type": {
      "enum": [
        null,
        "group_content"
      ],
      "type": "string",
      "example": "group_content",
      "nullable": true,
      "description": "The type of object - `group_content` ."
    },
    "description": {
      "type": "string",
      "example": " Collection description",
      "description": "The description of the collection. Only available for collections."
    }
  },
  "description": "The Content of a Group."
}
object group_translated_content
{
  "type": "object",
  "title": "Group Translated Content",
  "nullable": true,
  "properties": {
    "ar": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Arabic"
    },
    "bg": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Bulgarian"
    },
    "bs": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Bosnian"
    },
    "ca": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Catalan"
    },
    "cs": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Czech"
    },
    "da": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Danish"
    },
    "de": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in German"
    },
    "el": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Greek"
    },
    "en": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in English"
    },
    "es": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Spanish"
    },
    "et": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Estonian"
    },
    "fi": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Finnish"
    },
    "fr": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in French"
    },
    "he": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Hebrew"
    },
    "hr": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Croatian"
    },
    "hu": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Hungarian"
    },
    "id": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Indonesian"
    },
    "it": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Italian"
    },
    "ja": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Japanese"
    },
    "ko": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Korean"
    },
    "lt": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Lithuanian"
    },
    "lv": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Latvian"
    },
    "mn": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Mongolian"
    },
    "nb": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Norwegian"
    },
    "nl": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Dutch"
    },
    "pl": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Polish"
    },
    "pt": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Portuguese (Portugal)"
    },
    "ro": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Romanian"
    },
    "ru": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Russian"
    },
    "sl": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Slovenian"
    },
    "sr": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Serbian"
    },
    "sv": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Swedish"
    },
    "tr": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Turkish"
    },
    "vi": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Vietnamese"
    },
    "type": {
      "enum": [
        null,
        "group_translated_content"
      ],
      "type": "string",
      "example": "group_translated_content",
      "nullable": true,
      "description": "The type of object - group_translated_content."
    },
    "pt-BR": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Portuguese (Brazil)"
    },
    "zh-CN": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Chinese (China)"
    },
    "zh-TW": {
      "$ref": "#/components/schemas/group_content",
      "description": "The content of the group in Chinese (Taiwan)"
    }
  },
  "description": "The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group."
}
object help_center
{
  "type": "object",
  "title": "Help Center",
  "x-tags": [
    "Help Center"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "123",
      "description": "The unique identifier for the Help Center which is given by Intercom."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928359,
      "description": "The time when the Help Center was created."
    },
    "identifier": {
      "type": "string",
      "example": "intercom",
      "description": "The identifier of the Help Center. This is used in the URL of the Help Center."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928610,
      "description": "The time when the Help Center was last updated."
    },
    "display_name": {
      "type": "string",
      "example": "Intercom Help Center",
      "description": "The display name of the Help Center only seen by teammates."
    },
    "workspace_id": {
      "type": "string",
      "example": "hfi1bx4l",
      "description": "The id of the workspace which the Help Center belongs to."
    },
    "website_turned_on": {
      "type": "boolean",
      "example": true,
      "description": "Whether the Help Center is turned on or not. This is controlled in your Help Center settings."
    }
  },
  "description": "Help Centers contain collections"
}
object help_center_list
{
  "type": "object",
  "title": "Help Centers",
  "x-tags": [
    "Help Center"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/help_center"
      },
      "description": "An array of Help Center objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object - `list`."
    }
  },
  "description": "A list of Help Centers belonging to the App"
}
string intercom_version
{
  "enum": [
    "1.0",
    "1.1",
    "1.2",
    "1.3",
    "1.4",
    "2.0",
    "2.1",
    "2.2",
    "2.3",
    "2.4",
    "2.5",
    "2.6",
    "2.7",
    "2.8",
    "2.9",
    "2.10",
    "Unstable"
  ],
  "type": "string",
  "default": "2.9",
  "example": "2.9",
  "description": "Intercom API version.</br>By default, it's equal to the version set in the app package."
}
object merge_contacts_request
{
  "type": "object",
  "title": "Merge contact data",
  "properties": {
    "from": {
      "type": "string",
      "example": "5d70dd30de4efd54f42fd526",
      "description": "The unique identifier for the contact to merge away from. Must be a lead."
    },
    "into": {
      "type": "string",
      "example": "5ba682d23d7cf92bef87bfd4",
      "description": "The unique identifier for the contact to merge into. Must be a user."
    }
  },
  "description": "Merge contact data."
}
object message
{
  "type": "object",
  "title": "Message",
  "x-tags": [
    "Messages"
  ],
  "required": [
    "type",
    "id",
    "created_at",
    "body",
    "message_type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "1488971108",
      "description": "The id representing the message."
    },
    "body": {
      "type": "string",
      "example": "Hello",
      "description": "The message body, which may contain HTML."
    },
    "type": {
      "type": "string",
      "example": "user_message",
      "description": "The type of the message"
    },
    "subject": {
      "type": "string",
      "example": "Greetings",
      "description": "The subject of the message. Only present if message_type: email."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1667560812,
      "description": "The time the conversation was created."
    },
    "message_type": {
      "enum": [
        "email",
        "inapp",
        "facebook",
        "twitter"
      ],
      "type": "string",
      "example": "inapp",
      "description": "The type of message that was sent. Can be email, inapp, facebook or twitter."
    },
    "conversation_id": {
      "type": "string",
      "example": "64619700005570",
      "description": "The associated conversation_id"
    }
  },
  "description": "Message are how you reach out to contacts in Intercom. They are created when an admin sends an outbound message to a contact."
}
object multiple_filter_search_request
{
  "type": "object",
  "properties": {
    "value": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/multiple_filter_search_request"
          },
          "title": "multiple filter search request",
          "description": "Add mutiple filters."
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/single_filter_search_request"
          },
          "title": "single filter search request",
          "description": "Add a single filter field."
        }
      ]
    },
    "operator": {
      "enum": [
        "AND",
        "OR"
      ],
      "type": "string",
      "example": "AND",
      "description": "An operator to allow boolean inspection between multiple fields."
    }
  }
}
object news_item
{
  "type": "object",
  "title": "News Item",
  "x-tags": [
    "News"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "141",
      "description": "The unique identifier for the news item which is given by Intercom."
    },
    "body": {
      "type": "string",
      "example": "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers.",
      "description": "The news item body, which may contain HTML."
    },
    "type": {
      "enum": [
        "news-item"
      ],
      "type": "string",
      "example": "news-item",
      "description": "The type of object."
    },
    "state": {
      "enum": [
        "draft",
        "live"
      ],
      "type": "string",
      "example": "live",
      "description": "News items will not be visible to your users in the assigned newsfeeds until they are set live."
    },
    "title": {
      "type": "string",
      "example": "New feature: News Items",
      "description": "The title of the news item."
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "Product Update",
        "nullable": true,
        "description": "The label name."
      },
      "description": "Label names displayed to users to categorize the news item."
    },
    "reactions": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "👍",
        "nullable": true,
        "description": "The emoji reaction to the news item."
      },
      "description": "Ordered list of emoji reactions to the news item. When empty, reactions are disabled."
    },
    "sender_id": {
      "type": "integer",
      "example": 123,
      "description": "The id of the sender of the news item. Must be a teammate on the workspace."
    },
    "created_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1610589632,
      "description": "Timestamp for when the news item was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1610589632,
      "description": "Timestamp for when the news item was last updated."
    },
    "workspace_id": {
      "type": "string",
      "example": "t74hdn32",
      "description": "The id of the workspace which the news item belongs to."
    },
    "cover_image_url": {
      "type": "string",
      "format": "uri",
      "example": "https://example.com/cover.jpg",
      "nullable": true,
      "description": "URL of the image used as cover. Must have .jpg or .png extension."
    },
    "deliver_silently": {
      "type": "boolean",
      "example": true,
      "description": "When set to true, the news item will appear in the messenger newsfeed without showing a notification badge."
    },
    "newsfeed_assignments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/newsfeed_assignment"
      },
      "description": "A list of newsfeed_assignments to assign to the specified newsfeed."
    }
  },
  "description": "A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
}
object news_item_request
{
  "type": "object",
  "title": "Create News Item Request",
  "required": [
    "title",
    "sender_id"
  ],
  "properties": {
    "body": {
      "type": "string",
      "example": "<p>New costumes in store for this spooky season</p>",
      "description": "The news item body, which may contain HTML."
    },
    "state": {
      "enum": [
        "draft",
        "live"
      ],
      "type": "string",
      "example": "live",
      "description": "News items will not be visible to your users in the assigned newsfeeds until they are set live."
    },
    "title": {
      "type": "string",
      "example": "Halloween is here!",
      "description": "The title of the news item."
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "Product",
        "Update",
        "New"
      ],
      "description": "Label names displayed to users to categorize the news item."
    },
    "reactions": {
      "type": "array",
      "items": {
        "type": "string",
        "nullable": true
      },
      "example": [
        "😆",
        "😅"
      ],
      "description": "Ordered list of emoji reactions to the news item. When empty, reactions are disabled."
    },
    "sender_id": {
      "type": "integer",
      "example": 123,
      "description": "The id of the sender of the news item. Must be a teammate on the workspace."
    },
    "deliver_silently": {
      "type": "boolean",
      "example": true,
      "description": "When set to `true`, the news item will appear in the messenger newsfeed without showing a notification badge."
    },
    "newsfeed_assignments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/newsfeed_assignment"
      },
      "description": "A list of newsfeed_assignments to assign to the specified newsfeed."
    }
  },
  "description": "A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
}
object newsfeed
{
  "type": "object",
  "title": "Newsfeed",
  "x-tags": [
    "News"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "12312",
      "description": "The unique identifier for the newsfeed which is given by Intercom."
    },
    "name": {
      "type": "string",
      "example": "My Newsfeed",
      "description": "The name of the newsfeed. This name will never be visible to your users."
    },
    "type": {
      "enum": [
        "newsfeed"
      ],
      "type": "string",
      "example": "newsfeed",
      "description": "The type of object."
    },
    "created_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1674917488,
      "description": "Timestamp for when the newsfeed was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1674917488,
      "description": "Timestamp for when the newsfeed was last updated."
    }
  },
  "description": "A newsfeed is a collection of news items, targeted to a specific audience.\n\nNewsfeeds 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.\n"
}
object newsfeed_assignment
{
  "type": "object",
  "title": "Newsfeed Assignment",
  "x-tags": [
    "News"
  ],
  "properties": {
    "newsfeed_id": {
      "type": "integer",
      "example": 198313,
      "description": "The unique identifier for the newsfeed which is given by Intercom. Publish dates cannot be in the future, to schedule news items use the dedicated feature in app (see this article)."
    },
    "published_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1674917488,
      "description": "Publish date of the news item on the newsfeed, use this field if you want to set a publish date in the past (e.g. when importing existing news items). On write, this field will be ignored if the news item state is \"draft\"."
    }
  },
  "description": "Assigns a news item to a newsfeed."
}
object note
{
  "type": "object",
  "title": "Note",
  "x-tags": [
    "Notes"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "17495962",
      "description": "The id of the note."
    },
    "body": {
      "type": "string",
      "example": "<p>Text for the note.</p>",
      "description": "The body text of the note."
    },
    "type": {
      "type": "string",
      "example": "note",
      "description": "String representing the object's type. Always has the value `note`."
    },
    "author": {
      "$ref": "#/components/schemas/admin",
      "description": "Optional. Represents the Admin that created the note."
    },
    "contact": {
      "type": "object",
      "nullable": true,
      "properties": {
        "id": {
          "type": "string",
          "example": "214656d0c743eafcfde7f248",
          "description": "The id of the contact."
        },
        "type": {
          "type": "string",
          "description": "String representing the object's type. Always has the value `contact`."
        }
      },
      "description": "Represents the contact that the note was created about."
    },
    "created_at": {
      "type": "integer",
      "format": "timestamp",
      "example": 1674589321,
      "description": "The time the note was created."
    }
  },
  "description": "Notes allow you to annotate and comment on your contacts."
}
object note_list
{
  "type": "object",
  "title": "Paginated Response",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/note"
      },
      "description": "An array of notes."
    },
    "type": {
      "type": "string",
      "example": "list",
      "description": "String representing the object's type. Always has the value `list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 1,
      "description": "A count of the total number of notes."
    }
  },
  "description": "A paginated list of notes associated with a contact."
}
object open_conversation_request
{
  "type": "object",
  "title": "Open Conversation Request",
  "required": [
    "message_type",
    "admin_id"
  ],
  "properties": {
    "admin_id": {
      "type": "string",
      "example": "5017690",
      "description": "The id of the admin who is performing the action."
    },
    "message_type": {
      "enum": [
        "open"
      ],
      "type": "string",
      "example": "open"
    }
  },
  "description": "Payload of the request to open a conversation"
}
object pages_link
{
  "type": "object",
  "title": "Pagination Object",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "nullable": true,
      "description": "A link to the next page of results. A response that does not contain a next link does not have further data to fetch."
    },
    "page": {
      "type": "integer",
      "example": 1
    },
    "type": {
      "enum": [
        "pages"
      ],
      "type": "string",
      "example": "pages"
    },
    "per_page": {
      "type": "integer",
      "example": 50
    },
    "total_pages": {
      "type": "integer",
      "example": 1
    }
  },
  "description": "The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.\n\nTheir 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.\n"
}
object paginated_response
{
  "type": "object",
  "title": "Paginated Response",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/news_item"
          },
          {
            "$ref": "#/components/schemas/newsfeed"
          }
        ]
      },
      "description": "An array of Objects"
    },
    "type": {
      "enum": [
        "list",
        "conversation.list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of object"
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 1,
      "description": "A count of the total number of objects."
    }
  },
  "description": "Paginated Response"
}
object part_attachment
{
  "type": "object",
  "title": "Part attachment",
  "properties": {
    "url": {
      "type": "string",
      "example": "https://picsum.photos/200/300",
      "description": "The URL of the attachment"
    },
    "name": {
      "type": "string",
      "example": "example.png",
      "description": "The name of the attachment"
    },
    "type": {
      "type": "string",
      "example": "upload",
      "description": "The type of attachment"
    },
    "width": {
      "type": "integer",
      "example": 100,
      "description": "The width of the attachment"
    },
    "height": {
      "type": "integer",
      "example": 100,
      "description": "The height of the attachment"
    },
    "filesize": {
      "type": "integer",
      "example": 100,
      "description": "The size of the attachment"
    },
    "content_type": {
      "type": "string",
      "example": "image/png",
      "description": "The content type of the attachment"
    }
  },
  "description": "The file attached to a part"
}
object phone_switch
{
  "type": "object",
  "title": "Phone Switch",
  "nullable": true,
  "properties": {
    "type": {
      "enum": [
        "phone_call_redirect"
      ],
      "type": "string",
      "default": "phone_call_redirect",
      "example": "phone_call_redirect",
      "description": ""
    },
    "phone": {
      "type": "string",
      "example": "+1 1234567890",
      "description": "Phone number in E.164 format, that has received the SMS to continue the conversation in the Messenger."
    }
  },
  "description": "Phone Switch Response"
}
object redact_conversation_request
{
  "oneOf": [
    {
      "type": "object",
      "title": "Redact Conversation Part Request",
      "required": [
        "type",
        "conversation_id",
        "conversation_part_id"
      ],
      "properties": {
        "type": {
          "enum": [
            "conversation_part"
          ],
          "type": "string",
          "example": "conversation_part",
          "description": "The type of resource being redacted."
        },
        "conversation_id": {
          "type": "string",
          "example": "19894788788",
          "description": "The id of the conversation."
        },
        "conversation_part_id": {
          "type": "string",
          "example": "19381789428",
          "description": "The id of the conversation_part."
        }
      },
      "description": "Payload of the request to redact a conversation part"
    },
    {
      "type": "object",
      "title": "Redact Conversation Source Request",
      "required": [
        "type",
        "conversation_id",
        "source_id"
      ],
      "properties": {
        "type": {
          "enum": [
            "source"
          ],
          "type": "string",
          "example": "source",
          "description": "The type of resource being redacted."
        },
        "source_id": {
          "type": "string",
          "example": "19894781231",
          "description": "The id of the source."
        },
        "conversation_id": {
          "type": "string",
          "example": "19894788788",
          "description": "The id of the conversation."
        }
      },
      "description": "Payload of the request to redact a conversation source"
    }
  ]
}
object reference
{
  "type": "object",
  "title": "Reference",
  "properties": {
    "id": {
      "type": "string",
      "example": "1a2b3c",
      "nullable": true,
      "description": ""
    },
    "type": {
      "type": "string",
      "example": "contact",
      "description": ""
    }
  },
  "description": "reference to another object"
}
object reply_conversation_request
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/contact_reply_conversation_request"
    },
    {
      "$ref": "#/components/schemas/admin_reply_conversation_request"
    }
  ]
}
object search_request
{
  "type": "object",
  "title": "Search data",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/single_filter_search_request",
          "title": "Single filter search request"
        },
        {
          "$ref": "#/components/schemas/multiple_filter_search_request",
          "title": "multiple filter search request"
        }
      ]
    },
    "pagination": {
      "$ref": "#/components/schemas/starting_after_paging"
    }
  },
  "description": "Search using Intercoms Search APIs."
}
object section
{
  "type": "object",
  "title": "Section",
  "x-tags": [
    "Help Center"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "6871119",
      "description": "The unique identifier for the section which is given by Intercom."
    },
    "url": {
      "type": "string",
      "example": "http://intercom.test/help/section/name",
      "nullable": true,
      "description": "The URL of the section. For multilingual help centers, this will be the URL of the section for the default language."
    },
    "icon": {
      "type": "string",
      "example": "book-bookmark",
      "nullable": true,
      "description": "The icon of the section."
    },
    "name": {
      "type": "string",
      "example": "Default language name",
      "description": "The name of the section. For multilingual sections, this will be the name of the default language's content."
    },
    "type": {
      "enum": [
        "section"
      ],
      "type": "string",
      "default": "section",
      "example": "section",
      "description": "The type of object - `section`."
    },
    "order": {
      "type": "integer",
      "example": 1,
      "description": "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."
    },
    "parent_id": {
      "oneOf": [
        {
          "type": "integer",
          "title": "Integer"
        },
        {
          "type": "string",
          "title": "String"
        }
      ],
      "example": 6871119,
      "description": "The id of the parent section."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928359,
      "description": "The time when the section was created. For multilingual sections, this will be the timestamp of creation of the default language's content."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1672928610,
      "description": "The time when the section was last updated. For multilingual sections, this will be the timestamp of last update of the default language's content."
    },
    "workspace_id": {
      "type": "string",
      "example": "hfi1bx4l",
      "description": "The id of the workspace which the section belongs to."
    },
    "default_locale": {
      "type": "string",
      "example": "en",
      "description": "The default locale of the help center. This field is only returned for multilingual help centers."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "Sections are subdivisions of a collection, with a collection potentially having multiple sections."
}
object section_list
{
  "type": "object",
  "title": "Sections",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/section"
      },
      "description": "An array of section objects"
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object - `list`."
    },
    "pages": {
      "$ref": "#/components/schemas/cursor_pages"
    },
    "total_count": {
      "type": "integer",
      "example": 12,
      "description": "A count of the total number of sections."
    }
  },
  "description": "This will return a list of Sections for the App."
}
object segment
{
  "type": "object",
  "title": "Segment",
  "x-tags": [
    "Segments"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "56203d253cba154d39010062",
      "description": "The unique identifier representing the segment."
    },
    "name": {
      "type": "string",
      "example": "Active",
      "description": "The name of the segment."
    },
    "type": {
      "enum": [
        "segment"
      ],
      "type": "string",
      "example": "segment",
      "description": "The type of object."
    },
    "count": {
      "type": "integer",
      "example": 3,
      "nullable": true,
      "description": "The number of items in the user segment. It's returned when `include_count=true` is included in the request."
    },
    "created_at": {
      "type": "integer",
      "example": 1394621988,
      "description": "The time the segment was created."
    },
    "updated_at": {
      "type": "integer",
      "example": 1394622004,
      "description": "The time the segment was updated."
    },
    "person_type": {
      "enum": [
        "contact",
        "user"
      ],
      "type": "string",
      "example": "contact",
      "description": "Type of the contact: contact (lead) or user."
    }
  },
  "description": "A segment is a group of your contacts defined by the rules that you set."
}
object segment_list
{
  "type": "object",
  "title": "Segment List",
  "properties": {
    "type": {
      "enum": [
        "segment.list"
      ],
      "type": "string",
      "example": "segment.list",
      "description": "The type of the object"
    },
    "pages": {
      "type": "object",
      "description": "A pagination object, which may be empty, indicating no further pages to fetch."
    },
    "segments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/segment"
      },
      "description": "A list of Segment objects"
    }
  },
  "description": "This will return a list of Segment Objects. The result may also have a pages object if the response is paginated."
}
object single_filter_search_request
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "example": "custom_attributes.social_network",
      "description": "The Intercom defined id representing the company."
    },
    "value": {
      "type": "string",
      "example": "facebook",
      "description": "The Intercom defined id representing the company."
    },
    "operator": {
      "enum": [
        "=",
        "!=",
        "IN",
        "NIN",
        "<",
        ">",
        "~",
        "!~",
        "^",
        "$"
      ],
      "type": "string",
      "example": "=",
      "description": "The Intercom defined id representing the company."
    }
  }
}
object sla_applied
{
  "type": "object",
  "title": "Applied SLA",
  "nullable": true,
  "properties": {
    "type": {
      "type": "string",
      "example": "conversation_sla_summary",
      "description": "object type"
    },
    "sla_name": {
      "type": "string",
      "example": "",
      "description": "The name of the SLA as given by the teammate when it was created."
    },
    "sla_status": {
      "enum": [
        "hit",
        "missed",
        "cancelled",
        "active"
      ],
      "type": "string",
      "example": "hit",
      "description": "SLA statuses:\n            - `hit`: If there’s at least one hit event in the underlying sla_events table, and no “missed” or “canceled” events for the conversation.\n            - `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.\n            - `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."
    }
  },
  "description": "The SLA Applied object contains the details for which SLA has been applied to this conversation.\nImportant: 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.\n"
}
object snooze_conversation_request
{
  "type": "object",
  "title": "Snooze Conversation Request",
  "required": [
    "message_type",
    "admin_id",
    "snoozed_until"
  ],
  "properties": {
    "admin_id": {
      "type": "string",
      "example": "5017691",
      "description": "The id of the admin who is performing the action."
    },
    "message_type": {
      "enum": [
        "snoozed"
      ],
      "type": "string",
      "example": "snoozed"
    },
    "snoozed_until": {
      "type": "integer",
      "format": "timestamp",
      "example": 1673609604,
      "description": "The time you want the conversation to reopen."
    }
  },
  "description": "Payload of the request to snooze a conversation"
}
object social_profile
{
  "type": "object",
  "title": "Social Profile",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "http://twitter.com/th1sland",
      "description": "The name of the Social media profile"
    },
    "name": {
      "type": "string",
      "example": "Facebook",
      "description": "The name of the Social media profile"
    },
    "type": {
      "type": "string",
      "example": "social_profile",
      "description": "value is \"social_profile\""
    }
  },
  "description": "A Social Profile allows you to label your contacts, companies, and conversations and list them using that Social Profile."
}
object starting_after_paging
{
  "type": "object",
  "title": "StartingAfterPaging",
  "nullable": true,
  "properties": {
    "page": {
      "type": "integer",
      "example": 2
    },
    "starting_after": {
      "type": "string",
      "example": "1HaSB+xrOyyMXAkS/c1RteCL7BzOzTvYjmjakgTergIH31eoe2v4/sbLsJWP\\nIncfQLD3ouPkZlCwJ86F\\n"
    }
  }
}
object subscription_type
{
  "type": "object",
  "title": "Subscription Types",
  "x-tags": [
    "Subscription Types"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "123456",
      "description": "The unique identifier representing the subscription type."
    },
    "type": {
      "type": "string",
      "example": "subscription",
      "description": "The type of the object - subscription"
    },
    "state": {
      "enum": [
        "live",
        "draft",
        "archived"
      ],
      "type": "string",
      "example": "live",
      "description": "The state of the subscription type."
    },
    "consent_type": {
      "enum": [
        "opt_out",
        "opt_in"
      ],
      "type": "string",
      "example": "opt_in",
      "description": "Describes the type of consent."
    },
    "translations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/translation"
      },
      "description": "An array of translations objects with the localised version of the subscription type in each available locale within your translation settings."
    },
    "content_types": {
      "type": "array",
      "items": {
        "enum": [
          "email",
          "sms_message"
        ],
        "type": "string",
        "example": "email"
      },
      "description": "The message types that this subscription supports - can contain `email` or `sms_message`."
    },
    "default_translation": {
      "$ref": "#/components/schemas/translation"
    }
  },
  "description": "A subscription type lets customers easily opt out of non-essential communications without missing what's important to them."
}
object subscription_type_list
{
  "type": "object",
  "title": "Subscription Types",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/subscription_type"
      },
      "description": "A list of subscription type objects associated with the workspace ."
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object"
    }
  },
  "description": "A list of subscription type objects."
}
object tag
{
  "type": "object",
  "title": "Tag",
  "x-tags": [
    "Tags"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "123456",
      "description": "The id of the tag"
    },
    "name": {
      "type": "string",
      "example": "Test tag",
      "description": "The name of the tag"
    },
    "type": {
      "type": "string",
      "example": "tag",
      "description": "value is \"tag\""
    },
    "applied_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time when the tag was applied to the object"
    },
    "applied_by": {
      "$ref": "#/components/schemas/reference"
    }
  },
  "description": "A tag allows you to label your contacts, companies, and conversations and list them using that tag."
}
object tag_company_request
{
  "type": "object",
  "title": "Tag Company Request Payload",
  "required": [
    "name",
    "companies"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Independent",
      "description": "The name of the tag, which will be created if not found."
    },
    "companies": {
      "type": "array",
      "items": {
        "properties": {
          "id": {
            "type": "string",
            "example": "531ee472cce572a6ec000006",
            "description": "The Intercom defined id representing the company."
          },
          "company_id": {
            "type": "string",
            "example": "6",
            "description": "The company id you have defined for the company."
          }
        }
      },
      "description": "The id or company_id of the company can be passed as input parameters."
    }
  },
  "description": "You can tag a single company or a list of companies."
}
object tag_list
{
  "type": "object",
  "title": "Tags",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag"
      },
      "description": "A list of tags objects associated with the workspace ."
    },
    "type": {
      "enum": [
        "list"
      ],
      "type": "string",
      "example": "list",
      "description": "The type of the object"
    }
  },
  "description": "A list of tags objects in the workspace."
}
object tag_multiple_users_request
{
  "type": "object",
  "title": "Tag Users Request Payload",
  "required": [
    "name",
    "users"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Independent",
      "description": "The name of the tag, which will be created if not found."
    },
    "users": {
      "type": "array",
      "items": {
        "properties": {
          "id": {
            "type": "string",
            "example": "5f7f0d217289f8d2f4262080",
            "description": "The Intercom defined id representing the user."
          }
        }
      }
    }
  },
  "description": "You can tag a list of users."
}
object tags
{
  "type": "object",
  "title": "Tags",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag"
      },
      "description": "A list of tags objects associated with the conversation."
    },
    "type": {
      "enum": [
        "tag.list"
      ],
      "type": "string",
      "example": "tag.list",
      "description": "The type of the object"
    }
  },
  "description": "A list of tags objects associated with a conversation"
}
object team
{
  "type": "object",
  "title": "Team",
  "x-tags": [
    "Teams"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "814865",
      "description": "The id of the team"
    },
    "name": {
      "type": "string",
      "example": "Example Team",
      "description": "The name of the team"
    },
    "type": {
      "type": "string",
      "example": "team",
      "description": "Value is always \"team\""
    },
    "admin_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        493881
      ],
      "description": "The list of admin IDs that are a part of the team."
    },
    "admin_priority_level": {
      "$ref": "#/components/schemas/admin_priority_level"
    }
  },
  "description": "Teams are groups of admins in Intercom."
}
object team_list
{
  "type": "object",
  "title": "Team List",
  "properties": {
    "type": {
      "enum": [
        "team.list"
      ],
      "type": "string",
      "example": "team.list",
      "description": "The type of the object"
    },
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/team"
      },
      "description": "A list of team objects"
    }
  },
  "description": "This will return a list of team objects for the App."
}
object team_priority_level
{
  "type": "object",
  "title": "Team Priority Level",
  "nullable": true,
  "properties": {
    "primary_team_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        814865
      ],
      "nullable": true,
      "description": "The primary team ids for the team"
    },
    "secondary_team_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        493881
      ],
      "nullable": true,
      "description": "The secondary team ids for the team"
    }
  },
  "description": "Admin priority levels for teams"
}
object ticket
{
  "type": "object",
  "title": "Ticket",
  "x-tags": [
    "Tickets"
  ],
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "1295",
      "description": "The unique identifier for the ticket which is given by Intercom."
    },
    "type": {
      "enum": [
        "ticket"
      ],
      "type": "string",
      "default": "ticket",
      "example": "ticket",
      "description": "Always ticket"
    },
    "contacts": {
      "$ref": "#/components/schemas/ticket_contacts"
    },
    "is_shared": {
      "type": "boolean",
      "example": true,
      "description": "Whether or not the ticket is shared with the customer."
    },
    "ticket_id": {
      "type": "string",
      "example": "1390",
      "description": "The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time the ticket was created as a UTC Unix timestamp."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The last time the ticket was updated as a UTC Unix timestamp."
    },
    "ticket_type": {
      "$ref": "#/components/schemas/ticket_type"
    },
    "ticket_parts": {
      "$ref": "#/components/schemas/ticket_parts"
    },
    "ticket_state": {
      "enum": [
        "submitted",
        "in_progress",
        "waiting_on_customer",
        "resolved"
      ],
      "type": "string",
      "example": "submitted",
      "description": "The state the ticket is currenly in"
    },
    "team_assignee_id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the team assigned to the ticket."
    },
    "admin_assignee_id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the admin assigned to the ticket."
    },
    "ticket_attributes": {
      "$ref": "#/components/schemas/ticket_custom_attributes"
    },
    "ticket_state_external_label": {
      "type": "string",
      "description": "The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal."
    },
    "ticket_state_internal_label": {
      "type": "string",
      "description": "The state the ticket is currently in, in a human readable form - visible in Intercom"
    }
  },
  "description": "Tickets are how you track requests from your users."
}
object ticket_contacts
{
  "type": "object",
  "title": "Contacts",
  "x-tags": [
    "Tickets"
  ],
  "properties": {
    "type": {
      "enum": [
        "contact.list"
      ],
      "type": "string",
      "example": "contact.list",
      "description": "always contact.list"
    },
    "contacts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/contact_reference"
      },
      "description": "The list of contacts affected by this ticket."
    }
  },
  "description": "The list of contacts affected by a ticket."
}
object ticket_custom_attributes
{
  "type": "object",
  "title": "Ticket Attributes",
  "example": {
    "_default_title_": "Found a bug",
    "_default_description_": "The button's not working"
  },
  "description": "An object containing the different attributes associated to the ticket as key-value pairs. For the default title and description attributes, the keys are `_default_title_` and `_default_description_`.",
  "additionalProperties": {
    "anyOf": [
      {
        "type": "string",
        "nullable": true
      },
      {
        "type": "number"
      },
      {
        "type": "boolean"
      },
      {
        "type": "array",
        "items": {
          "description": "WARNING: Missing items property in array schema. Missing items property has been filled with this AnyType schema."
        }
      },
      {
        "$ref": "#/components/schemas/file_attribute"
      }
    ]
  }
}
object ticket_note
{
  "type": "object",
  "title": "A Ticket Part representing a note",
  "properties": {
    "id": {
      "type": "string",
      "example": "3",
      "description": "The id representing the note."
    },
    "body": {
      "type": "string",
      "example": "<p>Okay!</p>",
      "nullable": true,
      "description": "The message body, which may contain HTML."
    },
    "type": {
      "enum": [
        "ticket_part"
      ],
      "type": "string",
      "example": "ticket_part",
      "description": "Always ticket_part"
    },
    "author": {
      "$ref": "#/components/schemas/ticket_part_author"
    },
    "redacted": {
      "type": "boolean",
      "example": false,
      "description": "Whether or not the ticket part has been redacted."
    },
    "part_type": {
      "enum": [
        "note"
      ],
      "type": "string",
      "example": "note",
      "description": "Always note"
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time the note was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The last time the note was updated."
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/part_attachment"
      },
      "title": "Ticket part attachments",
      "description": "A list of attachments for the part."
    }
  },
  "description": "A Ticket Part representing a note in the ticket"
}
object ticket_part
{
  "type": "object",
  "title": "Ticket Part",
  "x-tags": [
    "Tickets"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "3",
      "description": "The id representing the ticket part."
    },
    "body": {
      "type": "string",
      "example": "<p>Okay!</p>",
      "nullable": true,
      "description": "The message body, which may contain HTML."
    },
    "type": {
      "type": "string",
      "example": "ticket_part",
      "description": "Always ticket_part"
    },
    "author": {
      "$ref": "#/components/schemas/ticket_part_author"
    },
    "redacted": {
      "type": "boolean",
      "example": false,
      "description": "Whether or not the ticket part has been redacted."
    },
    "part_type": {
      "type": "string",
      "example": "comment",
      "description": "The type of ticket part."
    },
    "created_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597223,
      "description": "The time the ticket part was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1663597260,
      "description": "The last time the ticket part was updated."
    },
    "assigned_to": {
      "$ref": "#/components/schemas/reference",
      "nullable": true,
      "description": "The id of the admin that was assigned the ticket by this ticket_part (null if there has been no change in assignment.)"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/part_attachment"
      },
      "title": "Ticket part attachments",
      "description": "A list of attachments for the part."
    },
    "external_id": {
      "type": "string",
      "example": "abcd1234",
      "nullable": true,
      "description": "The external id of the ticket part"
    },
    "ticket_state": {
      "enum": [
        "submitted",
        "in_progress",
        "waiting_on_customer",
        "resolved"
      ],
      "type": "string",
      "example": "submitted",
      "description": "The state of the ticket."
    },
    "previous_ticket_state": {
      "enum": [
        "submitted",
        "in_progress",
        "waiting_on_customer",
        "resolved"
      ],
      "type": "string",
      "example": "submitted",
      "description": "The previous state of the ticket."
    }
  },
  "description": "A Ticket Part represents a message in the ticket."
}
object ticket_part_author
{
  "type": "object",
  "title": "Ticket part author",
  "properties": {
    "id": {
      "type": "string",
      "example": "274",
      "description": "The id of the author"
    },
    "name": {
      "type": "string",
      "example": "Operator",
      "nullable": true,
      "description": "The name of the author"
    },
    "type": {
      "enum": [
        "admin",
        "bot",
        "team"
      ],
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email",
      "example": "operator+abcd1234@intercom.io",
      "description": "The email of the author"
    }
  },
  "description": "The author that wrote or triggered the part. Can be a bot, admin, team or user."
}
object ticket_parts
{
  "type": "object",
  "title": "Ticket Parts",
  "properties": {
    "type": {
      "enum": [
        "ticket_part.list"
      ],
      "type": "string",
      "example": "ticket_part.list",
      "description": ""
    },
    "total_count": {
      "type": "integer",
      "example": 2,
      "description": ""
    },
    "ticket_parts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ticket_part"
      },
      "title": "Tickt Parts",
      "description": "A list of Ticket Part objects for each ticket. There is a limit of 500 parts."
    }
  },
  "description": "A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts."
}
object ticket_request_custom_attributes
{
  "type": "object",
  "title": "Ticket Attributes",
  "example": {
    "_default_title_": "Found a bug",
    "_default_description_": "The button is not working"
  },
  "description": "The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are `_default_title_` and `_default_description_`. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by [listing the ticket type](ref:get_ticket-types). For example, if the ticket type has an attribute called `priority` of type `list`, the key should be `priority` and the value of the attribute should be the guid of the list item (e.g. `de1825a0-0164-4070-8ca6-13e22462fa7e`).",
  "additionalProperties": {
    "anyOf": [
      {
        "type": "string",
        "nullable": true
      },
      {
        "type": "number"
      },
      {
        "type": "boolean"
      },
      {
        "type": "array",
        "items": {
          "description": "WARNING: Missing items property in array schema. Missing items property has been filled with this AnyType schema."
        }
      }
    ]
  }
}
object ticket_type
{
  "type": "object",
  "title": "Ticket Type",
  "x-tags": [
    "Tickets"
  ],
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "1295",
      "description": "The id representing the ticket type."
    },
    "icon": {
      "type": "string",
      "example": "🐞",
      "description": "The icon of the ticket type"
    },
    "name": {
      "type": "string",
      "example": "Bug",
      "description": "The name of the ticket type"
    },
    "type": {
      "type": "string",
      "example": "ticket_type",
      "description": "String representing the object's type. Always has the value `ticket_type`."
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Whether the ticket type is archived or not."
    },
    "created_at": {
      "type": "integer",
      "format": "timestamp",
      "description": "The date and time the ticket type was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "timestamp",
      "description": "The date and time the ticket type was last updated."
    },
    "description": {
      "type": "string",
      "example": "A bug that has been reported.",
      "description": "The description of the ticket type"
    },
    "workspace_id": {
      "type": "string",
      "example": "ecahpwf5",
      "description": "The id of the workspace that the ticket type belongs to."
    },
    "ticket_type_attributes": {
      "$ref": "#/components/schemas/ticket_type_attribute_list"
    }
  },
  "description": "A ticket type, used to define the data fields to be captured in a ticket."
}
object ticket_type_attribute
{
  "type": "object",
  "title": "Ticket Type Attribute",
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "1",
      "description": "The id representing the ticket type attribute."
    },
    "name": {
      "type": "string",
      "example": "Title",
      "description": "The name of the ticket type attribute"
    },
    "type": {
      "type": "string",
      "example": "ticket_type_attribute",
      "description": "String representing the object's type. Always has the value `ticket_type_attribute`."
    },
    "order": {
      "type": "integer",
      "example": 1,
      "description": "The order of the attribute against other attributes"
    },
    "default": {
      "type": "boolean",
      "example": true,
      "description": "Whether the attribute is built in or not."
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Whether the ticket type attribute is archived or not."
    },
    "data_type": {
      "type": "string",
      "example": "string",
      "description": "The type of the data attribute (allowed values: \"string list integer decimal boolean datetime files\")"
    },
    "created_at": {
      "type": "integer",
      "format": "timestamp",
      "description": "The date and time the ticket type attribute was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "timestamp",
      "description": "The date and time the ticket type attribute was last updated."
    },
    "description": {
      "type": "string",
      "example": "Bug title.",
      "description": "The description of the ticket type attribute"
    },
    "workspace_id": {
      "type": "string",
      "example": "ecahpwf5",
      "description": "The id of the workspace that the ticket type attribute belongs to."
    },
    "input_options": {
      "type": "object",
      "example": "multiline: true",
      "description": "Input options for the attribute"
    },
    "ticket_type_id": {
      "type": "integer",
      "example": 42,
      "description": "The id of the ticket type that the attribute belongs to."
    },
    "visible_on_create": {
      "type": "boolean",
      "default": true,
      "example": false,
      "description": "Whether the attribute is visible or not to teammates."
    },
    "required_to_create": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required or not for teammates."
    },
    "visible_to_contacts": {
      "type": "boolean",
      "default": true,
      "example": false,
      "description": "Whether the attribute is visible or not to contacts."
    },
    "required_to_create_for_contacts": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required or not for contacts."
    }
  },
  "description": "Ticket type attribute, used to define each data field to be captured in a ticket."
}
object ticket_type_attribute_list
{
  "type": "object",
  "title": "Ticket Type Attributes",
  "properties": {
    "type": {
      "type": "string",
      "description": "String representing the object's type. Always has the value `ticket_type_attributes.list`."
    },
    "ticket_type_attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ticket_type_attribute"
      },
      "description": "A list of ticket type attributes associated with a given ticket type."
    }
  },
  "description": "A list of attributes associated with a given ticket type."
}
object ticket_type_list
{
  "type": "object",
  "title": "Ticket Types",
  "properties": {
    "type": {
      "type": "string",
      "description": "String representing the object's type. Always has the value `ticket_type.list`."
    },
    "ticket_types": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ticket_type"
      },
      "description": "A list of ticket_types associated with a given workspace."
    }
  },
  "description": "A list of ticket types associated with a given workspace."
}
object translation
{
  "type": "object",
  "title": "Translation",
  "properties": {
    "name": {
      "type": "string",
      "example": "Announcements",
      "description": "The localised name of the subscription type."
    },
    "locale": {
      "type": "string",
      "example": "en",
      "description": "The two character identifier for the language of the translation object."
    },
    "description": {
      "type": "string",
      "example": "Offers, product and feature announcements",
      "description": "The localised description of the subscription type."
    }
  },
  "description": "A translation object contains the localised details of a subscription type."
}
object untag_company_request
{
  "type": "object",
  "title": "Untag Company Request Payload",
  "required": [
    "name",
    "companies"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Independent",
      "description": "The name of the tag which will be untagged from the company"
    },
    "companies": {
      "type": "array",
      "items": {
        "properties": {
          "id": {
            "type": "string",
            "example": "531ee472cce572a6ec000006",
            "description": "The Intercom defined id representing the company."
          },
          "untag": {
            "type": "boolean",
            "example": true,
            "description": "Always set to true"
          },
          "company_id": {
            "type": "string",
            "example": "6",
            "description": "The company id you have defined for the company."
          }
        }
      },
      "description": "The id or company_id of the company can be passed as input parameters."
    }
  },
  "description": "You can tag a single company or a list of companies."
}
object update_article_request
{
  "type": "object",
  "title": "Update Article Request Payload",
  "nullable": true,
  "properties": {
    "body": {
      "type": "string",
      "example": "<p>This is the body in html</p>",
      "description": "The content of the article. For multilingual articles, this will be the body of the default language's content."
    },
    "state": {
      "enum": [
        "published",
        "draft"
      ],
      "type": "string",
      "example": "draft",
      "description": "Whether the article will be `published` or will be a `draft`. Defaults to draft. For multilingual articles, this will be the state of the default language's content."
    },
    "title": {
      "type": "string",
      "example": "Thanks for everything",
      "description": "The title of the article.For multilingual articles, this will be the title of the default language's content."
    },
    "author_id": {
      "type": "integer",
      "example": 1295,
      "description": "The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace."
    },
    "parent_id": {
      "type": "string",
      "example": "18",
      "description": "The id of the article's parent collection or section. An article without this field stands alone."
    },
    "description": {
      "type": "string",
      "example": "Description of the Article",
      "description": "The description of the article. For multilingual articles, this will be the description of the default language's content."
    },
    "parent_type": {
      "type": "string",
      "example": "collection",
      "description": "The type of parent, which can either be a `collection` or `section`."
    },
    "translated_content": {
      "$ref": "#/components/schemas/article_translated_content"
    }
  },
  "description": "You can Update an Article"
}
object update_collection_request
{
  "type": "object",
  "title": "Update Collection Request Payload",
  "properties": {
    "name": {
      "type": "string",
      "example": "collection 51",
      "description": "The name of the collection. For multilingual collections, this will be the name of the default language's content."
    },
    "description": {
      "type": "string",
      "example": "English description",
      "description": "The description of the collection. For multilingual collections, this will be the description of the default language's content."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "You can update a collection"
}
object update_contact_request
{
  "type": "object",
  "title": "Update Contact Request Payload",
  "properties": {
    "name": {
      "type": "string",
      "example": "John Doe",
      "nullable": true,
      "description": "The contacts name"
    },
    "role": {
      "type": "string",
      "description": "The role of the contact."
    },
    "email": {
      "type": "string",
      "example": "jdoe@example.com",
      "description": "The contacts email"
    },
    "phone": {
      "type": "string",
      "example": "+353871234567",
      "nullable": true,
      "description": "The contacts phone"
    },
    "avatar": {
      "type": "string",
      "example": "https://www.example.com/avatar_image.jpg",
      "nullable": true,
      "description": "An image URL containing the avatar of a contact"
    },
    "owner_id": {
      "type": "integer",
      "example": 123,
      "nullable": true,
      "description": "The id of an admin that has been assigned account ownership of the contact"
    },
    "external_id": {
      "type": "string",
      "description": "A unique identifier for the contact which is given to Intercom"
    },
    "last_seen_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually)"
    },
    "signed_up_at": {
      "type": "integer",
      "format": "date-time",
      "example": 1571672154,
      "nullable": true,
      "description": "The time specified for when a contact signed up"
    },
    "custom_attributes": {
      "type": "object",
      "nullable": true,
      "description": "The custom attributes which are set for the contact"
    },
    "unsubscribed_from_emails": {
      "type": "boolean",
      "example": true,
      "nullable": true,
      "description": "Whether the contact is unsubscribed from emails"
    }
  },
  "description": "You can update a contact"
}
object update_conversation_request
{
  "type": "object",
  "title": "Update Conversation Request",
  "properties": {
    "read": {
      "type": "boolean",
      "example": true,
      "description": "Mark a conversation as read within Intercom."
    },
    "custom_attributes": {
      "$ref": "#/components/schemas/custom_attributes"
    }
  },
  "description": "Payload of the request to update a conversation"
}
object update_data_attribute_request
{
  "type": "object",
  "title": "Update Data Attribute Request",
  "properties": {
    "options": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "option1",
        "option2"
      ],
      "description": "To create list attributes. Provide a set of hashes with `value` as the key of the options you want to make. `data_type` must be `string`."
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute is to be archived or not."
    },
    "description": {
      "type": "string",
      "example": "My Data Attribute Description",
      "description": "The readable description you see in the UI for the attribute."
    },
    "messenger_writable": {
      "type": "boolean",
      "example": false,
      "description": "Can this attribute be updated by the Messenger"
    }
  },
  "description": ""
}
object update_section_request
{
  "type": "object",
  "title": "Update Section Request Payload",
  "properties": {
    "name": {
      "type": "string",
      "example": "Section 51",
      "description": "The name of the collection. For multilingual collections, this will be the name of the default language's content."
    },
    "parent_id": {
      "type": "integer",
      "example": 18,
      "description": "The id for the collection this section will be within."
    },
    "translated_content": {
      "$ref": "#/components/schemas/group_translated_content",
      "nullable": true
    }
  },
  "description": "You can update a Section"
}
object update_ticket_request
{
  "type": "object",
  "title": "Update Ticket Request Payload",
  "properties": {
    "state": {
      "enum": [
        "in_progress",
        "waiting_on_customer",
        "resolved"
      ],
      "type": "string",
      "example": "submitted",
      "description": "The state of the ticket."
    },
    "is_shared": {
      "type": "boolean",
      "example": true,
      "description": "Specify whether the ticket is visible to users."
    },
    "assignment": {
      "type": "object",
      "properties": {
        "admin_id": {
          "type": "string",
          "example": "123",
          "description": "The ID of the admin performing the action."
        },
        "assignee_id": {
          "type": "string",
          "example": "123",
          "description": "The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it."
        }
      }
    },
    "ticket_attributes": {
      "type": "object",
      "example": {
        "title": "example",
        "description": "having a problem"
      },
      "description": "The attributes set on the ticket."
    }
  },
  "description": "You can update a Ticket"
}
object update_ticket_type_attribute_request
{
  "type": "object",
  "title": "Update Ticket Type Attribute Request Payload",
  "properties": {
    "name": {
      "type": "string",
      "example": "Bug Priority",
      "description": "The name of the ticket type attribute"
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute should be archived and not shown during creation of the ticket (it will still be present on previously created tickets)"
    },
    "multiline": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute allows multiple lines of text (only applicable to string attributes)"
    },
    "list_items": {
      "type": "string",
      "example": "Low Priority,Medium Priority,High Priority",
      "description": "A comma delimited list of items for the attribute value (only applicable to list attributes)"
    },
    "description": {
      "type": "string",
      "example": "Priority level of the bug",
      "description": "The description of the attribute presented to the teammate or contact"
    },
    "visible_on_create": {
      "type": "boolean",
      "default": true,
      "example": true,
      "description": "Whether the attribute is visible to teammates when creating a ticket in Inbox."
    },
    "required_to_create": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox."
    },
    "visible_to_contacts": {
      "type": "boolean",
      "default": true,
      "example": true,
      "description": "Whether the attribute is visible to contacts when creating a ticket in Messenger."
    },
    "allow_multiple_values": {
      "type": "boolean",
      "example": false,
      "description": "Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)"
    },
    "required_to_create_for_contacts": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger."
    }
  },
  "description": "You can update a Ticket Type Attribute"
}
object update_ticket_type_request
{
  "type": "object",
  "title": "Update Ticket Type Request Payload",
  "nullable": true,
  "properties": {
    "icon": {
      "type": "string",
      "default": "🎟️",
      "example": "🐞",
      "description": "The icon of the ticket type."
    },
    "name": {
      "type": "string",
      "example": "Bug",
      "description": "The name of the ticket type."
    },
    "archived": {
      "type": "boolean",
      "example": false,
      "description": "The archived status of the ticket type."
    },
    "description": {
      "type": "string",
      "example": "A bug has been occured",
      "description": "The description of the ticket type."
    },
    "is_internal": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Whether the tickets associated with this ticket type are intended for internal use only or will be shared with customers. This is currently a limited attribute."
    }
  },
  "description": "The request payload for updating a ticket type.\nYou can copy the `icon` property for your ticket type from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/)\n"
}
object update_visitor_request
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "id"
      ]
    },
    {
      "required": [
        "user_id"
      ]
    }
  ],
  "title": "Update Visitor Request Payload",
  "properties": {
    "id": {
      "type": "string",
      "example": "8a88a590-e",
      "description": "A unique identified for the visitor which is given by Intercom."
    },
    "name": {
      "type": "string",
      "example": "Christian Bale",
      "description": "The visitor's name."
    },
    "user_id": {
      "type": "string",
      "example": "123",
      "description": "A unique identified for the visitor which is given by you."
    },
    "custom_attributes": {
      "type": "object",
      "example": {
        "team_mates": 9,
        "monthly_spend": 155.5,
        "paid_subscriber": true
      },
      "description": "The custom attributes which are set for the visitor.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "description": "Update an existing visitor."
}
object visitor
{
  "type": "object",
  "title": "Visitor",
  "nullable": true,
  "properties": {
    "id": {
      "type": "string",
      "example": "530370b477ad7120001d",
      "description": "The Intercom defined id representing the Visitor."
    },
    "name": {
      "type": "string",
      "example": "Jane Doe",
      "nullable": true,
      "description": "The name of the visitor."
    },
    "tags": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "properties": {
              "id": {
                "type": "string",
                "example": "8482",
                "description": "The id of the tag."
              },
              "name": {
                "type": "string",
                "example": "tag_name",
                "description": "The name of the tag."
              },
              "type": {
                "enum": [
                  "tag"
                ],
                "type": "string",
                "example": "tag",
                "description": "The type of the object"
              }
            }
          }
        },
        "type": {
          "enum": [
            "tag.list"
          ],
          "type": "string",
          "example": "tag.list",
          "description": "The type of the object"
        }
      }
    },
    "type": {
      "type": "string",
      "default": "visitor",
      "example": "visitor",
      "description": "Value is 'visitor'"
    },
    "email": {
      "type": "string",
      "format": "email",
      "example": "jane.doe@example.com",
      "description": "The email of the visitor."
    },
    "phone": {
      "type": "string",
      "example": "555-555-5555",
      "nullable": true,
      "description": "The phone number of the visitor."
    },
    "app_id": {
      "type": "string",
      "example": "hfi1bx4l",
      "description": "The id of the app the visitor is associated with."
    },
    "avatar": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "default": "avatar",
          "example": "avatar",
          "description": ""
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "example": "https://example.com/avatar.png",
          "nullable": true,
          "description": "This object represents the avatar associated with the visitor."
        }
      }
    },
    "user_id": {
      "type": "string",
      "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
      "description": "Automatically generated identifier for the Visitor."
    },
    "owner_id": {
      "type": "string",
      "example": "5169261",
      "nullable": true,
      "description": "The id of the admin that owns the Visitor."
    },
    "referrer": {
      "type": "string",
      "example": "https://www.google.com/",
      "nullable": true,
      "description": "The referer of the visitor."
    },
    "segments": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "segment.list"
          ],
          "type": "string",
          "example": "segment.list",
          "description": "The type of the object"
        },
        "segments": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "utm_term": {
      "type": "string",
      "example": "messenger",
      "nullable": true,
      "description": "The utm_term of the visitor."
    },
    "anonymous": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this visitor is anonymous."
    },
    "companies": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "company.list"
          ],
          "type": "string",
          "example": "company.list",
          "description": "The type of the object"
        },
        "companies": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/company"
          }
        }
      }
    },
    "pseudonym": {
      "type": "string",
      "example": "Red Duck from Dublin",
      "nullable": true,
      "description": "The pseudonym of the visitor."
    },
    "created_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the Visitor was added to Intercom."
    },
    "updated_at": {
      "type": "integer",
      "example": 1663597260,
      "description": "The last time the Visitor was updated."
    },
    "utm_medium": {
      "type": "string",
      "example": "email",
      "nullable": true,
      "description": "The utm_medium of the visitor."
    },
    "utm_source": {
      "type": "string",
      "example": "Intercom",
      "nullable": true,
      "description": "The utm_source of the visitor."
    },
    "utm_content": {
      "type": "string",
      "example": "banner",
      "nullable": true,
      "description": "The utm_content of the visitor."
    },
    "do_not_track": {
      "type": "boolean",
      "example": false,
      "nullable": true,
      "description": "Identifies if this visitor has do not track enabled."
    },
    "signed_up_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the Visitor signed up for your product."
    },
    "utm_campaign": {
      "type": "string",
      "example": "intercom-link",
      "nullable": true,
      "description": "The utm_campaign of the visitor."
    },
    "location_data": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "default": "location_data",
          "example": "location_data",
          "description": ""
        },
        "timezone": {
          "type": "string",
          "example": "Europe/Dublin",
          "description": "The timezone of the visitor."
        },
        "city_name": {
          "type": "string",
          "example": "Dublin",
          "description": "The city name of the visitor."
        },
        "postal_code": {
          "type": "string",
          "example": "D02 N960",
          "description": "The postal code of the visitor."
        },
        "region_name": {
          "type": "string",
          "example": "Leinster",
          "description": "The region name of the visitor."
        },
        "country_code": {
          "type": "string",
          "example": "IRL",
          "description": "The country code of the visitor."
        },
        "country_name": {
          "type": "string",
          "example": "Ireland",
          "description": "The country name of the visitor."
        },
        "continent_code": {
          "type": "string",
          "example": "EU",
          "description": "The continent code of the visitor."
        }
      }
    },
    "session_count": {
      "type": "integer",
      "example": 1,
      "description": "The number of sessions the Visitor has had."
    },
    "las_request_at": {
      "type": "integer",
      "example": 1663597260,
      "description": "The time the Lead last recorded making a request."
    },
    "social_profiles": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "social_profile.list"
          ],
          "type": "string",
          "example": "social_profile.list",
          "description": "The type of the object"
        },
        "social_profiles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "has_hard_bounced": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this visitor has had a hard bounce."
    },
    "custom_attributes": {
      "type": "object",
      "description": "The custom attributes you have set on the Visitor.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "remote_created_at": {
      "type": "integer",
      "example": 1663597223,
      "description": "The time the Visitor was added to Intercom."
    },
    "marked_email_as_spam": {
      "type": "boolean",
      "example": false,
      "description": "Identifies if this visitor has marked an email as spam."
    },
    "unsubscribed_from_emails": {
      "type": "boolean",
      "example": false,
      "description": "Whether the Visitor is unsubscribed from emails."
    }
  },
  "description": "Visitors are useful for representing anonymous people that have not yet been identified. They usually represent website visitors. Visitors are not visible in Intercom platform. The Visitors resource provides methods to fetch, update, convert and delete."
}
object visitor_deleted_object
{
  "type": "object",
  "title": "Visitor Deleted Object",
  "properties": {
    "id": {
      "type": "string",
      "example": "530370b477ad7120001d",
      "description": "The unique identifier for the visitor which is given by Intercom."
    },
    "type": {
      "enum": [
        "visitor"
      ],
      "type": "string",
      "example": "visitor",
      "description": "The type of object which was deleted"
    },
    "user_id": {
      "type": "string",
      "example": "8a88a590-e1c3-41e2-a502-e0649dbf721c",
      "description": "Automatically generated identifier for the Visitor."
    }
  },
  "description": "Response returned when an object is deleted"
}