Change a news draft
Partner key only. Drafts only (409 NOT_DRAFT). Changes the fields you send. With expectedUpdatedAt, nothing is written if the draft changed in the meantime (409 CHANGED). Bound to the key’s environment: a TEST key only reaches news whose recipients are all sandboxes (never audienceAll); a LIVE key reaches all news that is not bound to TEST (including audienceAll news, which on publishing is locked to the sandboxes as well). Needs a key created by an owner or administrator. Changes count in the partner’s bucket of 60 per 10 minutes (shared with LettBestilt Partner). Every change is logged with ids and field names, never the text.
Authentication
The partner key (lbp_test_… or lbp_live_…), sent as Authorization: Bearer lbp_… and created in LettBestilt Partner under Partner key. It belongs to the whole partner, not to a restaurant, and only works against /api/v1/partner. Server to server only: a request with an Origin header is rejected with 403 FORBIDDEN, and the key must never be in a browser. A TEST key sees and creates only sandboxes; LIVE keys work once LettBestilt Partner is open. A suspended or archived partner, a revoked key and a restaurant key (lbs_…) here give 401 UNAUTHORIZED; an expired key gives 401 KEY_EXPIRED.
Path parameters
The news item’s id from GET /news or POST /news.
Request
Markdown. Images only from LettBestilt (otherwise 422 IMAGE_NOT_ALLOWED).
true = all the restaurants the partner can reach when the news is published (locked then). Only with a LIVE key; with a TEST key, true gives 422.
Also email the owners when the news is published. Default true.
The recipients as the restaurants’ slugs (required when audienceAll is false). TEST key: sandboxes only; LIVE key: real restaurants only. A slug that is not one of the partner’s restaurants in the key’s environment that can be reached now gives 404 RESTAURANT_NOT_FOUND. LettBestilt Partner calls the field restaurantIds; the API rejects that name.
Hidden after this day (Oslo time, YYYY-MM-DD). null = shown until archived.
updatedAt from GET. If the object has changed since, 409 CHANGED and nothing is written. Without it, nothing is checked.

