Skip to main content
POST
/
notes
Create note
curl --request POST \
  --url https://app.concretehq.com/api/v1/notes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "content": "Kickoff call notes…",
  "occurredAt": "2026-04-15T14:00:00Z",
  "topics": [
    "board-meeting"
  ],
  "companyPublicId": "abc123def456",
  "personPublicId": "654fed321cba"
}
'
{
  "publicId": "abc123def456"
}

Documentation Index

Fetch the complete documentation index at: https://docs.concretehq.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key authentication using Bearer token format

Body

application/json

Input for creating a note. Exactly one of companyPublicId or personPublicId must be provided.

content
string
required

Note content in Markdown. Rendered as rich text in the Concrete app.

Minimum string length: 1
Example:

"Kickoff call notes…"

occurredAt
string<date-time>

When the note's subject matter occurred (ISO 8601). Defaults to now.

Example:

"2026-04-15T14:00:00Z"

topics
enum<string>[]

Topics categorizing the note. Optional — defaults to ["other"] if omitted.

Categorization for a note's subject matter.

Available options:
periodic-company-update,
company-announcement,
board-meeting,
adhoc-company-update,
legal-communication,
other
Example:
["board-meeting"]
companyPublicId
string

Public ID of the company to attach the note to

Example:

"abc123def456"

personPublicId
string

Public ID of the person to attach the note to

Example:

"654fed321cba"

Response

Note created successfully

publicId
string
required

Created note public ID

Example:

"abc123def456"