Upsert operator annotation (tags + note) for a user
Requires EDITOR. Body validated by opsAnnotationPutSchema (tags array + optional note).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”projectId
required
string
Project (tenant) identifier. Row-level tenant isolation is enforced on every query.
userId
required
string
Identified user identifier.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Exact constraints per @/lib/user-ops-annotations opsAnnotationPutSchema (dedupe + length caps applied server-side).
object
tags
Array<string>
note
string | null
Examplegenerated
{ "tags": [ "example" ], "note": "example"}Responses
Section titled “Responses”Saved annotation.
Media typeapplication/json
object
tags
Array<string>
note
string | null
authorUserId
string | null
updatedAt
string | null
Invalid annotation params.
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}Not authenticated (401 via requireAuthenticated) or insufficient project role (403).
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}