Skip to main content
Append content to an existing note (creates if it doesn’t exist).
POST /api/v1/repos/notes
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/json

{
  "sha": "abc123def456789...",
  "action": "append",
  "note": "\n---\nReviewed by @alice - LGTM",
  "author": {
    "name": "Review Bot",
    "email": "review@example.com"
  }
}

Request Body

sha
string
required
Commit SHA to attach the note to
action
string
required
Set to "append" to append to an existing note
note
string
required
The note content to append
author
string
Object with name and email for the notes commit
expected_ref_sha
string
Expected notes ref SHA for optimistic concurrency control

JWT Requirements

  • The JWT must include the repository in the repo claim
  • Requires git:write scope

Response

{
  "sha": "abc123def456789...",
  "target_ref": "refs/notes/commits",
  "base_commit": "previous123...",
  "new_ref_sha": "newref456...",
  "result": {
    "success": true,
    "status": "ok",
    "message": ""
  }
}

Response Fields

sha
string
The commit SHA the note is attached to
target_ref
string
The notes reference (refs/notes/commits)
base_commit
string
Previous notes ref commit SHA
new_ref_sha
string
New notes ref SHA after the operation
result
object
Operation result with success, status, and optional message

Notes

  • Use action: "append" to add content to an existing note
  • If no note exists, one will be created
  • Useful for accumulating multiple annotations on the same commit (e.g., multiple CI results)

Error Responses

409 Conflict
string
expected_ref_sha doesn’t match current notes ref
401 Unauthorized
string
Invalid JWT or missing git:write scope
400 Bad Request
string
Missing required fields