RoadOpsDeveloper

Day Notes

Ask

List day notes

GET/v1/teams/{teamId}/days/{dayId}/notes

Lists notes for a day that the caller can access. Private notes are returned only to their creator, including when another caller is a team Admin or has Day Notes manage-all access.

Required scopes: day_note:read

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

query.limitinteger

Maximum number of records to return. Defaults to 50 and is capped at 200.

query.cursorstring

Cursor returned by page.nextCursor from the previous list response.

Response 200

dataobject[]
data[].dayIdstring:uuid
data[].titlestring
data[].bodystring

Day note body. New lines are represented with \n characters, and basic Markdown formatting is supported.

data[].visibilityobject

Day note visibility restrictions. A note restricted to only its creator is private and remains visible only to that creator, including when another member is an Admin or has notes:manage-all.

data[].visibility.groupIdsstring:uuid[]
data[].visibility.userIdsstring:uuid[]
data[].idstring:uuid
data[].orgIdstring:uuid
data[].isDeletedboolean
data[].versioninteger

Current day note aggregate version.

data[].createdAtstring:date-time

ISO 8601 timestamp when the day note was created.

data[].createdBystring

User identifier that created the day note.

data[].updatedAtstring:date-time

ISO 8601 timestamp when the day note was last updated.

data[].updatedBystring

User identifier that last updated the day note.

data[].deletedAtstring:date-time

ISO 8601 timestamp when the day note was deleted.

data[].cursorinteger

Latest event-ledger cursor projected into this day note record.

pageobject
page.limitinteger

Maximum number of records returned in this page.

page.nextCursorstring | null

Cursor to pass as the next request's cursor query parameter, or null when there are no more results.

metaobject
meta.cursornumber | null

Highest record cursor represented by this response.

Create a day note

POST/v1/teams/{teamId}/days/{dayId}/notes

Accepts a command to create a day note.

Required scopes: day_note:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

titlestring
bodyrequiredstring

Day note body. New lines are represented with \n characters, and basic Markdown formatting is supported.

visibilityobject

Day note visibility restrictions. A note restricted to only its creator is private and remains visible only to that creator, including when another member is an Admin or has notes:manage-all.

visibility.groupIdsstring:uuid[]
visibility.userIdsstring:uuid[]
idstring:uuid

Optional caller-supplied day note ID. RoadOps generates one when omitted.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Retrieve a day note

GET/v1/teams/{teamId}/days/{dayId}/notes/{noteId}

Returns one accessible day note by ID. Another user's private note is masked as not found.

Required scopes: day_note:read

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.noteIdrequiredstring:uuid

Day note identifier.

Response 200

dataobject
data.dayIdstring:uuid
data.titlestring
data.bodystring

Day note body. New lines are represented with \n characters, and basic Markdown formatting is supported.

data.visibilityobject

Day note visibility restrictions. A note restricted to only its creator is private and remains visible only to that creator, including when another member is an Admin or has notes:manage-all.

data.visibility.groupIdsstring:uuid[]
data.visibility.userIdsstring:uuid[]
data.idstring:uuid
data.orgIdstring:uuid
data.isDeletedboolean
data.versioninteger

Current day note aggregate version.

data.createdAtstring:date-time

ISO 8601 timestamp when the day note was created.

data.createdBystring

User identifier that created the day note.

data.updatedAtstring:date-time

ISO 8601 timestamp when the day note was last updated.

data.updatedBystring

User identifier that last updated the day note.

data.deletedAtstring:date-time

ISO 8601 timestamp when the day note was deleted.

data.cursorinteger

Latest event-ledger cursor projected into this day note record.

metaobject
meta.cursorinteger

Highest record cursor represented by this response.

Update a day note

PATCH/v1/teams/{teamId}/days/{dayId}/notes/{noteId}

Accepts a command to update accessible day note fields. Private notes can be updated only by their creator.

Required scopes: day_note:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.noteIdrequiredstring:uuid

Day note identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

expectedVersioninteger

Optional aggregate version guard.

updatesrequiredobject

Day note fields to update.

updates.titlestring | null

Updated note title, or null to clear it.

updates.bodystring

Updated note body. New lines are represented with \n characters, and basic Markdown formatting is supported.

updates.visibilityobject | null

Updated visibility, or null to clear custom visibility.

updates.visibility.groupIdsstring:uuid[]
updates.visibility.userIdsstring:uuid[]

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Delete a day note

DELETE/v1/teams/{teamId}/days/{dayId}/notes/{noteId}

Accepts a command to delete an accessible day note. Private notes can be deleted only by their creator.

Required scopes: day_note:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.noteIdrequiredstring:uuid

Day note identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.