# 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:** 20260414_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.

### 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.

### 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.

### 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.

### 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.

### 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.

### Create Tag

**Slug:** `HABITICA_CREATE_TAG`

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

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### Get Group Challenges

**Slug:** `HABITICA_GET_CHALLENGES`

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

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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).

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### Join Challenge

**Slug:** `HABITICA_JOIN_CHALLENGE`

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

### 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.

### Local Login

**Slug:** `HABITICA_LOCAL_LOGIN`

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

### 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.

### 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).

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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).

### 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).
