Update a curation
const url = 'https://api.tryletterhead.com/api/v3/curations/example?api=true';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"title":"How coffee prices are shaping this year\'s harvest (updated)","tags":["coffee","agriculture","markets"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'https://api.tryletterhead.com/api/v3/curations/example?api=true' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "How coffee prices are shaping this year'\''s harvest (updated)", "tags": [ "coffee", "agriculture", "markets" ] }'Update the content and metadata of an existing curation. Every field is optional — omit a field
to leave it unchanged. Returns a 404 if no curation with this uniqueId belongs to the company.
customFields accepts an object keyed by a custom field’s key (see List curation custom
fields); any key that isn’t a defined custom field is dropped. Passing channels replaces the
set of channels this curation is shared to — pass the channels’ internal numeric identifiers, not
their slugs.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The curation’s unique identifier, from List curations or Curate or update content.
Query Parameters
Section titled “Query Parameters ”Required. Set to true to authenticate with your company API key rather than a signed-in session.
Request Body
Section titled “Request Body ”object
Y-m-d H:i:s format, no more than one year in the future.
Values keyed by a custom field’s key.
object
Internal numeric channel identifiers to share this curation to.
Example
{ "title": "How coffee prices are shaping this year's harvest (updated)", "tags": [ "coffee", "agriculture", "markets" ]}Responses
Section titled “ Responses ”Curation updated
object
The shape a curation is returned in after Toggle a curation’s curated status, Update a curation, or Update a curation’s tags — a lighter shape than the one List curations returns, without internal identifiers.
object
Content type — 0 articles, 1 events, 2 AI-generated, 3 WordPress, 4 RSS, 5 browser extension, 6 Zapier, 7 JSON data feed.
Present only when the curation has at least one custom field value set, keyed by the custom field’s key (see List curation custom fields).
object
Example
{ "items": { "uniqueId": "cur_8x2mle4kq9", "title": "How coffee prices are shaping this year's harvest (updated)", "tags": [ "coffee", "agriculture", "markets" ], "updatedAt": "2026-09-01T08:05:00+00:00" }, "message": "Your curation was successfully updated.", "total": 1}No curation with this uniqueId belongs to the company
Still can’t find what you need? Contact support.