Notes

Create a new note. By default it is authored by the calling user; set creator to attribute it to a different internal person in your organization. Notes can be attached directly to entities (Persons, Companies, Opportunities), anchored to an interaction (meeting, call, or chat message), or written as a reply to an existing note.

The type field selects the shape of the request body. AI Notetaker note types (ai-notetaker, ai-notetaker-reply) are system-generated and cannot be created through this endpoint.

typeDescriptionRequiredOptional
entitiesA note attached directly to one or more entities.content, and at least one of persons / companies / opportunities.Any combination of persons / companies / opportunities.
interactionA note anchored to a meeting, call, or chat message.content, interaction.{type,id}.persons / companies / opportunities, added as direct associations on top of the interaction's own participants.
user-replyA reply to an existing root note. Replies have no entity associations or interaction attachment of their own.content, parent.id (must reference an existing root note the caller can access).None

By default a note is authored by the calling user. To attribute a note to a different member of your organization, set the optional creator field to reference that person by id. The referenced person must be an active internal person in your organization.

By default a note's creation time is the time of the request. To backfill a historical note, set the optional createdAt field to the time the note should be recorded as created.

Body content. content.html is rendered HTML that must use only the allowed tags; submitting restricted tags, attributes, URL schemes, or mention spans will cause the request to fail. See the request examples below for representative payloads.

post/v2/notes

Request

  • Base URL
    https://api.affinity.co
  • URL
    https://api.affinity.co/v2/notes
  • Auth
    HTTP bearer

Request body

OR
OR

Example request

{
  "content": {
    "html": "<p>Quick recap of the call. Action items follow.</p>"
  },
  "creator": {
    "id": 1
  },
  "createdAt": "2025-01-15T09:30:00Z",
  "persons": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ],
  "companies": [
    {
      "id": 10
    }
  ],
  "opportunities": [
    {
      "id": 100
    }
  ]
}

Response

Created

OR
OR
OR
OR

Example response

{
  "creator": {
    "id": 1,
    "firstName": "Jane",
    "lastName": "Doe",
    "primaryEmailAddress": "jane.smith@northpointvc.com",
    "type": "internal"
  },
  "mentions": [
    {
      "id": 1,
      "type": "person",
      "person": {
        "id": 1,
        "firstName": "Jane",
        "lastName": "Smith",
        "primaryEmailAddress": "jane.smith@northpointvc.com",
        "type": "internal"
      }
    }
  ]
}

Changes

    • info

      added entities interaction user-reply mapping keys to the request discriminator

    • info

      added meeting call chat-message discriminator mapping keys to the / request property

    • info

      added entities interaction ai-notetaker user-reply ai-notetaker-reply mapping keys to the response discriminator for the response status

    • info

      added authentication authorization bad-request conflict method-not-allowed not-acceptable not-found not-implemented rate-limit server timeout unprocessable-entity unsupported-media-type validation discriminator mapping keys to the / response property for the response status

    • info

      added bad-request validation discriminator mapping keys to the / response property for the response status

    • info

      added meeting call chat-message email discriminator mapping keys to the / response property for the response status

    • info

      added person discriminator mapping keys to the //// response property for the response status

    • info

      added person discriminator mapping keys to the //// response property for the response status

    • info

      added person discriminator mapping keys to the //// response property for the response status

    • info

      added person discriminator mapping keys to the //// response property for the response status

    • info

      added person discriminator mapping keys to the //// response property for the response status