Skip to content
Letterhead Letterhead Letterhead Help Center
Admin Tools

Create a curation feed

POST
/api/v3/curations/feeds
curl --request POST \
--url 'https://api.tryletterhead.com/api/v3/curations/feeds?api=true' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "title": "Example Daily", "description": "Our syndication partner'\''s RSS feed.", "feedUrl": "https://example.com/rss", "archiveIntervalDays": 7, "crawl": true }'

Create a company-level RSS feed, optionally shared across multiple channels. Letterhead crawls it immediately after creation and then on the cadence implied by archiveIntervalDays.

api
required
boolean

Required. Set to true to authenticate with your company API key rather than a signed-in session.

Media type application/json
object
title
required
string
<= 140 characters
description
required
string
<= 280 characters
feedUrl
required
string
archiveIntervalDays
required

How often, in days, to re-crawl the feed (1–31).

integer
crawl
boolean
tags
Array<string>
channels

Internal numeric channel identifiers to share this feed with.

Array<integer>
Example
{
"title": "Example Daily",
"description": "Our syndication partner's RSS feed.",
"feedUrl": "https://example.com/rss",
"archiveIntervalDays": 7,
"crawl": true
}

Feed created

Media type application/json
object
items

The shape returned for both RSS feeds (List curation feeds) and JSON data feeds (List data feeds) — type (0 RSS, 1 JSON data feed) tells the two apart. fieldMappings, authType, and hasAuthSecret are only meaningful on a JSON data feed.

object
uniqueId
string
title
string
description
string
feedUrl
string
type

0 RSS feed, 1 JSON data feed.

integer
isValid
boolean
validationCode
integer
nullable
crawl
boolean
archiveIntervalDays
integer
lastValidated
string
lastQueried
string
channelName

The channel this feed was originally created against, or blank for a feed shared to multiple channels with no single owner.

string
channelSlug
string
sharedChannelIds

Internal numeric identifiers of every channel this feed is shared with.

Array<integer>
tags
Array<string>
authType

0 — no authentication. 1 — bearer token.

integer
hasAuthSecret

Whether a credential is stored — the credential itself is never returned.

boolean
fieldMappings
Array<object>
object
source
string
target
string
createdAt
string
updatedAt
string
deletedAt
string
nullable
message
string
total
integer
Example generated
{
"items": {
"uniqueId": "example",
"title": "example",
"description": "example",
"feedUrl": "example",
"type": 1,
"isValid": true,
"validationCode": 1,
"crawl": true,
"archiveIntervalDays": 1,
"lastValidated": "example",
"lastQueried": "example",
"channelName": "example",
"channelSlug": "example",
"sharedChannelIds": [
1
],
"tags": [
"example"
],
"authType": 1,
"hasAuthSecret": true,
"fieldMappings": [
{
"source": "example",
"target": "example"
}
],
"createdAt": "example",
"updatedAt": "example",
"deletedAt": "example"
},
"message": "example",
"total": 1
}

Still can’t find what you need? Contact support.