Skip to main content
POST
Create a note
Creates a note attached to a person (Contact) or a company (Company). Unlike the older list-scoped endpoints, v2 notes are addressed by domain identifiers rather than by contact-list and contact IDs — so you can attach a note without first looking the person up in a list. The target is resolved from the identifiers you provide. If no matching record exists yet, a minimal Contact or Company is created on the fly and the note is attached to its stable ID.

Request Body

Person identifiers (type: "person")

Supply at least one of: Optionally, link a company when a new Contact has to be created (ignored if the person already exists):

Company identifiers (type: "company")

Supply at least one of:

Example Request — person

Example Request — company

Response (201)

Returns the created note object. For a person note, contact is set; for a company note, company is set.

Errors

Authorizations

x-api-key
string
header
required

Body

application/json
type
enum<string>
required

Target type. Determines which identifier fields are required.

Available options:
person,
company
Example:

"person"

user_id
string
required

ID of the team member authoring the note. Must be a member of the team that owns the API key.

Example:

"507f1f77bcf86cd799439011"

content
string
required

Plain text content of the note

Maximum string length: 10000
Example:

"Mentioned moving back from Lisbon next quarter."

linkedin_url
string

LinkedIn profile URL (person only). Username is extracted automatically. Person notes require at least one of linkedin_url, email, crm_id, or phone.

Maximum string length: 500
Example:

"https://linkedin.com/in/johndoe"

email
string<email>

Email address (person only)

Maximum string length: 320
crm_id
string

External CRM identifier (person only)

Maximum string length: 200
Example:

"salesforce:003XXX"

phone
string

Phone number in E.164 format (person only)

Maximum string length: 50
Example:

"+14155552671"

company_name
string

Company name to link to the person if a new Contact is created. Ignored if the person already exists. (person only)

Maximum string length: 300
Example:

"Acme Corp"

company_website
string

Company website to link to the person if a new Contact is created. Ignored if the person already exists. (person only)

Maximum string length: 500
Example:

"https://acme.com"

website_url
string

Company website URL (company only). Normalized to hostname for matching. Company notes require at least one of website_url or name.

Maximum string length: 500
Example:

"https://acme.com"

name
string

Company name (company only). Case-insensitive match against the company name list.

Maximum string length: 300
Example:

"Acme Corp"

Response

Note created successfully

_id
string
Example:

"507f1f77bcf86cd799439011"

team
string
Example:

"507f1f77bcf86cd799439012"

author
object

Note author. Populated when available; otherwise just the user ID under _id.

content
string

Plain text content of the note

is_pinned
boolean

Whether this note is pinned to the top

pinned_at
string<date-time> | null
pinned_by
string | null
contact
string | null

Contact this note is attached to (mutually exclusive with company)

company
string | null

Company this note is attached to (mutually exclusive with contact)

createdAt
string<date-time>
updatedAt
string<date-time>