Project Notes

Use cases

The Project Notes API lets you:

  • Create the project note for a project when it does not yet exist, and set the note body (content).
  • Read the current note body for a project.
  • Update the note body on an existing project note.
  • List files attached to the note and obtain short-lived download URLs (each URL remains valid for 86400 seconds / 24 hours from issuance; call Retrieve Project Note Files again for a freshly signed URL).

Flow

  1. Create Project Note with a JSON body that includes project_note.content (required; use an empty string for an empty note).
  2. Retrieve Project Note
  3. Update Project Note with the same project_note shape as create.
  4. Retrieve Project Note Files

One note per project

At most one project note exists per project. If a note already exists, Create Project Note returns 409 Conflict; use Update Project Note instead.

Note files vs note body

Retrieve Project Note Files returns 200 with an empty project_note_files array when the note exists but has no attachments. It returns 404 Not Found when no project note exists yet for that project (not an empty list).

In Aurora, users may attach files before entering note text; the product still persists a project note for that project so attachments can be stored.

Note content format

content is plain text ("" for an empty note). In Aurora it may use a limited Markdown-style subset so bodies round-trip with the UI:

  • Bold **text**, italic _text_, underline ‖text‖, strikethrough ~~text~~
  • Bulleted (- item) and numbered (1. item) lists
  • Links [label](https://...)

Headings, code, HTML, and images are not supported and may not render correctly in Aurora.

Example

{
  "project_note": {
    "content": "Follow up after site visit.\n\n- Confirm roof access\n- Email **HOA** contact\n\nDetails: [permit portal](https://example.com/permits)"
  }
}