Skip to content

Detect

POST
/schedules/detect
curl --request POST \
--url https://example.com/schedules/detect

Scan import history for recurring payees and land the patterns in the suggestions inbox (#233); re-running refreshes open rows and never re-proposes what was rejected. Nothing activates here.

Successful Response

Media typeapplication/json
DetectResult
object
created
required
Created
integer
refreshed
required
Refreshed
integer
suggestions
required
Suggestions
Array<object>
SuggestionRef

What a propose=true create returns (#233, #436): the suggestion the draft landed in, not a schedule. status='proposed' keeps the old contract readable; suggestion_id is the row to decide on.

object
headline
required
Headline
string
id
required
Id
string format: uuid
kind
Kind
string
default: schedule
Allowed value: schedule
source
required
Source
string
status
Status
string
default: proposed
Allowed value: proposed
suggestion_id
required
Suggestion Id
string format: uuid

Example

{
"suggestions": [
{
"kind": "schedule",
"status": "proposed"
}
]
}