scheduling.answer
scheduling_answerAnswers an Anki card with a rating and prediction state token, rejecting suspended, buried, or filtered-preview cards.
Instructions
Answer using native states matching the supplied prediction token.
Reject suspended/buried and filtered-preview cards. For the active GUI card use reviewer.answer. Native elapsed-time capping applies. No client-supplied historical answer timestamp.
Anki-Connect method scheduling.answer. Scope: collection. Effect: write. Completion: completed. Undo: single.
Possible errors: collectionUnavailable, conflict, editorConflict, internalError, invalidParams, invalidState, notFound, staleSession.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"cardId": "<cardId>",
"rating": "<rating>",
"stateToken": "<stateToken>"
},
"name": "scheduling_answer"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes | Card ID (decimal string, e.g. "1700000000001"). | |
| rating | Yes | Answer button: again, hard, good or easy. | |
| session | No | Optional. Collection session ID: the `session` field returned by `collection_get`. Usually omit it — the server then uses the session current at the time of the call. Pass it to make the call fail with `staleSession` instead of acting on a different profile/collection than the one your IDs, cursors and tokens came from. | |
| elapsedMs | No | Time spent on the card in milliseconds, recorded in review history. Default 0. | |
| stateToken | Yes | `stateToken` from `scheduling_predict` for this card, obtained immediately before answering. |