# Create a note

You can add a note to a single contact.
Requires the `read_write_users` or `write_users_companies` OAuth scope.

Endpoint: POST /contacts/{contact_id}/notes
Version: 2.17
Security: bearerAuth

## Path parameters:

  - `contact_id` (string, required)
    The unique identifier of a given contact.

## Header parameters:

  - `Intercom-Version` (string)

## Request fields (application/json):

  - `body` (string, required)
    The text of the note.
    Example: New note

  - `admin_id` (string)
    The unique identifier of a given admin.
    Example: 123

## Response 200 fields (application/json):

  - `type` (string)
    String representing the object's type. Always has the value `note`.
    Example: note

  - `id` (string)
    The id of the note.
    Example: 17495962

  - `created_at` (integer)
    The time the note was created.
    Example: 1674589321

  - `contact` (object)
    Represents the contact that the note was created about.

  - `contact.type` (string)
    String representing the object's type. Always has the value `contact`.

  - `contact.id` (string)
    The id of the contact.
    Example: 214656d0c743eafcfde7f248

  - `company` (object)
    Represents the company that the note was created about.

  - `company.type` (string)
    String representing the object's type. Always has the value `company`.

  - `company.id` (string)
    The id of the company.
    Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632

  - `author` (object)
    Represents the Admin that created the note. When the note has no recorded admin, this is `null` on a single note and left out of each note in a list.

  - `author.type` (string)
    String representing the object's type. Always has the value `admin`.
    Example: admin

  - `author.id` (string)
    The id representing the admin.
    Example: 1295

  - `author.name` (string)
    The name of the admin.
    Example: Joe Example

  - `author.email` (string)
    The email of the admin.
    Example: jdoe@example.com

  - `author.job_title` (string)
    The job title of the admin.
    Example: Associate

  - `author.away_mode_enabled` (boolean)
    Identifies if this admin is currently set in away mode.
    Example: false

  - `author.away_mode_reassign` (boolean)
    Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.
    Example: false

  - `author.away_status_reason_id` (integer)
    The unique identifier of the away status reason. Not returned by List all admins.
    Example: 12345

  - `author.has_inbox_seat` (boolean)
    Identifies if this admin has a paid inbox seat to restrict/allow features that require them.
    Example: true

  - `author.team_ids` (array)
    The ids of the teams the admin belongs to. When the workspace has a default team, its id is the last item.
    Example: [814865]

  - `author.avatar` (object)
    The teammate's avatar image. On List all admins it is only included when `display_avatar` is `true`. Elsewhere it is left out when the teammate has neither an uploaded avatar nor a gravatar.

  - `author.avatar.type` (string)
    Value is `avatar`. Returned by List all admins only.
    Example: avatar

  - `author.avatar.image_url` (string)
    The URL of the avatar image.
    Example: https://picsum.photos/200/300

  - `author.team_priority_level` (object)
    Admin priority levels for teams

  - `author.team_priority_level.primary_team_ids` (array)
    The primary team ids for the team
    Example: [814865]

  - `author.team_priority_level.secondary_team_ids` (array)
    The secondary team ids for the team
    Example: [493881]

  - `author.role` (object)
    The role assigned to this admin. Only present if the admin has a role assigned.

  - `author.role.type` (string)
    String representing the object's type. Always has the value `role`.
    Example: role

  - `author.role.id` (string)
    The id of the role.
    Example: 1

  - `author.role.name` (string)
    The name of the role.
    Example: Support Agent

  - `body` (string)
    The body text of the note.
    Example: <p>Text for the note.</p>

## 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` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

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

## 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` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

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

## Response 404 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` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

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

