# Habitica

Habitica is an open-source task management application that gamifies productivity by turning tasks into role-playing game elements.

- **Category:** productivity
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 70
- **Triggers:** 0
- **Slug:** `HABITICA`
- **Version:** 20260312_00

## Tools

### Add Task to Challenge

**Slug:** `HABITICA_ADD_CHALLENGE_TASK`

Tool to add a new task to a specified challenge. Use when you need to programmatically create a challenge task after the challenge is set up and you have its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Due date for 'todo' type tasks in ISO 8601 format (YYYY-MM-DD or full datetime) |
| `tags` | array | No | List of tag UUIDs to categorize the task. Tags must exist in the challenge owner's account. |
| `text` | string | Yes | The title/name of the task that will be displayed to challenge participants |
| `type` | string ("habit" | "daily" | "todo" | "reward") | Yes | Task type: 'habit' (repeatable +/- actions), 'daily' (scheduled recurring tasks), 'todo' (one-time tasks), or 'reward' (purchasable with gold) |
| `notes` | string | No | Detailed description or instructions for the task |
| `everyX` | integer | No | Repeat interval number used with frequency. E.g., everyX=3 with frequency='daily' means every 3 days. |
| `priority` | number | No | Task difficulty affecting gold/XP rewards: 0.1 (Trivial), 1.0 (Easy - default), 1.5 (Medium), 2.0 (Hard) |
| `remindAt` | string | No | ISO 8601 datetime to send a reminder notification |
| `attribute` | string ("str" | "int" | "per" | "con") | No | Primary attribute this task trains: 'str' (Strength), 'int' (Intelligence), 'per' (Perception), 'con' (Constitution). Defaults to 'str'. |
| `frequency` | string ("daily" | "weekly" | "monthly" | "yearly") | No | Recurrence frequency for 'daily' type tasks. Use with everyX to set repeat interval (e.g., frequency='weekly', everyX=2 = every 2 weeks). |
| `challengeId` | string | Yes | The unique UUID of the challenge to add the task to. Get this from GET /challenges/user or when creating a challenge. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Push Device

**Slug:** `HABITICA_ADD_PUSH_DEVICE`

Tool to register a push notification device for the authenticated user. Use when you need to enable push notifications for mobile devices or UnifiedPush clients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("android" | "ios" | "unifiedpush") | Yes | The type of push notification service: 'android' for Firebase Cloud Messaging, 'ios' for Apple Push Notification service, or 'unifiedpush' for UnifiedPush |
| `regId` | string | Yes | The registration ID for the device, obtained from the push notification service provider |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Tag to Task

**Slug:** `HABITICA_ADD_TAG_TO_TASK`

Tool to add a tag to a task. Use when you need to categorize or label a task with an existing tag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The tag ID (UUID) to add to the task. Use get_tags action to retrieve available tag IDs. |
| `task_id` | string | Yes | The task ID (UUID) or alias to add the tag to. Use get_tasks action to retrieve task IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clone Challenge

**Slug:** `HABITICA_CLONE_CHALLENGE`

Tool to clone an existing challenge. Use when you need to duplicate a challenge to a different group with a new name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the cloned challenge |
| `group` | string | Yes | ID of the group where the cloned challenge will be created |
| `shortName` | string | Yes | Short name of the cloned challenge |
| `challengeId` | string | Yes | ID of the challenge to clone (must be a valid UUID) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Challenge

**Slug:** `HABITICA_CREATE_CHALLENGE`

Tool to create a new challenge. Use when you need to start a challenge in a specific group with title, summary, and optional tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Full name of the challenge |
| `group` | string | Yes | ID of the group (party or guild) in which to create the challenge |
| `prize` | integer | No | Number of gems awarded to the winner; use 0 for free challenges |
| `tasks` | array | No | List of task templates to create with the challenge |
| `leader` | string | No | User ID to set as the challenge leader; defaults to the authenticated user |
| `summary` | string | Yes | One-line summary or subtitle for the challenge |
| `official` | boolean | No | Marks the challenge as official (visible in the public challenge directory) |
| `shortName` | string | Yes | URL-friendly unique identifier (slug) for the challenge |
| `description` | string | No | Detailed description or rules of the challenge |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Habitica Party

**Slug:** `HABITICA_CREATE_GROUP`

Create a new Habitica party for collaborative gameplay. Use this tool to create a party where users can: - Participate in quests together - Chat with party members - Share achievements and progress **Important Notes:** - A user can only be in one party at a time. If already in a party, they must leave first. - Guilds are no longer supported by Habitica (removed August 2023). Only 'party' type works. - The authenticated user automatically becomes the party leader.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name of the party (e.g., 'Quest Warriors', 'Daily Challengers') |
| `type` | string ("party" | "guild") | Yes | The type of group to create. Use 'party' (guilds are no longer supported by Habitica). |
| `privacy` | string ("public" | "private") | No | Privacy setting. Parties are always private. Only relevant for historical guild support. |
| `description` | string | No | An optional description for the party explaining its purpose or goals |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `HABITICA_CREATE_TAG`

Tool to create a new tag. Use after determining the desired tag name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The tag's name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `HABITICA_CREATE_TASK`

Create a new task in Habitica. Supports four task types: - 'habit': Recurring positive/negative actions (use up/down to enable +/- buttons) - 'daily': Scheduled tasks that repeat on a schedule (configure with frequency, repeat, startDate) - 'todo': One-time tasks with optional due date (use date field) - 'reward': Custom rewards that cost gold (set value for the gold cost) Required fields: text (task title), type (habit/daily/todo/reward). Optional: notes, priority (0.1=Trivial, 1=Easy, 1.5=Medium, 2=Hard), tags, checklist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `up` | boolean | No | Enable + button (habit) |
| `date` | string | No | Due date for the To-Do |
| `down` | boolean | No | Enable − button (habit) |
| `tags` | array | No | List of tag IDs to assign to the task |
| `text` | string | Yes | Title of the task |
| `type` | string ("habit" | "daily" | "todo" | "reward") | Yes | Type of the task: 'habit', 'daily', 'todo', or 'reward' |
| `alias` | string | No | Alias for the task, used as a unique identifier |
| `notes` | string | No | Additional notes or description for the task |
| `value` | number | No | Reward cost in Gold; required when type = reward |
| `everyX` | integer | No | Interval step for recurrence |
| `repeat` | object | No | Weekly repeat flags: su,m,t,w,th,f,s |
| `priority` | number | No | Difficulty multiplier: 0.1 (Trivial), 1 (Easy), 1.5 (Medium), 2 (Hard) |
| `attribute` | string ("str" | "int" | "per" | "con") | No | Primary attribute linked to the task |
| `checklist` | array | No | Checklist items for todo tasks |
| `frequency` | string | No | Recurrence rule base: daily, weekly, monthly |
| `reminders` | array | No | Reminders for the task |
| `startDate` | string | No | Start date (ISO 8601) |
| `daysOfMonth` | array | No | Specific days for monthly schedule |
| `weeksOfMonth` | array | No | Specific weeks for monthly schedule |
| `collapseChecklist` | boolean | No | Whether checklist is collapsed by default |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `HABITICA_CREATE_WEBHOOK`

Tool to create a new webhook for taskActivity events. Use when you need real-time notifications of task creation, updates, deletion, or scoring.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Destination URL that will receive webhook POST requests when events occur. Must be a valid HTTPS URL. |
| `type` | string ("taskActivity" | "groupChatReceived" | "userActivity" | "questActivity") | No | Event category to subscribe. Options: 'taskActivity' (task events), 'groupChatReceived' (group chat messages), 'userActivity' (user-level events), 'questActivity' (quest events) |
| `label` | string | No | Human-friendly label to identify this webhook |
| `enabled` | boolean | No | Whether the webhook is active and will receive events. Defaults to true. |
| `options` | object | Yes | Event-specific toggles controlling which events trigger the webhook. Required when type='taskActivity'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Habitica Challenge

**Slug:** `HABITICA_DELETE_CHALLENGE`

Permanently delete a Habitica challenge. Only the challenge leader (creator) or an admin can delete a challenge. This action is irreversible - once deleted, the challenge and all associated tasks are permanently removed. Use HABITICA_GET_USER_CHALLENGES to find challenge IDs you own.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `challengeId` | string | Yes | The unique UUID of the challenge to delete. Must be owned by the authenticated user or the user must be an admin. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Leave or Delete Habitica Group

**Slug:** `HABITICA_DELETE_GROUP`

Leave or delete a Habitica group (party or guild). This tool allows you to: 1. Leave a party: Pass 'party' as groupId or the party's UUID to leave your current party. 2. Leave a guild: Pass the guild's UUID to leave the guild. 3. Delete a guild: If you are the leader and there are no other members, passing the guild's UUID will delete it (DELETE endpoint is tried if leave fails). Note: The Habitica API endpoint used is POST /groups/:groupId/leave. Only if that fails (e.g., you're the leader trying to delete an empty guild), the DELETE /groups/:groupId endpoint is attempted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | Yes | The unique identifier (UUID) of the Habitica group to leave or delete. Use 'party' to leave your current party. For guilds, provide the guild's UUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Group Chat Message

**Slug:** `HABITICA_DELETE_GROUP_CHAT_MESSAGE`

Tool to delete a chat message from a Habitica group (party, guild, or Tavern). Use when you need to remove a specific chat message. Note that only the message author or group moderators can delete messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chatId` | string | Yes | The UUID of the chat message to delete. |
| `groupId` | string | Yes | The unique identifier of the group. Use 'party' for the user's party, 'habitrpg' for the Tavern, or provide a guild's UUID. |
| `previousMsg` | string | No | The last message's ID fetched by the client. If provided, the whole chat will be returned only if new messages have been posted in the meantime. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Habitica Tag

**Slug:** `HABITICA_DELETE_TAG`

Tool to delete a tag for the authenticated user. Use when you need to remove an obsolete tag after confirming it’s no longer applied to any tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tagId` | string | Yes | The unique identifier of the tag to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `HABITICA_DELETE_TASK`

Permanently deletes a user's task (habit, daily, todo, or reward) by its ID. The task cannot be recovered after deletion. Use get_tasks to list tasks and their IDs first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskId` | string | Yes | The unique identifier (UUID) of the task to delete. Can be obtained from the get_tasks or create_task actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task Checklist Item

**Slug:** `HABITICA_DELETE_TASK_CHECKLIST_ITEM`

Tool to delete a checklist item from a task. Use when you need to remove a specific checklist item from a todo or daily task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `itemId` | string | Yes | The checklist item _id. The unique identifier (UUID) of the checklist item to delete from the task. |
| `taskId` | string | Yes | The task _id or alias. The unique identifier (UUID) of the task containing the checklist item. Can be obtained from the get_tasks action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Message

**Slug:** `HABITICA_DELETE_USER_MESSAGE_BY_ID`

Tool to delete a message from the authenticated user's inbox by its ID. Use when you need to remove a specific message from the user's Habitica inbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the message to delete from the user's inbox |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Push Device

**Slug:** `HABITICA_DELETE_USER_PUSH_DEVICE`

Tool to remove a push device registration from the authenticated user's account. Use when you need to unregister a device that should no longer receive push notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `regId` | string | Yes | The registration ID of the push device to remove |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Equip Item

**Slug:** `HABITICA_EQUIP_ITEM`

Tool to equip or unequip gear, pets, mounts, or costume items in Habitica. Use when you need to change the user's equipped items. Equipping an already-equipped item will unequip it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The item key to equip (e.g., 'weapon_warrior_0', 'armor_base_0'). To unequip, use the same item key that's currently equipped. |
| `type` | string ("mount" | "pet" | "costume" | "equipped") | Yes | Type of equipment slot: 'mount' to equip a mount, 'pet' to equip a pet, 'costume' to equip costume gear, or 'equipped' to equip battle gear |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Challenge to CSV

**Slug:** `HABITICA_EXPORT_CHALLENGE_CSV`

Tool to export a Habitica challenge to CSV format. Use when you need to download challenge data as a CSV file. The CSV contains all challenge tasks and participant information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `challengeId` | string | Yes | The unique UUID of the challenge to export as CSV |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Challenge

**Slug:** `HABITICA_GET_CHALLENGE`

Tool to retrieve details of a specific challenge. Use when you have the challenge ID and need its full data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `challengeId` | string | Yes | The unique identifier (UUID) of the challenge to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Group Challenges

**Slug:** `HABITICA_GET_CHALLENGES`

Tool to retrieve challenges available in a specific group (guild, party, or tavern).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | Yes | ID of the group whose challenges to list. Use 'party' for the user's party, 'habitrpg' for the Tavern (public challenges), or a specific guild UUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task by ID

**Slug:** `HABITICA_GET_CHALLENGE_TASK`

Retrieve a task by its unique ID. Works for any Habitica task type (habit, daily, todo, reward) whether it belongs to a challenge or is a personal user task. Returns full task details including type-specific properties like completion status, streaks, and scheduling information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | The unique identifier (UUID) of the task to retrieve. This can be a challenge task, user task, or any Habitica task ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Challenge Tasks

**Slug:** `HABITICA_GET_CHALLENGE_TASKS`

Tool to get all tasks for a specified challenge. Use when you have a challenge ID and need to list its defined tasks, including challenge metadata per task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `challengeId` | string | Yes | The unique identifier (UUID) of the challenge to retrieve tasks for. Obtain this from the get_user_challenges or get_challenges actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Content

**Slug:** `HABITICA_GET_CONTENT`

Retrieves all Habitica game content definitions in a single request. Returns ~9MB of static game data including achievements, quests, gear, pets, mounts, eggs, hatching potions, food, backgrounds, spells, and more. Use cases: - Loading full game content to cache for local lookups - Getting all available items, quests, or equipment for reference - Building item pickers or content browsers Note: For specific content types, prefer get_content_by_type to reduce payload size. This endpoint requires no authentication but returns localized English text by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `language` | string | No | ISO 639-1 language code for localized content text. Supported languages include 'en' (English, default), 'es' (Spanish), 'de' (German), 'fr' (French), 'pt' (Portuguese), 'ja' (Japanese), 'zh' (Chinese), 'ru' (Russian), etc. If not specified, defaults to English. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Content By Type

**Slug:** `HABITICA_GET_CONTENT_BY_TYPE`

Retrieves Habitica game content data filtered by a specific category type. Use this tool to fetch game definitions like quest details, equipment stats, pet/mount info, backgrounds, spells, or other static game content. Useful when you need specific category data without fetching all content at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | Content category key to retrieve from Habitica's game data. Common types include: 'quests' (quest definitions with boss info, rewards), 'gear' (equipment with stats organized by class), 'pets' (pet types), 'mounts' (mount types), 'food' (pet food items), 'hatchingPotions' (egg potions), 'eggs' (pet eggs), 'backgrounds' (avatar backgrounds), 'spells' (class abilities), 'faq' (FAQ entries), 'classes' (character class info). |
| `language` | string | No | ISO 639-1 language code for localized content text. Supported languages include 'en' (English, default), 'es' (Spanish), 'de' (German), 'fr' (French), 'pt' (Portuguese), 'ja' (Japanese), etc. If not specified, defaults to English. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Export History CSV

**Slug:** `HABITICA_GET_EXPORT_HISTORY_CSV`

Tool to export user tasks history in CSV format. Returns CSV data with task completions and updates over time.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Export Inbox HTML

**Slug:** `HABITICA_GET_EXPORT_INBOX_HTML`

Tool to export inbox data in HTML format from Habitica. Use when you need to retrieve the user's private messages and inbox content as an HTML document.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export User Data JSON

**Slug:** `HABITICA_GET_EXPORT_USERDATA_JSON`

Exports the authenticated user's complete data in JSON format. Use when you need a full backup or comprehensive snapshot of all user data. Returns the raw internal data structure with all fields and nested objects.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Group

**Slug:** `HABITICA_GET_GROUP`

Retrieves detailed information about a Habitica group (guild or party). Use 'party' as groupId to get the user's current party, or provide a specific group UUID obtained from HABITICA_GET_GROUPS.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | Yes | The group identifier. Can be a UUID for a specific group, or special values: 'party' (user's party), 'habitrpg' (Tavern). Use HABITICA_GET_GROUPS to find group IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Group Members

**Slug:** `HABITICA_GET_GROUP_MEMBERS`

Retrieve members of a Habitica group (guild or party). Supports pagination via lastId parameter and optional search filtering. Use 'party' as groupId to get members of the current user's party.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of members to return per request (1-60). Defaults to 30. |
| `lastId` | string | No | UUID of the last member from a previous request for pagination. Use this to fetch the next batch of members. |
| `search` | string | No | Search term to filter members by profile name or username (case-insensitive). |
| `groupId` | string | Yes | The group identifier (UUID) or 'party' for the user's current party |
| `includeAllPublicFields` | boolean | No | When true, returns all public fields for each member (stats, preferences, inventory, etc.). Defaults to false for basic profile info only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Habitica Groups

**Slug:** `HABITICA_GET_GROUPS`

Retrieves Habitica groups based on type. Use 'guilds' to get all guilds the authenticated user belongs to, 'party' to get the user's current party, or 'tavern' to get the global Tavern (the main public chat).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter public guilds by name substring. Only applicable when querying public guilds. |
| `page` | integer | No | Page index for pagination (0-based). Only applicable when querying public guilds. |
| `type` | string ("guilds" | "party" | "tavern") | Yes | Type of groups to retrieve. 'guilds' returns all guilds the user is a member of. 'party' returns the user's party. 'tavern' returns the global Tavern. |
| `limit` | integer | No | Number of groups per page (max 30). Only applicable when querying public guilds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Habitica Tavern Group

**Slug:** `HABITICA_GET_GROUPS_HABITRPG`

Tool to retrieve the Habitica Tavern (habitrpg) group details. The Tavern is the main public group where all Habitica users can chat and participate in community discussions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Party Chat Messages

**Slug:** `HABITICA_GET_GROUPS_PARTY_CHAT`

Tool to retrieve party chat messages from Habitica. Use when you need to fetch recent chat messages from the authenticated user's party.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Model Paths

**Slug:** `HABITICA_GET_MODELS_MODEL_PATHS`

Retrieves all available field paths and their data types for a specified Habitica model. Use this to discover the structure and available fields for user, group, challenge, tag, or task models. Helpful for understanding what fields can be queried or updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("user" | "group" | "challenge" | "tag" | "habit" | "daily" | "todo" | "reward") | Yes | The model type to retrieve paths for. Available models include: 'user' (user profile fields), 'group' (group/guild fields), 'challenge' (challenge fields), 'tag' (tag fields), 'habit' (habit task fields), 'daily' (daily task fields), 'todo' (to-do task fields), 'reward' (reward task fields). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get News

**Slug:** `HABITICA_GET_NEWS`

Tool to retrieve the latest Bailey announcement from Habitica. Use when you need to check current news, events, or updates posted by Bailey.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Party

**Slug:** `HABITICA_GET_PARTY`

Retrieves the authenticated user's party details from Habitica. Returns information about the user's current party including: - Party name, description, and member count - Party leader information - Current quest status and progress - Recent chat messages - Leader-only permissions Note: Returns an error if the user is not currently in a party. No parameters required - automatically fetches the party for the authenticated user.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Shops Market Gear

**Slug:** `HABITICA_GET_SHOPS_MARKET_GEAR`

Tool to retrieve the available gear for purchase in the market shop. Use when you need to check what equipment is available for each character class. Returns gear organized by class: healer, wizard, rogue, and warrior.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Time Travelers Shop

**Slug:** `HABITICA_GET_SHOPS_TIME_TRAVELERS`

Tool to retrieve available items in the Time Travelers shop. Use when you need to see what quests, backgrounds, pets, or mounts can be purchased with hourglasses.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Habitica API Status

**Slug:** `HABITICA_GET_STATUS`

Tool to check Habitica API server status. Use when you need to verify if the Habitica service is operational before making other API calls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tags

**Slug:** `HABITICA_GET_TAGS`

Retrieve all tags for the authenticated Habitica user. Tags are labels that can be attached to tasks for organization. Returns both user-created tags and challenge-related tags. Use this to get tag IDs for filtering tasks or assigning tags to new tasks.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tasks

**Slug:** `HABITICA_GET_TASKS`

Tool to retrieve all tasks for the authenticated user. Use when you need the user's current tasks list after authenticating.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("habits" | "dailys" | "todos" | "rewards" | "completedTodos") | No | Optional filter by a single task type. If not provided, all tasks are returned. Valid values: 'habits' (positive/negative habits), 'dailys' (recurring daily tasks), 'todos' (one-time tasks), 'rewards' (custom rewards), 'completedTodos' (completed to-do items). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Challenges

**Slug:** `HABITICA_GET_USER_CHALLENGES`

Tool to retrieve challenges the authenticated user participates in. Use when you need a paginated list of user challenges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-indexed page number for pagination. Returns 10 challenges per page. Defaults to 0 (first page). |
| `owned` | string ("owned" | "not_owned") | No | Filter by ownership; 'owned' or 'not_owned' |
| `member` | boolean | No | If true, only return challenges the user has joined |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Profile

**Slug:** `HABITICA_GET_USER_PROFILE`

Retrieves the authenticated user's complete Habitica profile. Returns comprehensive user data including: - Stats: HP, MP, level, experience, gold, and character class - Inventory: gear, pets, mounts, eggs, potions, and quest items - Achievements: unlocked achievements and completed quests - Party: current party membership and quest progress - Preferences: language, timezone, notification settings - Tasks: order of habits, dailies, todos, and rewards - Tags: user-created tags for task organization This is a read-only endpoint that requires no parameters. The user is identified automatically via the API credentials.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhooks

**Slug:** `HABITICA_GET_WEBHOOKS`

Retrieves all webhooks configured for the authenticated Habitica user. Returns a list of webhooks including their URLs, types, enabled status, and task activity options. Use this to check existing webhook configurations, monitor webhook health via failure counts, or get webhook IDs for updates/deletions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get World State

**Slug:** `HABITICA_GET_WORLD_STATE`

Retrieves the current state of the Habitica game world including active events, world boss status, and seasonal NPC visual themes. Use when checking for active world events, monitoring world boss progress, or determining current seasonal themes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite To Group

**Slug:** `HABITICA_INVITE_TO_GROUP`

Tool to invite users to a specific group. Use when you need to send invitations by user UUID, email, or username.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uuids` | array | No | List of Habitica user UUIDs to invite |
| `emails` | array | No | List of email addresses or objects to invite non-registered users. If strings are provided, they will be converted to objects {'email': '<address>'}. |
| `groupId` | string | Yes | The unique identifier (UUID) of the group to invite users to. 'party' is also accepted for inviting to your party. |
| `message` | string | No | Custom invitation message to include |
| `usernames` | array | No | List of Habitica usernames to invite |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Invite To Quest

**Slug:** `HABITICA_INVITE_TO_QUEST`

Tool to invite party members to a quest. Use when you want to start a quest with a specific quest key in a group. The user must own the quest scroll to invite others.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The group ID (use 'party' for the user's party) |
| `quest_key` | string | Yes | The quest key identifier (e.g., 'dustbunnies', 'dilatory') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Join Challenge

**Slug:** `HABITICA_JOIN_CHALLENGE`

Tool to join a challenge. Use after confirming the challenge ID to participate in a specific challenge.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `challengeId` | string | Yes | The UUID of the challenge to join. Must be a valid UUID format (e.g., '3646e192-5e01-4616-9339-6fd7e6ec5b8f'). Get challenge IDs from HABITICA_GET_CHALLENGES or HABITICA_GET_USER_CHALLENGES. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Leave Challenge

**Slug:** `HABITICA_LEAVE_CHALLENGE`

Tool to leave a Habitica challenge. Use when you need to remove yourself from a specific challenge and decide whether to keep or remove its tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keep` | string ("keep-all" | "remove-all") | Yes | What to do with the challenge’s tasks upon leaving: `keep-all` to retain your tasks, `remove-all` to delete them. |
| `challengeId` | string | Yes | The unique ID of the challenge to leave. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Local Login

**Slug:** `HABITICA_LOCAL_LOGIN`

Tool to authenticate a user via local credentials. Use when needing an API token for subsequent Habitica requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `password` | string | Yes | User's password for local authentication |
| `username` | string | Yes | User's Habitica username or email address for local authentication |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Local User Registration

**Slug:** `HABITICA_LOCAL_REGISTER`

Tool to register a new Habitica user via email and password. Use when creating a fresh account before authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the new user. |
| `password` | string | Yes | Password for the new user. |
| `username` | string | Yes | Login name; 1–36 characters; lowercase a–z, digits, hyphens (-), underscores (_). |
| `confirmPassword` | string | Yes | Password confirmation; must match the `password` field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Group Chat Seen

**Slug:** `HABITICA_MARK_GROUP_CHAT_SEEN`

Tool to mark all chat messages as read/seen for a specific group. Use when you need to clear unread message notifications in a group chat. Requires a valid group ID ('party' for user's party, 'habitrpg' for Tavern).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | Yes | The group identifier. Can be a UUID for a specific group, or special values: 'party' (user's party), 'habitrpg' (Tavern). Use HABITICA_GET_GROUPS to find group IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Notification Seen

**Slug:** `HABITICA_MARK_NOTIFICATION_SEEN`

Tool to mark a single notification as seen in Habitica. Use this when you need to mark one specific notification as read after the user has viewed it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notificationId` | string | Yes | The ID of the notification to mark as seen. Get notification IDs from the Get Notifications action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Notifications Seen

**Slug:** `HABITICA_MARK_NOTIFICATIONS_SEEN`

Marks specific notifications as read/seen in Habitica. Use this after getting notifications to clear unread notification badges. Requires valid notification IDs from the Get Notifications action. Returns updated notification state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notificationIds` | array | Yes | List of notification IDs to mark as read. Get notification IDs from the Get Notifications action. At least one notification ID is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Pinned Item

**Slug:** `HABITICA_MOVE_PINNED_ITEM`

Tool to move a pinned item in the rewards column to a new position. Use when you need to reorder pinned items after sorting them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | Yes | The full path of the pinned item to move (e.g., 'gear.flat.weapon_warrior_1', 'potion', 'armoire') |
| `position` | integer | Yes | The target position index (0-based) where the item should be moved to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Task To Position

**Slug:** `HABITICA_MOVE_TASK_TO_POSITION`

Move a Habitica task to a new position in the task list. Use this when you need to reorder tasks by moving a specific task to the top (position=0), bottom (position=-1), or any specific position. The response returns the updated task order for the task type (habit, daily, todo, or reward) that the moved task belongs to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskId` | string | Yes | The task _id or alias to move |
| `position` | integer | Yes | Where to move the task. 0 = top of the list (push to top). -1 = bottom of the list (push to bottom). Other positive integers move the task to that specific position in the list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Dismiss Bailey Announcement

**Slug:** `HABITICA_POST_NEWS_TELL_ME_LATER`

Tool to dismiss the latest Bailey announcement in Habitica, allowing it to be read later. Use this when the user wants to clear the current news notification without reading it. The announcement will reappear later.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reset User Account

**Slug:** `HABITICA_POST_USER_RESET`

Resets the authenticated user's account to starting state. This permanently deletes all tasks, resets character to level 1, and clears progress while retaining some items and achievements. Use with caution as this action is irreversible.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Card

**Slug:** `HABITICA_READ_CARD`

Tool to mark a card as read in Habitica. Use when a user receives a special card (birthday, greeting, nye, thankyou, or valentine) and wants to acknowledge it. Updates user.flags.cardReceived and returns updated user.items.special.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cardType` | string ("birthday" | "greeting" | "nye" | "thankyou" | "valentine") | Yes | The type of card to read. Valid options are: birthday, greeting, nye (New Year's Eve), thankyou, or valentine. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Party Member

**Slug:** `HABITICA_REMOVE_FROM_PARTY`

Removes a member from the authenticated user's party. Requirements: - You must be the party leader to remove members - You cannot remove yourself (use Leave Party instead) - The member must be currently in your party Use Get Party Members first to obtain member IDs. This action is typically used to remove inactive members or those who no longer wish to participate.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | No | Optional message explaining why the member is being removed. This will be shown to the removed member in a notification. |
| `memberId` | string | Yes | The UUID of the party member to remove. Get member IDs from the Get Party Members action. Cannot be your own user ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Score Task

**Slug:** `HABITICA_SCORE_TASK`

Score a Habitica task to mark it as completed or incomplete. Use this tool to: - Mark a todo as complete ('up') or incomplete ('down') - Check off a daily task ('up') or uncheck it ('down') - Record a positive habit action ('up') or negative habit action ('down') - Redeem a reward (use 'up' direction for rewards) Returns updated user stats including health, mana, experience, gold, and level. Scoring tasks can trigger drops (food, eggs, potions) and quest progress.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskId` | string | Yes | The task ID (UUID) or task alias to score. Use HABITICA_GET_TASKS to retrieve task IDs. |
| `direction` | string ("up" | "down") | Yes | Score direction: 'up' marks task as completed (adds rewards), 'down' marks as incomplete (removes rewards). For habits, 'up' is positive action, 'down' is negative action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Social Auth

**Slug:** `HABITICA_SOCIAL_AUTH`

Tool to authenticate a user via a social provider. Use after obtaining an OAuth token or code from Facebook, Google, GitHub, or Apple.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | GitHub authorization code (required if service is github) |
| `service` | string ("facebook" | "google" | "github" | "apple") | Yes | Social provider to authenticate with. One of: facebook, google, github, apple |
| `id_token` | string | No | Google or Apple ID token (required if service is google or apple) |
| `access_token` | string | No | Facebook access token (required if service is facebook) |
| `redirect_uri` | string | No | Redirect URI for GitHub OAuth (required if service is github) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Subscribe Webhook

**Slug:** `HABITICA_SUBSCRIBE_WEBHOOK`

Tool to enable (subscribe) an existing webhook by ID for the authenticated user. This aligns with Habitica's documented API by updating the webhook resource to ensure it is enabled. Usage: obtain the webhook ID (e.g., via Get Webhooks or after creating a webhook) and call this action to set enabled=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | The UUID of the webhook to enable. Obtain this from the Get Webhooks action or when creating a webhook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unlink All Challenge Tasks

**Slug:** `HABITICA_UNLINK_ALL_CHALLENGE_TASKS`

Tool to unlink all tasks from a Habitica challenge. Use when you need to disconnect all tasks associated with a challenge and decide whether to keep or remove them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keep` | string ("keep-all" | "remove-all") | No | Specifies whether tasks should be kept or removed after unlinking. `keep-all` retains the tasks after unlinking them from the challenge, `remove-all` removes all tasks after unlinking. |
| `challengeId` | string | Yes | The unique UUID of the challenge to unlink all tasks from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Group

**Slug:** `HABITICA_UPDATE_GROUP`

Tool to update a Habitica group (party or guild) by modifying its properties. Use when you need to change the name, description, or summary of an existing group. Only the group leader can update group properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new display name for the group |
| `groupId` | string | Yes | The group identifier to update. Can be a UUID for a specific group, or special values: 'party' (user's party), 'habitrpg' (Tavern). |
| `summary` | string | No | A brief summary of the group |
| `description` | string | No | The new description for the group explaining its purpose or goals |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tag

**Slug:** `HABITICA_UPDATE_TAG`

Tool to update an existing tag's name. Use when you need to rename a tag after identifying its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The updated name for the tag |
| `tagId` | string | Yes | The unique identifier of the tag to update (UUID) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `HABITICA_UPDATE_TASK`

Update an existing task in Habitica. Use this to modify task properties like title, notes, priority, or other attributes. Only include fields you want to update - all body parameters are optional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | Updated list of tag IDs to assign to the task. Replaces existing tags. |
| `text` | string | No | Updated title/name of the task |
| `notes` | string | No | Updated task description or notes |
| `taskId` | string | Yes | The task ID (UUID) or alias to update. Can be obtained from get_tasks or create_task actions. |
| `priority` | number | No | Updated difficulty multiplier: 0.1 (Trivial), 1 (Easy), 1.5 (Medium), 2 (Hard) |
| `attribute` | string ("str" | "int" | "per" | "con") | No | Updated player stat affected by this task: 'str' (Strength), 'int' (Intelligence), 'con' (Constitution), 'per' (Perception) |
| `checklist` | array | No | Updated checklist items for the task. Replaces existing checklist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task Checklist Item

**Slug:** `HABITICA_UPDATE_TASK_CHECKLIST_ITEM`

Tool to update a checklist item in a task. Use when you need to modify the text of a specific checklist item in a todo or daily task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | The updated text content for the checklist item. |
| `itemId` | string | Yes | The checklist item _id. The unique identifier (UUID) of the checklist item to update in the task. |
| `taskId` | string | Yes | The task _id or alias. The unique identifier (UUID) of the task containing the checklist item. Can be obtained from the get_tasks action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User

**Slug:** `HABITICA_UPDATE_USER`

Update the authenticated user's profile, preferences, flags, and other settings in Habitica. Use dot notation for nested fields (e.g., profile.name, preferences.language). Note: Some paths are protected and cannot be modified (e.g., stats.class will be rejected).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile.name` | string | No | User's display name |
| `flags.newStuff` | boolean | No | Whether user has seen the 'New Stuff' alert |
| `preferences.size` | string | No | Character size: 'slim' or 'broad' |
| `preferences.skin` | string | No | Skin tone preference |
| `preferences.chair` | string | No | Chair equipment name |
| `preferences.shirt` | string | No | Shirt color preference |
| `preferences.sleep` | boolean | No | Whether user is resting in the inn |
| `preferences.costume` | boolean | No | Whether costume mode is enabled |
| `preferences.dayStart` | integer | No | Hour of day when dailies reset (0-23) |
| `preferences.language` | string | No | User's preferred language code (e.g., 'en', 'es', 'fr') |
| `flags.warnedLowHealth` | boolean | No | Whether user has been warned about low health |
| `preferences.hair.base` | integer | No | Hair base style number |
| `preferences.background` | string | No | Background image name |
| `preferences.hair.bangs` | integer | No | Hair bangs style number |
| `preferences.hair.beard` | integer | No | Beard style number |
| `preferences.hair.color` | string | No | Hair color preference |
| `preferences.hair.flower` | integer | No | Hair flower style number |
| `preferences.hair.mustache` | integer | No | Mustache style number |
| `preferences.allocationMode` | string | No | Stat allocation mode: 'flat', 'classbased', or 'taskbased' |
| `preferences.disableClasses` | boolean | No | Whether class system is disabled |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate Coupon Code

**Slug:** `HABITICA_VALIDATE_COUPON_CODE`

Validate a Habitica coupon code to check if it is valid and active. Use this tool to verify coupon codes before attempting to apply them to a user account. Returns information about the coupon's validity and type (e.g., subscription, gems).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The coupon code to validate. Must be a valid string identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
