Beta
Manage / Settings

Settings

Notification and account preferences.

Two settings resources — the chatbot and summary scheduling — plus the account read.

Chatbot settings

GET/manage/chatbotapi.daily-tube.com/v1
{
"data": {
"enabled": true,
"language": "english",
"messages_sent_today": 4,
"daily_limit": 30
},
"request_id": "5f0c…"
}

daily_limit is the plan's chat cap — absent when the plan doesn't set one. messages_sent_today is the counter against it.

Update

PATCH /v1/manage/chatbot accepts exactly one field — everything else is rejected:

FieldTypeRules
enabledbooleanRequired. The chatbot on/off

The language field is read-only through the API (400 manage.field_read_only); unknown fields are 400 validation.invalid_input. The response is the updated resource (200).

Summary settings

GET/manage/summariesapi.daily-tube.com/v1

The schedule that drives automatic daily briefings:

{
"data": {
"automated_daily_summaries": true,
"daily_time": "08:00",
"timezone": "Europe/Istanbul",
"timezone_code": "GMT+03",
"language": "english",
"trigger_early_hours": 2
},
"request_id": "5f0c…"
}

Update

PATCH /v1/manage/summaries — any non-empty subset of the four writable fields; the response is the updated resource (200):

FieldTypeRules
automated_daily_summariesbooleanThe daily workflow on/off
daily_timestringStrict HH:MM, 24-hour (400 manage.invalid_time)
timezonestringOne of the supported IANA zones (400 manage.invalid_timezone); timezone_code is derived server-side and read-only
languageenumenglish / spanish / french / german / italian / portuguese (400 manage.invalid_language)

trigger_early_hours is read-only (400 manage.field_read_only); an empty body or unknown fields are rejected.

Request

curl -X PATCH https://api.daily-tube.com/v1/manage/summaries \
-H "Authorization: Bearer dtk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"daily_time":"08:30","timezone":"Europe/Istanbul"}'

Account

GET/accountapi.daily-tube.com/v1

Identity plus the Library stats trio (read-only):

{
"data": {
"first_name": "Ada",
"last_name": "Lovelace",
"email": "[email protected]",
"stats": {
"sources_summarized": 128,
"hours_saved": 6.4,
"digests_received": 42
}
},
"request_id": "5f0c…"
}

hours_saved is a one-decimal number; all three stats are zero-based counts from the same source as the web app's Library band. There is no account write path through the API.

Errors

Every error returns the same body — code is the stable machine string, message is human: The full registry of every code lives on Errors.

{
"error": { "code": "manage.invalid_time", "message": "daily_time must be strict 24h HH:MM" },
"request_id": "5f0c…"
}
CodeStatusWhen
manage.invalid_time / invalid_timezone / invalid_language400Field validation
manage.field_read_only400Writing chatbot language, trigger_early_hours, or timezone_code
validation.invalid_input400Unknown fields, non-boolean enabled, empty PATCH body

Every keyed endpoint on this page shares the per-key budget — Rate limits.