コンテンツにスキップ

コンテンツ API

コンテンツ API には、ソーシャルメディアへの公開ジョブを作成・予約・確認・キャンセルするエンドポイントと、メディアをアップロードするエンドポイントがあります。


メソッドパス説明必要なスコープ
POST/v1/brand/contents/uploads画像および動画アップロード用の署名付き PUT URL を生成publishing:create または *
POST/v1/brand/contents即時または予約投稿を送信 (202 Accepted)publishing:create または *
GET/v1/brand/contentsページネーションとステータスフィルタを使用してブランドコンテンツを一覧表示publishing:read または *
GET/v1/brand/contents/{content_id}コンテンツの詳細と公開ジョブの結果を取得publishing:read または *
DELETE/v1/brand/contents/{content_id}/cancel処理が開始される前に予約投稿をキャンセルpublishing:delete または *

1. メディアアップロード用の署名付き URL (POST /v1/brand/contents/uploads)

Section titled “1. メディアアップロード用の署名付き URL (POST /v1/brand/contents/uploads)”

投稿にメディアを添付するには、署名付きアップロード URL をリクエストし、HTTP PUT を介して S3/R2 ストレージにバイナリを直接アップロードします。

サポートされているメディア形式

Section titled “サポートされているメディア形式”
  • 画像 (最大 20MB, URL 有効期限 300秒): image/jpeg, image/png, image/webp, image/gif
  • 動画 (最大 500MB, URL 有効期限 600秒): video/mp4, video/quicktime (.mov), video/webm
Terminal window
curl -X POST "https://api.ankk.app/v1/brand/contents/uploads" \
-H "Authorization: Bearer spk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"filename": "launch-banner.png",
"content_type": "image/png",
"size": 1420500
}'
{
"upload_url": "https://storage.ankk.app/sns-posts/original/brand_.../launch-banner.png?X-Amz-Signature=...",
"asset_ref": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png",
"method": "PUT",
"object_key": "sns-posts/original/brand_.../launch-banner.png",
"content_type": "image/png",
"size": 1420500,
"expires_in_seconds": 300
}

PUT によるバイナリのアップロード

Section titled “PUT によるバイナリのアップロード”
Terminal window
curl -X PUT "<upload_url>" \
-H "Content-Type: image/png" \
--data-binary "@/path/to/launch-banner.png"

2. コンテンツの公開 (POST /v1/brand/contents)

Section titled “2. コンテンツの公開 (POST /v1/brand/contents)”

テキストとアップロードされた asset_ref を送信して、公開ジョブを作成します。

リクエストボディのフィールド

Section titled “リクエストボディのフィールド”
フィールド必須説明
connection_idstring必須対象となる SNS 接続 ID (接続 API)
idempotency_keystring必須重複送信を防止するためのクライアント生成のユニークなキー
textstring任意投稿の本文テキスト
mediaarray任意url または asset_ref を持つメディアオブジェクトの配列
scheduled_forstring任意スケジュール用の ISO 8601 タイムスタンプ。即時公開の場合は省略
thread_postsarray任意Threads のスレッド作成用の追加投稿
provider_settingsobject任意プラットフォーム固有の設定 (例: YouTube カテゴリ)
Terminal window
curl -X POST "https://api.ankk.app/v1/brand/contents" \
-H "Authorization: Bearer spk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"connection_id": "conn_01jm8x9k2example",
"idempotency_key": "launch-2026-001",
"text": "Excited to launch our new product today! 🚀\nhttps://ankk.app",
"media": [
{
"url": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png"
}
]
}'
{
"content_id": "content_01jm8za2example",
"status": "scheduled",
"publish_job_id": "job_01jm8za2jobexample",
"connection_id": "conn_01jm8x9k2example",
"idempotency_key": "launch-2026-001"
}

3. コンテンツの一覧表示と確認

Section titled “3. コンテンツの一覧表示と確認”

コンテンツの一覧表示 (GET /v1/brand/contents)

Section titled “コンテンツの一覧表示 (GET /v1/brand/contents)”
Terminal window
curl -X GET "https://api.ankk.app/v1/brand/contents?status=published&limit=20" \
-H "Authorization: Bearer spk_live_xxxxxxxx"

コンテンツ詳細の取得 (GET /v1/brand/contents/{content_id})

Section titled “コンテンツ詳細の取得 (GET /v1/brand/contents/{content_id})”
Terminal window
curl -X GET "https://api.ankk.app/v1/brand/contents/content_01jm8za2example" \
-H "Authorization: Bearer spk_live_xxxxxxxx"

4. 予約投稿のキャンセル (DELETE /v1/brand/contents/{content_id}/cancel)

Section titled “4. 予約投稿のキャンセル (DELETE /v1/brand/contents/{content_id}/cancel)”

scheduled ステータスの投稿を、実行が開始される前にキャンセルします。

Terminal window
curl -X DELETE "https://api.ankk.app/v1/brand/contents/content_01jm8za2example/cancel" \
-H "Authorization: Bearer spk_live_xxxxxxxx"