SuggestionUpdate
The fields to change on an existing suggestion.
You can send event fields, the dismissed flag, or both — but not an empty
body, which is a 400.
PUT here merges; it does not replace. See
Update a suggestion for what that
means in practice.
Your stable identifier for this event, and the key POST upserts on.
See source_id on the Suggestion
schema.
jxfeed-alice-20260914-a91c3fWhose Suggested Entries this belongs to. Defaults to the authenticated
user. Naming someone else requires a timekeeping ability over that
user; without it the request is refused with a 403.
On a PUT, this may only repeat the suggestion's current owner. A
suggestion cannot be moved between users.
aliceThe event's title. One of subject, title, comment, or body is
required. Whichever you send is stored as the suggestion's comment.
Sprint planning with the platform teamAn alternative to subject.
The text to use directly, when your source has no separate subject.
Sprint planning with the platform teamLonger event text — a meeting body, a description. Used for prediction when no shorter text is available, and read by the user's auto-hide phrase rules either way.
When the event starts. An ISO 8601 string; include the UTC offset or
zone so the value is unambiguous. Paired with end_datetime.
2026-09-14T09:00:00-05:00When the event ends. Paired with start_datetime.
2026-09-14T10:30:00-05:00An alternative spelling of start_datetime, paired with
end_isodatetime.
Paired with start_isodatetime.
The start as a UTC epoch timestamp, paired with end_timestamp. Use
this when your source has no zone information to offer.
1789736400The end as a UTC epoch timestamp.
1789741800The first date the event covers, as YYYYMMDD. Paired with
record_date_end. The coarsest of the four date forms: it fixes the
days but not the times.
20260914The last date covered, as YYYYMMDD. Same as record_date for a
single-day event.
20260914Shorthand for a single-day event: sets both record_date and
record_date_end.
20260914True for an all-day event with no meaningful clock time.
falseThe recurring series this occurrence belongs to. Send the same value on every occurrence of a series, and the engine can carry an accepted choice forward to later occurrences — and the series dismiss action can act on the whole series at once.
AAMkAGI2-recurring-standupPin the project rather than letting the engine predict it. Use this when your source already knows the answer — a ticketing integration that maps a project of its own onto a Journyx project, for example.
Pinning still leaves the engine's guesses in place under
properties.id_project_predict, so the two can be compared.
8A2F4B3D5E6C7891A2B3C4D5E6F78901Pin the task code. Behaves like id_project.
Pin the pay type.
Pin the bill type.
Pin the group.
Hours to suggest. Omit it and the entry screen derives the duration from the start and end.
1.5For a recurring event, the [start_datetime, end_datetime] pairs of
each occurrence in the period. The rest of the event describes the
first one.
Set true to dismiss the suggestion, false to restore it.
This travels a different path from the event fields: it maps onto the
engine's hide/unhide operation, which keeps the recurring-series
bookkeeping consistent. That is also why a request carrying only
dismissed is valid and does not need the event's text and dates — the
usual requirements apply to the event fields, not to a disposition
change.
true{
"dismissed": true,
"source_id": "jxfeed-alice-20260914-a91c3f",
"id_user": "alice",
"subject": "Sprint planning with the platform team",
"title": "string",
"comment": "Sprint planning with the platform team",
"body": "string",
"start_datetime": "2026-09-14T09:00:00-05:00",
"end_datetime": "2026-09-14T10:30:00-05:00",
"start_isodatetime": "string",
"end_isodatetime": "string",
"start_timestamp": 1789736400,
"end_timestamp": 1789741800,
"record_date": "20260914",
"record_date_end": "20260914",
"date_f8": "20260914",
"is_all_day": false,
"series_id": "AAMkAGI2-recurring-standup",
"id_project": "8A2F4B3D5E6C7891A2B3C4D5E6F78901",
"id_code_task": "string",
"id_code_pay_type": "string",
"id_code_bill_type": "string",
"id_group": "string",
"time_amount": 1.5,
"occurrences": [
"string"
]
}