-
-
Notifications
You must be signed in to change notification settings - Fork 4
Services: Reference
Purpose: User-friendly reference for all ChoreOps service actions used in automations and scripts.
ChoreOps currently provides 27 service actions in the choreops domain.
Note
Role field names are part of the API contract:
- Use
user_namefor the profile doing/receiving the action. - Use
approver_namefor the profile approving/administering the action. - Use
scope: "user"when targeting one specific user in reset services.
All service actions support optional target fields:
-
config_entry_id(canonical, recommended for automations) -
config_entry_title(convenience when titles are unique)
Routing behavior:
- If
config_entry_idis provided, the service routes to that exact loaded instance. - If omitted and exactly one ChoreOps instance is loaded, it auto-routes.
- If omitted and multiple instances are loaded, the call fails with an actionable ambiguity error.
Example with explicit instance targeting:
action: choreops.claim_chore
data:
config_entry_id: "0123456789abcdef0123456789abcdef"
user_name: "Sarah"
chore_name: "Make Bed"-
Required:
user_name,chore_name - Purpose: Mark a chore as claimed.
action: choreops.claim_chore
data:
user_name: "Sarah"
chore_name: "Make Bed"-
Required:
approver_name,user_name,chore_name -
Optional:
points_awarded - Purpose: Approve chore completion and award points.
-
Required:
approver_name,user_name,chore_name - Purpose: Reject completion and return to pending.
-
Required:
approver_name,user_name,reward_name - Purpose: Submit reward redemption for review.
-
Required:
approver_name,user_name,reward_name -
Optional:
cost_override - Purpose: Approve reward and deduct points.
-
Required:
approver_name,user_name,reward_name - Purpose: Reject reward redemption.
-
Required:
approver_name,user_name,penalty_name - Purpose: Apply a configured penalty.
-
Required:
approver_name,user_name,bonus_name - Purpose: Apply a configured bonus.
-
Required:
amount,reason, and one ofuser_idoruser_name -
Optional:
approver_name - Purpose: Apply a signed manual points adjustment and record the reason in ledger history.
Rules:
-
amountmust be a signed number with at most 2 decimal places and cannot be0 - positive amount adds points
- negative amount deducts points
-
reasonis stored as ledgeritem_name
action: choreops.manual_adjust_points
data:
config_entry_id: "0123456789abcdef0123456789abcdef"
user_name: "Sarah"
amount: -10.5
reason: "Missed check-in"-
Optional:
user_name,report_language,report_title,notify_service,output_format - Purpose: Return a 7-day markdown/HTML activity report (response-first service).
action: choreops.generate_activity_report
data:
user_name: "Alex"
output_format: "both"
response_variable: report_response-
Required:
chore_name -
Optional:
due_date,user_name,user_id - Purpose: Set/clear due date, optionally scoped to one assignee when supported.
-
Required: one of
chore_idorchore_name -
Optional:
user_name,user_id,mark_as_missed - Purpose: Advance a recurring chore to the next due slot.
-
Required:
after -
Optional:
chore_ids,chore_names,user_ids,user_names,reschedule_shared,skip_non_recurring - Purpose: Move one or more chores so their next due date lands after a boundary date and time.
Rules:
-
chore_idstakes precedence overchore_names -
user_idstakes precedence overuser_names - recurring chores advance to the next scheduled occurrence after the boundary
- non-recurring chores move to the boundary unless
skip_non_recurring: true - shared and rotation chores are skipped unless
reschedule_shared: true - chores already after the boundary, or chores in claimed/approved in-flight states, are skipped and reported in the response payload
- this is a response-capable service and returns
updatedandskippeddetails
action: choreops.reschedule_chores_after
data:
after: "2026-07-14T18:00:00Z"
chore_names:
- "Take Out Trash"
- "Feed Cat"
user_names:
- "Alex"
skip_non_recurring: true
response_variable: reschedule_result-
Optional:
chore_id,chore_name,user_name - Purpose: Reset overdue chores back to pending and reschedule.
- Fields: none
- Purpose: Soft-reset all chores to pending.
-
Required:
confirm_destructive: true -
Optional:
scope,user_name,item_type,item_name - Purpose: Reset transactional/runtime data with optional targeting.
Valid scope values:
-
"global"(all profiles) -
"user"(single profile)
Valid item_type values:
-
points,chores,rewards,badges,achievements,challenges,penalties,bonuses
action: choreops.reset_transactional_data
data:
confirm_destructive: true
scope: "user"
user_name: "Sarah"
item_type: "chores"-
Optional:
user_name,badge_name - Purpose: Remove badge awards globally or for one assignee.
-
Required:
ui_control_action, and one ofuser_idoruser_name -
Optional:
key,value - Purpose: Create, update, or remove a persisted per-user dashboard UI control value.
Rules:
- Valid actions are
create,update, andremove -
keyuses slash-delimited paths such asgamification/rewards/header_collapse -
valueis used forcreateandupdate - A blank
keyis allowed only withremove, which clears all stored UI preferences for the targeted user
action: choreops.manage_ui_control
data:
user_name: "Sarah"
ui_control_action: "create"
key: "gamification/rewards/header_collapse"
value: true-
Required:
name,cost -
Optional:
description,icon,labels -
Returns:
reward_id
-
Required: one of
idornameto identify target -
Optional:
cost,description,icon,labels -
Returns:
reward_id
-
Required: one of
idorname - Returns: deleted reward confirmation
-
Required:
name,assigned_user_names -
Optional:
points,description,icon,labels,frequency,applicable_days,completion_criteria,approval_reset_type,pending_claims,overdue_handling,chore_claim_lock_until_window,auto_approve,due_date,due_window_offset,due_reminder_offset -
Returns:
chore_id
-
Required: one of
idornameto identify target - Optional: same mutable fields as create (except immutable model constraints)
-
Returns:
chore_id
Note
For rotation chores, the order of names you provide in assigned_user_names
is preserved and becomes the rotation order. If you also want the new first
person to become the active turn immediately, follow update_chore with
choreops.set_rotation_turn or choreops.reset_rotation.
Warning
completion_criteria is immutable after creation. To change it, create a new chore item.
-
Required: one of
idorname - Purpose: Delete chore and associated references.
-
Required: one of
chore_idorchore_name, and one ofuser_idoruser_name - Purpose: Set who has the current turn in a rotation chore.
-
Required: one of
chore_idorchore_name - Purpose: Reset rotation to the first assigned profile.
-
Required: one of
chore_idorchore_name - Purpose: Temporarily allow any assigned profile to claim regardless of turn.
action: choreops.approve_chore
data:
approver_name: "Mom"
user_name: "Alex"
chore_name: "Wash Dishes"
points_awarded: 6action: choreops.approve_reward
data:
approver_name: "Dad"
user_name: "Sarah"
reward_name: "Movie Night"
cost_override: 0action: choreops.manual_adjust_points
data:
user_id: "018f1c2a-1234-4f8a-9b6d-123456789abc"
amount: 15
reason: "Proactive help"action: choreops.skip_chore_due_date
data:
chore_name: "Daily Reading"
user_name: "Sarah"
mark_as_missed: trueaction: choreops.reschedule_chores_after
data:
after: "2026-07-21T18:00:00Z"
chore_ids:
- "018f1c2a-1234-4f8a-9b6d-123456789abc"
reschedule_shared: true
skip_non_recurring: true
response_variable: reschedule_result- Cause: Caller context is not authorized for the requested operation.
- Fix: Use an admin/authorized HA user and verify profile-role mapping in ChoreOps configuration.
- Cause: Name or ID does not match current records.
- Fix: Verify spelling and confirm the item exists in configuration.
- Cause: Assignee balance is below reward cost.
-
Fix: Check the profile’s points sensor before calling
redeem_reward.
- Cause: Due date is earlier than now.
- Fix: Send a future timestamp.
🚀 Getting Started
- Home
- Installation
- Migration from KidsChores
- Quick Start
- Quick Start Scenarios
- Dashboard Generation
- Backup & Restore
⚙️ Configuration
- General Options
- Points
- Users
- Chores
- Rewards
- Badges - Overview
- Badges - Cumulative
- Badges - Periodic
- Achievements
- Challenges
- Notifications
🔧 Services
💡 Tips & Tricks
- Template Cookbook for Chores, Rewards, and Approvals
- Auto-Approve Chores
- Calendar Event Due Dates
- NFC Claim Workflow
- Overdue Penalty Automation
- Critical Overdue Alerts
📖 Advanced Topics
- Dashboard Integration
- Access Control
- Chores - Advanced
- Badge Cumulative - Advanced
- Badge Periodic - Advanced
📚 Technical Reference
- Points
- Users
- Entities & States
- Chores
- Badges
- Configuration Detail
- Dashboard Generation
- Notifications
- Weekly Activity Reports
👩🔧 Troubleshooting