Emend
Schemas

Playbook Models

Data structures for user playbooks and agent playbooks — collecting, aggregating, and managing agent improvement data.

UserPlaybookmodel

Represents a user playbook row containing agent guidance. Rows are usually extracted from user interactions, but supported manual and playbook-optimizer workflows can also create rows.

PropType
user_playbook_idinteger
user_idstring
agent_versionrequiredstring
request_idrequiredstring
playbook_namestring
created_atinteger
contentstring
triggerstring
rationalestring
sourcestring
statusStatus
source_interaction_idsarray[integer]
source_spanstring | null
tagsarray[string] | null
AgentPlaybookmodel

Represents an agent playbook consolidated from multiple user playbooks.

PropType
agent_playbook_idinteger
playbook_namestring
agent_versionrequiredstring
created_atinteger
contentrequiredstring
triggerstring
rationalestring
playbook_statusrequiredPlaybookStatus
playbook_metadatarequiredstring
statusStatus
tagsarray[string] | null
GetUserPlaybooksRequestrequest model

Request model for getting user playbooks.

PropType
limitinteger
user_playbook_idinteger
user_idstring
request_idstring
querystring
playbook_namestring
agent_versionstring
start_timedatetime
end_timedatetime
status_filterarray[Status]
tagsarray[string]
GetUserPlaybooksResponseresponse model

Response model for getting user playbooks.

PropType
successrequiredboolean
user_playbooksrequiredarray[UserPlaybook]
msgstring
AddUserPlaybookRequestrequest model

Request model for adding user playbooks directly to storage.

PropType
user_playbooksrequiredarray[UserPlaybook]
AddUserPlaybookResponseresponse model

Response model for adding user playbooks.

PropType
successrequiredboolean
messagestring
added_countinteger
AddAgentPlaybookRequestrequest model

Request model for adding agent playbooks directly to storage.

PropType
agent_playbooksrequiredarray[AgentPlaybook]
AddAgentPlaybookResponseresponse model

Response model for adding agent playbooks.

PropType
successrequiredboolean
messagestring
added_countinteger
GetAgentPlaybooksRequestrequest model

Request model for getting agent playbooks.

PropType
limitinteger
agent_playbook_idinteger
querystring
playbook_namestring
agent_versionstring
start_timedatetime
end_timedatetime
status_filterarray[Status]
playbook_status_filterPlaybookStatus
tagsarray[string]
GetAgentPlaybooksResponseresponse model

Response model for getting agent playbooks.

PropType
successrequiredboolean
agent_playbooksrequiredarray[AgentPlaybook]
msgstring
RunPlaybookAggregationRequestrequest model

Request model for running playbook aggregation.

PropType
agent_versionrequiredstring
playbook_namestring
RunPlaybookAggregationResponseresponse model

Response model for playbook aggregation requests.

PropType
successrequiredboolean
messagestring
DeleteAgentPlaybookRequestrequest model

Request model for deleting an agent playbook.

PropType
agent_playbook_idrequiredinteger
DeleteAgentPlaybookResponseresponse model

Response model for agent playbook deletion requests.

PropType
successrequiredboolean
messagestring
DeleteUserPlaybookRequestrequest model

Request model for deleting a user playbook.

PropType
user_playbook_idrequiredinteger
DeleteUserPlaybookResponseresponse model

Response model for user playbook deletion requests.

PropType
successrequiredboolean
messagestring
ReviewUserPlaybooksRequestrequest model

Selects current user playbooks by inclusive creation-time bounds and reviews the newest matches first.

PropType
start_timerequireddatetime
end_timerequireddatetime
top_kinteger
report_onlyboolean
ReviewUserPlaybookEditmodel

Complete replacement fields proposed for an edit decision.

PropType
contentrequiredstring
triggerrequiredstring
rationalerequiredstring
ReviewUserPlaybookResultmodel

One selected playbook's review decision. skip means the playbook could not be reviewed because its finalized generation-window provenance or validated evidence is absent, a required interaction/request is missing, or provenance ownership does not match — not that the reviewer chose to leave it unchanged, which is accept. Historical context uses the full run-level interaction window, not only the playbook's cited-evidence subset, and is independent of the current extractor window and source filter. A skipped playbook is never written to.

PropType
user_playbook_idrequiredinteger
decisionrequired"accept" | "edit" | "reject" | "skip"
reason_coderequired"grounded_useful" | "unsupported_evidence" | "generic" | "speculative" | "unsupported_causality" | "unseen_artifact" | "redundant" | "late_trigger" | "compound" | "internal_status" | "absence_inference" | "not_agent_decision" | "evidence_unavailable"
reasonstring | null
editReviewUserPlaybookEdit | null
appliedboolean
successor_user_playbook_idinteger | null
ReviewUserPlaybooksResponseresponse model

Review report, or an acknowledgement for a background apply run. In report mode results holds one entry per selected playbook. In apply mode the run is dispatched in the background, so the response carries only run_id and an empty results; a later failure stops the run but leaves earlier decisions committed, and each applied edit is recorded on its replacement's lineage under run_id.

PropType
successrequiredboolean
report_onlyrequiredboolean
run_idstring | null
selected_countinteger
accepted_countinteger
edited_countinteger
rejected_countinteger
skipped_countinteger
resultsarray[ReviewUserPlaybookResult]
msgstring | null
RerunPlaybookGenerationRequestrequest model

Request model for rerunning playbook generation.

PropType
agent_versionrequiredstring
start_timedatetime
end_timedatetime
playbook_namestring
sourcestring
RerunPlaybookGenerationResponseresponse model

Response model for playbook generation rerun requests.

PropType
successrequiredboolean
msgstring
playbooks_generatedinteger
operation_idstring
ManualPlaybookGenerationRequestrequest model

Request model for manually triggering playbook generation with window-sized interactions. Creates playbook entries with CURRENT status directly (no upgrade needed).

PropType
agent_versionrequiredstring
sourcestring
playbook_namestring
ManualPlaybookGenerationResponseresponse model

Response model for manual playbook generation.

PropType
successrequiredboolean
msgstring
playbooks_generatedinteger