Skip to main content
POST
Create Briefing
Create a new briefing schedule with topic, tickers, and delivery timing in a single API call. The briefing will be automatically generated and delivered via email at the scheduled time.

Stock Selection

You can specify stocks in two ways:
  • stock_ids (recommended) — Internal stock UUIDs. Use the Map Tickers endpoint to convert ticker symbols to stock IDs first.
  • tickers — Ticker symbols (e.g. ["AAPL", "MSFT"]). Automatically resolved to stock IDs via the ticker mapping service. If resolution fails, the request will return an error.
If both stock_ids and tickers are provided, stock_ids takes priority.

Scheduled Time Format

The scheduled_time field must be in 12-hour AM/PM format:
  • "9:00 AM", "3:30 PM", "12:00 PM"

Timezone

Must be a valid IANA timezone identifier. Common examples:

Language

Supported values: English, Spanish, French, German, Italian, Portuguese, Dutch, Hindi, Japanese, Chinese, Finnish, Korean, Polish, Russian, Turkish, Ukrainian, Vietnamese. Pass null for auto-detection.

Authentication

For platform API keys, you can optionally pass organization_id, user_id, user_email, and user_name in the request body to specify which user the briefing is created for.

Authorizations

X-API-KEY
string
header
required

Body

application/json
topic
string
required

Briefing instructions/topic

scheduled_time
string
required

Time in h:mm AM/PM format. Examples: '9:00 AM', '3:30 PM'

timezone
string
required

IANA timezone identifier (e.g. America/New_York, Asia/Seoul, Europe/London)

stock_ids
string[]

Internal stock UUIDs (preferred). Use /v1/map_tickers to convert ticker symbols.

tickers
string[]

Ticker symbols (e.g. AAPL, 9988.HK). Auto-resolved to stock_ids.

language
enum<string> | null

Output language (null = auto-detect)

Available options:
English,
Spanish,
French,
German,
Italian,
Portuguese,
Dutch,
Hindi,
Japanese,
Chinese,
Finnish,
Korean,
Polish,
Russian,
Turkish,
Ukrainian,
Vietnamese
frequency
enum<string>
default:daily
Available options:
daily,
weekly,
monthly
scheduled_day_of_week
integer

Day of week for weekly frequency (0=Sun, 1=Mon, ..., 6=Sat)

Required range: 0 <= x <= 6
scheduled_day_of_month
integer

Day of month for monthly frequency

Required range: 1 <= x <= 31
title
string

Custom briefing title (auto-generated if omitted)

source_type
enum<string>
default:tfs_only

Data source: tfs_only (news+filings), rms_only (uploaded documents), both

Available options:
tfs_only,
rms_only,
both
attach_pdf
boolean
default:false

Attach briefing as PDF to delivery email

is_active
boolean
default:true

Enable/disable the schedule

rms_sources
object[]

RMS source configurations for storage-based briefing

watchlist_group_id
string

Link to watchlist group for dynamic ticker sync

use_custom_email_title
boolean
default:false

Use briefing title as fixed email subject

organization_id
string

Platform (EDS) keys only: org UUID under the key's platform. Ignored by org-bound keys.

user_id
string

Platform (EDS) keys only: the target user's customer_id (your external user id, not a UUID). Ignored by org-bound keys.

user_email
string

Platform (EDS) keys only: the target user's email (used to find or create the user). Ignored by org-bound keys.

user_name
string

Platform (EDS) keys only: optional display name (used only when creating the user).

Response

201 - application/json

Briefing created

error
object | null
payload
object