# Create an internal article

You can create a new internal article by making a POST request to `https://api.intercom.io/internal_articles`.

Endpoint: POST /internal_articles
Version: 2.16
Security: bearerAuth

## Header parameters:

  - `Intercom-Version` (string)

## Request fields (application/json):

  - `title` (string, required)
    The title of the article.
    Example: Thanks for everything

  - `body` (string)
    The content of the article in HTML. Mutually exclusive with `body_markdown`.
    Example: <p>This is the body in html</p>

  - `body_markdown` (string)
    The content of the article in markdown. An alternative to `body` — you can provide content as markdown instead of HTML. Mutually exclusive with `body`.
    Example: # Internal Guide

Some instructions.


  - `author_id` (integer, required)
    The id of the author of the article.
    Example: 1295

  - `owner_id` (integer, required)
    The id of the owner of the article.
    Example: 1295

  - `audience_ids` (array)
    The list of audience IDs to target this internal article to for Fin AI Agent. Pass an empty array or omit the field for no audience targeting. Unknown audience IDs return a `404` error with no partial commit.
    Example: [1,2]

  - `ai_chatbot_availability` (boolean)
    Whether the internal article should be available for AI Chatbot (Fin). Defaults to false.
    Example: true

  - `ai_copilot_availability` (boolean)
    Whether the internal article should be available for AI Copilot. Defaults to false.
    Example: true

  - `ai_sales_agent_availability` (boolean)
    Whether the internal article should be available for AI Sales Agent. Defaults to false.
    Example: true

## Response 200 fields (application/json):

  - `type` (string)
    The type of object - `internal_article`.
    Enum: "internal_article"

  - `id` (string)
    The unique identifier for the article which is given by Intercom.
    Example: 6871119

  - `title` (string)
    The title of the article.

  - `body` (string)
    The body of the article in HTML.
    Example: Default language body in html

  - `body_markdown` (string)
    The body of the article in markdown.
    Example: # Internal Guide

Body of the article in markdown


  - `owner_id` (integer)
    The id of the owner of the article.
    Example: 5017691

  - `author_id` (integer)
    The id of the author of the article.
    Example: 5017691

  - `created_at` (integer)
    The time when the article was created.
    Example: 1672928359

  - `updated_at` (integer)
    The time when the article was last updated.
    Example: 1672928610

  - `locale` (string)
    The default locale of the article.

  - `audience_ids` (array)
    The list of audience IDs this internal article is targeted to for Fin AI Agent. Empty array means no audience targeting is set.
    Example: [1,2]

  - `ai_chatbot_availability` (boolean)
    Whether the internal article is available for AI Chatbot (Fin).
    Example: true

  - `ai_copilot_availability` (boolean)
    Whether the internal article is available for AI Copilot.
    Example: true

  - `ai_sales_agent_availability` (boolean)
    Whether the internal article is available for AI Sales Agent.
    Example: true

## Response 400 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

  - `errors.field` (string)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: email

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

  - `errors.field` (string)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: email

