Skip to main content
PUT
/
api
/
signals
/
scan-time
Update preferred signal scan time
curl --request PUT \
  --url https://app.puffle.ai/api/signals/scan-time \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "time": "<string>"
}
'
{
  "time": "14:30"
}

Overview

Updates user_profiles.preferred_scan_time to the supplied HH:MM UTC value. The signal-scan cron dispatches per-user scan tasks in 15-minute buckets, so valid minutes are 00, 15, 30, or 45 only. Any other value (e.g. 06:17) returns a 400.

Body

  • time (string, required) — UTC HH:MM 24-hour time on a 15-minute boundary.
The same path also supports GET (read the current value — getScanTime). Default when unset: 06:00.

AI agent notes

When to call. Use when the user wants signals delivered earlier/later in the day, or during their business hours. The new value takes effect on the next cron tick — no immediate rescan.Validation. The exact error string on invalid input is Invalid time. Must be HH:MM in 15-minute intervals (e.g. 06:00, 14:30). — assert on this if you need to surface validation errors to the user.Idempotent. Writing the same value twice is a no-op (last write wins).

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
time
string
required

Preferred daily scan time in UTC HH:MM 24-hour format. Must fall on a 15-minute boundary (00, 15, 30, 45).

Pattern: ^\d{2}:\d{2}$

Response

Scan time updated.

time
string
required

Preferred daily scan time in UTC HH:MM 24-hour format. Must fall on a 15-minute boundary (00, 15, 30, 45).

Pattern: ^\d{2}:\d{2}$