本文の取得
フィード API (GET /v1/feed) とコンテンツ詳細 API (GET /v1/contents/{content_id}) は、記事本文(content_body)を取得するオプションを提供しています。
概要
本文の利用可否は、コンテンツソース(メディア)ごと、およびテナントごとの許諾によって決まります。許諾が無いコンテンツをリクエストした場合、エラーにはならず content_body フィールドが省略されたレスポンスが返ります。
一方、リンク・メタデータ・サムネイル・本文冒頭の抜粋(スニペット)は許諾に関係なく常に利用できます。
title / summary / thumbnail / body_excerpt などのスニペット系フィールドは、本文の許諾状況にかかわらず常に返却されます。許諾が影響するのは content_body フィールドのみです。
パラメーター
GET /v1/feed と GET /v1/contents/{content_id} の両方で、以下のクエリパラメーターが利用できます。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
include_body | boolean | false | true の場合、本文利用が許可されているコンテンツに content_body を含めます。 |
body_format | markdown | html | markdown | content_body の形式。 |
curl -G "https://api.feed.storyhub.studio/v1/feed" \
--data-urlencode "scenario=YOUR_SCENARIO_NAME" \
--data-urlencode "user_id=user-12345" \
--data-urlencode "include_body=true" \
--data-urlencode "body_format=html" \
-H "Authorization: Bearer YOUR_API_KEY"
include_body=false(デフォルト)の場合、body_format を指定しても本文は返却されません。
レスポンス
content_body が返却されるコンテンツには、あわせて body_format フィールド(実際に使われた形式)が付与されます。許諾が無いコンテンツでは、include_body=true を指定していても content_body と body_format の両方が省略されます。
例: GET /v1/feed(body_format=markdown)
{
"data": [
{
"id": "content-uuid",
"title": "都心のオフィス空室率、3期連続で改善",
"url": "https://example.com/article?utm_source=yoursite.com&utm_medium=referral&utm_campaign=storyhub",
"canonical_url": "https://example.com/article",
"summary": "都心5区のオフィス空室率が3四半期連続で改善した。",
"content_body": "## 空室率の推移\n\n都心5区のオフィス空室率は...\n\n- 千代田区: 4.2%\n- 中央区: 3.8%\n\n詳細は[国交省の発表](https://example.com/mlit)を参照。",
"body_format": "markdown",
"body_excerpt": "都心5区のオフィス空室率は3四半期連続で改善し、企業の...",
"author": "山田太郎",
"published_at": "2026-08-20T09:00:00Z",
"source": {
"source_id": "source-uuid",
"name": "○○経済新聞",
"url": "https://example.com",
"title_rewrite_allowed": true
},
"score": 0.91,
"tracking_token": "eyJ..."
}
],
"meta": {
"next_cursor": "..."
}
}
例: GET /v1/contents/{content_id}(body_format=html)
{
"data": {
"id": "content-uuid",
"title": "都心のオフィス空室率、3期連続で改善",
"url": "https://example.com/article?utm_source=yoursite.com&utm_medium=referral&utm_campaign=storyhub",
"canonical_url": "https://example.com/article",
"summary": "都心5区のオフィス空室率が3四半期連続で改善した。",
"content_body": "<h2>空室率の推移</h2><p>都心5区のオフィス空室率は...</p><ul><li>千代田区: 4.2%</li><li>中央区: 3.8%</li></ul><p>詳細は<a href=\"https://example.com/mlit\">国交省の発表</a>を参照。</p>",
"body_format": "html",
"body_excerpt": "都心5区のオフィス空室率は3四半期連続で改善し、企業の...",
"author": "山田太郎",
"published_at": "2026-08-20T09:00:00Z",
"source": {
"source_id": "source-uuid",
"name": "○○経済新聞",
"url": "https://example.com",
"title_rewrite_allowed": true
}
},
"meta": {
"consumed_credits": 1
}
}
content_body が含まれないケース以下のいずれかに該当する場合、レスポンスに content_body(および body_format)は含まれません。エラーにはなりません。
include_bodyを指定していない、またはfalseの場合- リクエスト対象のコンテンツソースが、このテナントに対して本文利用を許可していない場合
許諾状況の変更は概ね 1 分以内に反映されます。
許可される HTML タグ・属性
body_format=html で返却される content_body は sanitize 済みです。以下に挙げるタグ・属性のみが現れます。
| 種別 | 許可される値 |
|---|---|
| タグ | p, br, hr, h1〜h6, ul, ol, li, blockquote, pre, code, em, strong, b, i, u, s, del, sub, sup, a, img, figure, figcaption, table, thead, tbody, tfoot, tr, th, td, dl, dt, dd |
a の属性 | href, title |
img の属性 | src, alt, title, width, height |
th / td の属性 | colspan, rowspan |
ol の属性 | start |
href / src の URL スキームは http / https のみです。script / style / iframe、イベント属性(onclick 等)、id / class / style 属性は含まれません。
Markdown の記法
body_format=markdown で返却される content_body には、以下の記法が現れる可能性があります。
| 記法 | 例 |
|---|---|
| 見出し | ## 見出し |
| 段落 | 空行区切りのテキスト |
| 強調 | *斜体*, **太字** |
| 打ち消し線 | ~~取り消し線~~ |
| リンク | [テキスト](url) |
| 画像 |  |
| 番号なしリスト | - 項目 |
| 番号付きリスト | 1. 項目 |
| 引用 | > 引用文 |
| コードブロック / インラインコード | ```...``` / `code` |
| 表(GFM) | | A | B | |
| 水平線 | --- |
本文中の画像 URL
本文中に現れる画像 URL(img タグの src、または Markdown の )は、画像配信で使われているものと同じ画像配信サービスの署名付き URL に置き換えられています。
署名付き URL に明示的な有効期限はありませんが、鍵のローテーションにより無効になることがあります。サムネイル画像と同様に、URL を保存・キャッシュせず、表示のたびに最新のレスポンスから取得してください。
帰属表示(Attribution)
本文を表示・利用する際は、出典を明示してください。以下のフィールドを使用します。
| フィールド | 説明 |
|---|---|
source.name | コンテンツソース(メディア)の名称 |
source.url | コンテンツソースのトップページ URL |
canonical_url | 元記事の URL |
author | 執筆者名(存在する場合のみ) |
タイトルの改変可否
source オブジェクトには常に title_rewrite_allowed(boolean)フィールドが含まれます(GET /v1/feed、GET /v1/contents/{content_id}、プッシュ候補のいずれの source オブジェクトにも共通です)。
title_rewrite_allowed: false— タイトルを改変せず、titleフィールドの値をそのまま表示してください。title_rewrite_allowed: true— 要約・言い換えしたタイトルを使用できます。
関連ドキュメント
- 画像配信 — 署名付き画像 URL の仕組み
- UTM アトリビューション —
urlとcanonical_urlの使い分け - プッシュ候補 — 本文を含まない候補生成 API