Skip to main content
POST
/
v2
/
notes
cURL
                    curl "https://api.mem.ai/v2/notes" \
                         --header "Content-Type: application/json" \
                         --header "Authorization: Bearer $MEM_API_KEY" \
                         --data '{
                             "content": "# Sales Call with Acme Corp

Contact: John Smith (john@acme.com)

Interested in enterprise plan. Follow up next week.",
                         }'
                    
{
  "collection_ids": [
    "59508b41-8770-4855-aa37-302b1e09aee7",
    "026b426c-14fb-4f22-8d98-7a9121bfaec8"
  ],
  "content": "# Sales Call with Acme Corp\n\nContact: John Smith (john@acme.com)\n\nInterested in enterprise plan. Follow up next week.\n\n## Action Items\n- Schedule follow-up call next week\n- Send enterprise pricing information\n\n## Key Points\n- Interested in enterprise plan\n- Contact: John Smith (john@acme.com)",
  "created_at": "2025-04-11T04:47:14.457Z",
  "id": "5e29c8a2-c73b-476b-9311-e2579712d4b1",
  "request_id": "api-request-036ed6c7-de00-459f-a89b-43d26aafe522",
  "title": "Sales Call with Acme Corp",
  "updated_at": "2025-04-11T04:47:19.702Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
content
string
required

Full markdown body for the note. Send the full desired note body (partial patch semantics are not supported here). IMPORTANT: The first line is interpreted as the note title. Maximum: 200,000 characters (and no more than 200,000 UTF-8 bytes on create).

Maximum string length: 200000
Example:

"# Meeting with Product Team\n\nDiscussion Topics:\n- Roadmap updates\n- Feature prioritization\n\nAction Items:\n- Schedule follow-up with design\n- Share Q2 priorities document"

id
string<uuid> | null

Optional UUID for the note. If omitted, Mem generates a new UUID.

collection_ids
string<uuid>[] | null

Optional collection IDs to associate with the note. IDs that do not map to accessible collections are ignored.

collection_titles
string[] | null

Optional collection titles to associate with the note. Matching is case-insensitive exact match; titles with no match are ignored. Maximum per title: 1,000 characters (and no more than 1,000 UTF-8 bytes).

Collection title used for exact case-insensitive matching in collection_titles. Maximum: 1,000 characters.

Maximum string length: 1000
Example:
["Acme Corp", "Project Phoenix"]
created_at
string<date-time> | null

Optional creation timestamp (ISO 8601). If provided, it must include a timezone offset and cannot be in the future. If omitted, Mem uses updated_at when provided; otherwise current server time.

Example:

"2025-04-01T14:30:45Z"

updated_at
string<date-time> | null

Optional "last updated" timestamp for this write (ISO 8601). If provided, it must include a timezone offset and cannot be in the future. If omitted, Mem uses the current server time for the initial content write.

Example:

"2025-04-02T09:15:22Z"

Response

200 - application/json

OK

request_id
string
required

Identifier for this API request. Useful for tracing and support.

id
string<uuid>
required

UUID of the created note.

title
string
required

Current note title, derived from the first line of markdown content.

content
string
required

Full markdown content stored for the note.

collection_ids
string<uuid>[]
required

Collection UUIDs currently associated with this note.

created_at
string<date-time>
required

Creation timestamp for the note in ISO 8601 format.

updated_at
string<date-time>
required

Last modification timestamp for the note in ISO 8601 format.