# Moco

MOCO is a business management software offering project management, time tracking, and invoicing solutions.

- **Category:** project management
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 218
- **Triggers:** 0
- **Slug:** `MOCO`
- **Version:** 20260227_00

## Tools

### Activate Offer Customer Approval

**Slug:** `MOCO_ACTIVATE_OFFER_CUSTOMER_APPROVAL`

Tool to activate customer approval on an offer to generate the offer_document_url. Use when you need to create a shareable PDF link for customer approval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to activate customer approval for. |

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

### List Activities

**Slug:** `MOCO_ACTIVITIES_LIST`

Retrieves a list of activities (time entries) from MOCO. Activities are time tracking records that log hours worked on projects and tasks. Use this tool to: - Get all time entries within a date range - Find activities by user, project, task, or company - Filter by billing status (billable/non-billable, billed/unbilled) - Search for activities by description, tag, or external reference - Sort results by any field (date, hours, etc.) Returns paginated results with detailed information about each activity including the associated project, task, customer, and user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). Default is 1. Use to navigate through large result sets. If results are empty, you've reached the last page. |
| `term` | string | No | Search term to find activities by keyword. Searches across activity tags, descriptions, and external reference IDs (remote_id). Case-insensitive partial match. |
| `billed` | boolean | No | Filter by invoicing status. True returns only activities already added to an invoice, False returns only unbilled activities. Omit to get both. Use this to find time that needs to be invoiced. |
| `sort_by` | string | No | Field name to sort results by. Common values: 'date' (activity date), 'hours' (time logged), 'created_at' (when logged). Omit for default sorting. |
| `task_id` | integer | No | Filter to show only activities for a specific task within projects. Use the task's numeric ID from MOCO. |
| `to_date` | string | No | Filter activities up to this date (inclusive). Format: YYYY-MM-DD. Use with from_date to specify a date range for time entries. |
| `user_id` | integer | No | Filter to show only activities logged by a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_LIST). |
| `billable` | boolean | No | Filter by billability status. True returns only billable activities (can be invoiced), False returns only non-billable activities (internal work). Omit to get both. |
| `from_date` | string | No | Filter activities from this date onwards (inclusive). Format: YYYY-MM-DD. Use with to_date to specify a date range for time entries. |
| `company_id` | integer | No | Filter to show only activities for a specific customer/company. Use the company's numeric ID from MOCO (get from MOCO_COMPANY_* actions). |
| `project_id` | integer | No | Filter to show only activities associated with a specific project. Use the project's numeric ID from MOCO (get from MOCO_PROJECTS_LIST). |
| `sort_order` | string ("asc" | "desc") | No | Sort direction. 'asc' for ascending (oldest/smallest first), 'desc' for descending (newest/largest first). Default is 'asc'. |

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

**Slug:** `MOCO_ACTIVITY_GET`

Tool to retrieve a single activity by ID. Use when you need to fetch details for a specific activity after confirming the activity ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the activity 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 |

### Update Activity

**Slug:** `MOCO_ACTIVITY_UPDATE`

Tool to update an existing activity. Use when you need to adjust details of a recorded time entry after confirming the activity exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the activity to update |
| `tag` | string | No | Tag assigned to this entry |
| `date` | string | No | Date of the activity in YYYY-MM-DD format |
| `seconds` | integer | No | Duration in seconds (e.g., 4500 = 1.25 hours) |
| `task_id` | integer | No | ID of the task associated with the activity |
| `billable` | boolean | No | Whether this activity is billable |
| `remote_id` | string | No | External system identifier |
| `project_id` | integer | No | ID of the project associated with the activity |
| `remote_url` | string | No | URL pointing to the external system ticket |
| `description` | string | No | Textual description of the work performed |
| `remote_service` | string ("trello" | "jira" | "asana" | "basecamp" | "wunderlist" | "basecamp2" | "basecamp3" | "toggl" | "mite" | "github" | "youtrack") | No | External system 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 |

### Assign Offer

**Slug:** `MOCO_ASSIGN_OFFER`

Tool to assign an offer to a project, company, or deal. Use when you need to link an existing offer with a project (creating project from offer), associate it with a company, or link it to a deal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to assign. |
| `deal_id` | integer | No | Numeric ID of the deal to link with the offer. |
| `company_id` | integer | No | Numeric ID of the company to associate with the offer. Note: If project_id is also provided, the project's company takes precedence. |
| `project_id` | integer | No | Numeric ID of the project to assign the offer to. When provided, the offer's company_id is automatically set to the project's company, overriding any company_id value provided. |

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

### Assign Purchase to Project

**Slug:** `MOCO_ASSIGN_PURCHASE_TO_PROJECT`

Tool to assign a purchase item to a project by creating or linking to an expense. Use when you need to associate a purchase line item with a specific project for billing and budget tracking.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the purchase to assign |
| `item_id` | integer | Yes | The purchase item identifier to assign |
| `billable` | boolean | No | Overrides account settings for expense billability |
| `surcharge` | boolean | No | Boolean to apply configured surcharges |
| `expense_id` | integer | No | Reference to an existing project expense; if omitted, a new one is created |
| `project_id` | integer | Yes | The project identifier to assign the item to |
| `budget_relevant` | boolean | No | Overrides account settings for budget tracking |
| `notify_project_leader` | boolean | No | Send notifications to the project leader when creating an expense |

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

### List comments

**Slug:** `MOCO_COMMENTS_LIST`

Tool to retrieve a list of comments. Use after confirming the resource type and ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results. |
| `manual` | boolean | No | True for user-created comments; false for system-generated. |
| `sort_by` | string | No | Field to sort by (e.g., 'created_at'). |
| `user_id` | integer | No | Filter by creator user ID. |
| `sort_order` | string | No | Sort order: 'asc' or 'desc'. |
| `commentable_id` | integer | No | Filter by resource ID. |
| `commentable_type` | string | No | Filter by resource type (e.g., 'project', 'session'). |

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

**Slug:** `MOCO_COMPANY_CREATE`

Creates a new company in MOCO (customer, supplier, or organization). Required fields: - name: Company name - type: Must be 'customer', 'supplier', or 'organization' - currency: Required only for 'customer' type (e.g., 'USD', 'EUR', 'CHF') Common optional fields: website, email, phone, address, tags, user_id, country_code

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fax` | string | No | Company's fax number |
| `iban` | string | No | International Bank Account Number for suppliers |
| `info` | string | No | Additional information about the company |
| `name` | string | Yes | Name of the company |
| `tags` | array | No | Tags associated with the company |
| `type` | string ("customer" | "supplier" | "organization") | Yes | Type of the company |
| `email` | string | No | Primary email address for the company |
| `phone` | string | No | Company's phone number |
| `footer` | string | No | HTML content for invoice footer |
| `address` | string | No | Postal address, lines separated by ' ' |
| `user_id` | integer | No | ID of the responsible user |
| `website` | string | No | Company's website URL |
| `currency` | string | No | Currency code for customers (e.g., 'USD', 'EUR', 'CHF'). Required if type is 'customer'. Must match a currency configured in your MOCO account settings |
| `identifier` | string | No | Unique identifier/reference for the customer (e.g., 'CUST-001', 'K-123'). Leave empty for auto-generated identifier |
| `country_code` | string | No | ISO Alpha-2 country code (e.g., 'DE', 'CH', 'AT') |
| `customer_tax` | number | No | Tax rate for the customer (percentage) |
| `debit_number` | integer | No | Debit number if bookkeeping is enabled |
| `supplier_tax` | number | No | Tax rate for the supplier (percentage) |
| `billing_notes` | string | No | Notes to include on invoices |
| `credit_number` | integer | No | Credit number if bookkeeping is enabled |
| `vat_identifier` | string | No | European Union VAT identification number |
| `billing_email_cc` | string | No | CC email address(es) for billing (comma-separated) |
| `custom_properties` | object | No | Custom key/value properties |
| `default_invoice_due_days` | integer | No | Default number of days until invoice is due |
| `alternative_correspondence_language` | boolean | No | Indicates if sales documents should use the alternative correspondence language |

#### 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 a company

**Slug:** `MOCO_COMPANY_DELETE`

Tool to delete a company. Use when you need to remove a company from MOCO after confirming no active dependencies.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the company 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 |

### List Contacts

**Slug:** `MOCO_CONTACTS_LIST`

Tool to retrieve a list of contacts. Use when you need to list contacts optionally filtered by tags, term, or phone after confirming criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >=1. |
| `tags` | string | No | Comma-separated tags to filter contacts. |
| `term` | string | No | Full-text search for firstname, lastname, work_email, or company. |
| `phone` | string | No | Reverse lookup in work_phone or mobile_phone. |
| `per_page` | integer | No | Number of contacts per page, must be >=1. |

#### 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 Account Catalog Service

**Slug:** `MOCO_CREATE_ACCOUNT_CATALOG_SERVICES`

Tool to create a catalog service including its items. Use when you need to create a catalog service with pricing items. Note: Items cannot be updated through this endpoint - use separate item-specific endpoints for modifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | array | Yes | Array of items in the catalog service. Each item should specify type, title, and pricing details. Required. |
| `title` | string | Yes | Name of the catalog service entry |

#### 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 Catalog Service Item

**Slug:** `MOCO_CREATE_ACCOUNT_CATALOG_SERVICES_ITEMS`

Tool to create a new item within a catalog service in MOCO. Use when you need to add items like consulting services, products, or other billable items to a service catalog.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The catalog service ID to add the item to |
| `type` | string | Yes | Type of item (e.g., 'item', 'title', 'description', 'page-break', 'subtotal', 'separator') |
| `unit` | string | No | Unit of measurement (e.g., 'h' for hours, 'VM' for virtual machine) |
| `title` | string | Yes | Item title/name |
| `optional` | boolean | No | Flag for optional positions |
| `quantity` | number | No | Quantity of the item (can be 0 for all-inclusive items) |
| `net_total` | number | No | Total price for the item |
| `unit_cost` | number | No | Internal cost per unit |
| `additional` | boolean | No | Mark as additional service |
| `unit_price` | number | No | Price per unit |

#### 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 Account Custom Property

**Slug:** `MOCO_CREATE_ACCOUNT_CUSTOM_PROPERTIES`

Tool to create a new custom property in MOCO. Use when you need to define a new custom field for entities like Deals, Projects, or Customers. Custom properties can be of various types (String, Textarea, Link, Boolean, Select, MultiSelect, Date) and can be configured to appear on documents or trigger notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string ("String" | "Textarea" | "Link" | "Boolean" | "Select" | "MultiSelect" | "Date") | Yes | Data type of the custom property: String, Textarea, Link, Boolean, Select, MultiSelect, or Date |
| `name` | string | Yes | Name of the custom property (e.g., 'Slogan', 'Budget Code') |
| `entity` | string ("Deal" | "Project" | "Customer" | "Supplier" | "Organization" | "Contact" | "Unit" | "User" | "AbsenceRequest" | "HolidayRequest" | "Expense" | "Purchase" | "Invoice" | "Offer" | "ProjectGroup" | "PurchaseOrder") | Yes | Target entity type for this custom property. Valid values: Project, Customer, Supplier, Organization, Contact, Unit, User, AbsenceRequest, HolidayRequest, Deal, Expense, Purchase, Invoice, Offer, ProjectGroup, PurchaseOrder |
| `api_only` | boolean | No | If true, this custom property is only accessible via API and not displayed in the UI |
| `defaults` | array | No | Array of selectable options for Select or MultiSelect kind. Required when kind is Select or MultiSelect |
| `placeholder` | string | No | Helper text shown in input fields to guide users |
| `print_on_offer` | boolean | No | If true, this custom property will be included on offer documents |
| `placeholder_alt` | string | No | Alternative language placeholder text for input fields |
| `print_on_invoice` | boolean | No | If true, this custom property will be included on invoice documents |
| `print_on_timesheet` | boolean | No | If true, this custom property will be included on timesheet documents |
| `notification_enabled` | boolean | No | If true, enables notifications for Date-type properties. Only applicable when kind is Date |

#### 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 Activities Bulk

**Slug:** `MOCO_CREATE_ACTIVITIES_BULK`

Tool to bulk create multiple activities (time entries) at once in MOCO. Activities are time tracking records that log hours worked on projects and tasks. Use this tool to: - Create multiple time entries in a single API call for efficiency - Import time logs from external systems in bulk - Backfill historical time tracking data - Log multiple activities for the same or different projects/tasks at once More efficient than calling activity create endpoint multiple times. All activities must have valid date, project_id, and task_id. Returns all created activities with their generated IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `activities` | array | Yes | Array of activity objects to create. Each must have date, project_id, and task_id at minimum. |

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

**Slug:** `MOCO_CREATE_ACTIVITY`

Tool to create a new activity (time tracking entry) in MOCO. Use when you need to record time spent on a project task. Activities are created for the user that the API key belongs to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Tag assigned to this entry for categorization |
| `date` | string | Yes | Date of the activity in YYYY-MM-DD format |
| `hours` | number | No | Duration in hours (alternative to seconds, e.g., 2.5 = 2 hours 30 minutes) |
| `seconds` | integer | No | Duration in seconds (alternative to hours, e.g., 9000 = 2.5 hours) |
| `task_id` | integer | Yes | ID of the task associated with the activity |
| `billable` | boolean | No | Whether this activity is billable. If not specified, inherits from project/task settings |
| `remote_id` | string | No | External system identifier (e.g., ticket ID) |
| `project_id` | integer | Yes | ID of the project associated with the activity |
| `remote_url` | string | No | URL pointing to the external system ticket or issue |
| `description` | string | No | Textual description of the work performed |
| `remote_service` | string ("trello" | "jira" | "asana" | "basecamp" | "wunderlist" | "basecamp2" | "basecamp3" | "toggl" | "mite" | "github" | "youtrack") | No | External system name for integration |

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

**Slug:** `MOCO_CREATE_COMMENT`

Tool to create a new comment on a MOCO resource. Use when you need to add a comment to a project, deal, contact, or other supported entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Comment text in plain text or valid HTML (only div, strong, em, u, pre, ul, ol, li, br tags allowed) |
| `commentable_id` | integer | Yes | ID of the object to comment on (e.g., project ID, deal ID, contact ID) |
| `commentable_type` | string ("Contact" | "Deal" | "DeliveryNote" | "Project" | "User" | "Unit" | "Company" | "Offer" | "OfferConfirmation" | "Invoice" | "InvoiceReminder" | "InvoiceDeletion" | "InvoiceBookkeepingExport" | "Expense" | "RecurringExpense" | "Receipt" | "ReceiptRefundRequest" | "Purchase" | "PurchaseBookkeepingExport" | "PurchaseDraft") | Yes | Type of object to comment on |
| `attachment_content` | string | No | File content as base64-encoded string (must be provided along with attachment_filename) |
| `attachment_filename` | string | No | Filename for attachment (must be provided along with attachment_content) |

#### 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 Comments Bulk

**Slug:** `MOCO_CREATE_COMMENTS_BULK`

Tool to create multiple comments in bulk for MOCO objects. Use when you need to add the same comment to multiple objects of the same type efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Comment text to add to all specified objects. Supports plain text or HTML. |
| `created_at` | string | No | Custom timestamp for data migration purposes. Format: YYYY-MM-DDTHH:MM:SS (e.g., 2018-05-09T05:40:06). If not provided, current timestamp is used. |
| `commentable_ids` | array | Yes | Array of object IDs to create comments for. All IDs must be of the same commentable_type. |
| `commentable_type` | string ("Contact" | "Deal" | "DeliveryNote" | "Project" | "User" | "Unit" | "Company" | "Offer" | "OfferConfirmation" | "Invoice") | Yes | The type of object being commented on. All IDs in commentable_ids must be of this type. |
| `attachment_content` | string | No | File content as a base64-encoded string. Required if attachment_filename is provided. |
| `attachment_filename` | string | No | File name for an attachment to include with the comments. |

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

**Slug:** `MOCO_CREATE_CONTACT`

Tool to create a new contact person in MOCO. Use when you need to add a new contact with their personal and professional information. Requires lastname and gender; optionally accepts contact details, company association, and tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `info` | string | No | Additional information or notes about the contact |
| `tags` | array | No | Array of tag strings to categorize the contact |
| `title` | string | No | Title or professional designation (e.g., Dr., Prof., Mr., Ms.) |
| `gender` | string ("F" | "M" | "U") | Yes | Gender of the contact: F (female), M (male), or U (unspecified) |
| `user_id` | integer | No | User ID responsible for this contact. Defaults to current user if not specified |
| `birthday` | string | No | Birthday in YYYY-MM-DD format |
| `lastname` | string | Yes | Last name (surname) of the contact |
| `work_fax` | string | No | Work fax number |
| `firstname` | string | No | First name (given name) of the contact |
| `company_id` | integer | No | ID of the company this contact belongs to |
| `home_email` | string | No | Home (personal) email address |
| `work_email` | string | No | Work email address |
| `work_phone` | string | No | Work phone number |
| `home_address` | string | No | Home (residential) address |
| `job_position` | string | No | Job title or position of the contact |
| `mobile_phone` | string | No | Mobile phone number |
| `work_address` | string | No | Work address (lines separated by newline character) |

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

**Slug:** `MOCO_CREATE_DEAL`

Tool to create a new deal in MOCO. Use when you need to add a deal with specified parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `info` | string | No | Additional information or notes about the deal |
| `name` | string | Yes | Name of the deal |
| `tags` | array | No | Array of label strings for categorizing the deal |
| `money` | number | Yes | Monetary value of the deal; must be non-negative |
| `status` | string ("potential" | "pending" | "won" | "lost" | "dropped") | No | Current status of the deal |
| `user_id` | integer | Yes | ID of the responsible user (representative) |
| `currency` | string | Yes | Three-letter ISO currency code (e.g., EUR, USD, CHF) |
| `closed_on` | string | No | Date when the deal was closed in YYYY-MM-DD format |
| `person_id` | integer | No | ID of the associated contact person |
| `company_id` | integer | No | ID of the associated company |
| `reminder_date` | string | Yes | Reminder date in YYYY-MM-DD format |
| `deal_category_id` | integer | Yes | ID of the deal category |
| `service_period_to` | string | No | Service period end date in YYYY-MM-DD format (last day of month) |
| `service_period_from` | string | No | Service period start date in YYYY-MM-DD format (first day of month) |

#### 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 Deal Category

**Slug:** `MOCO_CREATE_DEAL_CATEGORY`

Creates a new deal category in MOCO with a name and probability percentage. Deal categories represent stages in a sales pipeline (e.g., "Contact", "Negotiation", "Closed Won") and include probability percentages (0-100) indicating the likelihood of winning at each stage. Use this action to add new stages to your sales pipeline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the deal category (e.g., 'New Category', 'Negotiation', 'Closed Won') |
| `probability` | integer | Yes | Probability percentage (0-100) indicating the likelihood of winning deals in this category |

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

**Slug:** `MOCO_CREATE_EMPLOYMENT`

Create a new employment (weekly work model) for a user in MOCO. Define work hours distribution across weekdays using 'am' and 'pm' arrays.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Employment end date in YYYY-MM-DD format. Leave unset for open-ended employment. |
| `from` | string | No | Employment start date in YYYY-MM-DD format. Defaults to current date if not provided. |
| `pattern` | object | Yes | Work hours pattern with 'am' and 'pm' arrays (5 values each for Monday-Friday) |
| `user_id` | integer | Yes | The user identifier for whom the employment is being created |

#### 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 Expense Template

**Slug:** `MOCO_CREATE_EXPENSE_TEMPLATE`

Tool to create a new expense template in MOCO. Use when you need to set up reusable expense items with predefined pricing and cost information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `unit` | string | Yes | Measurement unit type (e.g., 'hours', 'pieces', 'month', 'day') |
| `title` | string | Yes | Name of the expense template |
| `currency` | string | Yes | Three-letter currency code (e.g., 'USD', 'EUR', 'CHF') |
| `unit_cost` | string | Yes | Internal cost for one unit as a decimal string |
| `unit_price` | string | Yes | Price per single unit as a decimal string |
| `description` | string | Yes | Detailed description of the template |

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

**Slug:** `MOCO_CREATE_HOLIDAY`

Create a new holiday entry for a user in MOCO. Use this to allocate annual leave days, vacation allowances, or other holiday entitlements for specific users and years.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `days` | integer | Yes | Number of holiday days to allocate |
| `year` | integer | Yes | Year for the holiday entry (e.g., 2019, 2026) |
| `title` | string | Yes | Title/description of the holiday entry (e.g., 'Annual Leave Allocation', 'Urlaubsanspruch 80%') |
| `user_id` | integer | Yes | ID of the user for whom the holiday is created |
| `creator_id` | integer | No | ID of the user creating the record (optional). If not specified, the authenticated user is used |

#### 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 Invoice Attachment

**Slug:** `MOCO_CREATE_INVOICE_ATTACHMENT`

Tool to add a PDF attachment to an existing invoice. Use when you need to attach supporting documents or files to an invoice record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attachment` | object | Yes | Attachment object containing filename and base64-encoded PDF content |
| `invoice_id` | integer | Yes | The unique ID of the invoice to attach the PDF 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 |

### Create Invoice Bookkeeping Export

**Slug:** `MOCO_CREATE_INVOICE_BOOKKEEPING_EXPORT`

Tool to create a new invoice bookkeeping export. Use when you need to export invoice data for accounting purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Supplementary information or notes about the bookkeeping export. |
| `invoice_ids` | array | Yes | Array of invoice identifiers to include in the export. |
| `trigger_submission` | boolean | No | Controls automatic submission (defaults to true); set to false to prevent automatic DATEV submission. |

#### 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 Invoice Payment

**Slug:** `MOCO_CREATE_INVOICE_PAYMENT`

Tool to create a new invoice payment. Use when recording a payment received for an invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Payment date in YYYY-MM-DD format |
| `currency` | string | Yes | Three-letter currency code (e.g., EUR, USD, CHF) |
| `invoice_id` | integer | No | Invoice identifier. Recommended to link payment to a specific invoice |
| `paid_total` | number | Yes | Amount paid (non-negative) |
| `description` | string | No | Payment notes or description. Must be provided if invoice_id is omitted |
| `partially_paid` | boolean | No | Indicates whether this is a partial payment. Set to true if the payment amount is less than the invoice total |

#### 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 Invoice Reminder

**Slug:** `MOCO_CREATE_INVOICE_REMINDER`

Tool to create a new invoice reminder for an existing invoice. Use when you need to send a payment reminder to a customer for an overdue invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fee` | number | No | Additional charges associated with the reminder |
| `date` | string | No | Creation date of the reminder in YYYY-MM-DD format |
| `text` | string | No | Reminder body content; uses default configured text if not provided |
| `title` | string | No | Reminder heading; defaults to configured account settings if omitted |
| `due_date` | string | No | Payment deadline for the reminder in YYYY-MM-DD format |
| `invoice_id` | integer | Yes | The associated invoice 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 |

### Create Invoice Payments Bulk

**Slug:** `MOCO_CREATE_INVOICES_PAYMENTS_BULK`

Tool to create multiple invoice payments in bulk. Use when you need to record multiple payments at once across different invoices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bulk_data` | array | Yes | Array of payment objects to create in bulk. Each payment requires date, invoice_id, and paid_total |

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

**Slug:** `MOCO_CREATE_OFFER`

Tool to create a new offer/proposal. Use after gathering complete offer data (company, dates, items, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax` | number | Yes | Tax percentage, e.g. 10.0 |
| `date` | string | Yes | Offer date in YYYY-MM-DD format |
| `items` | array | Yes | List of offer line items |
| `title` | string | Yes | Offer title |
| `footer` | string | No | Closing message (supports variables) |
| `deal_id` | integer | No | ID of the associated deal |
| `currency` | string | No | Three-letter currency code (required only without company_id, deal_id, or project_id) |
| `discount` | number | No | Discount percentage |
| `due_date` | string | Yes | Due date in YYYY-MM-DD format |
| `company_id` | integer | No | ID of the associated company |
| `contact_id` | integer | No | ID of the associated customer contact |
| `project_id` | integer | No | ID of the associated project |
| `salutation` | string | No | Greeting text for the offer (supports variables) |
| `recipient_address` | string | Yes | Full recipient address, lines separated by '\n' |

#### 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 Offer Attachment

**Slug:** `MOCO_CREATE_OFFER_ATTACHMENT`

Tool to upload an attachment to an offer. Use when you need to attach a document to an existing offer after obtaining the offer ID and file content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to attach the file to |
| `attachment` | object | Yes | Attachment object containing filename and base64-encoded file content |

#### 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 Project Contract

**Slug:** `MOCO_CREATE_PROJECT_CONTRACT`

Tool to create a new contract (assign staff) for a project in MOCO. Use when you need to assign a staff member to a project with specific billing parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the project to assign staff to |
| `active` | boolean | No | Activation status of the assignment |
| `budget` | number | No | Total budget allocation for this person on the project |
| `user_id` | integer | Yes | The identifier for the staff member being assigned to the project |
| `billable` | boolean | No | Whether hours tracked by this person are billable to the client |
| `hourly_rate` | number | No | The person's hourly rate on this project |

#### 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 Project Expense

**Slug:** `MOCO_CREATE_PROJECTS_EXPENSES`

Tool to create an additional service entry (expense) on a project. Use when you need to log project expenses like hosting costs, external services, or materials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date of the expense in YYYY-MM-DD format |
| `file` | object | No | File attachment for the expense entry. |
| `unit` | string | Yes | Unit of measurement (e.g., 'month', 'hour', 'piece') |
| `title` | string | Yes | Title/name of the expense |
| `user_id` | integer | No | ID of the responsible user (defaults to current user if not specified) |
| `billable` | boolean | No | Whether the expense is billable to the customer (default: true) |
| `quantity` | number | Yes | Quantity of units |
| `unit_cost` | number | Yes | Cost per unit (internal cost) |
| `project_id` | integer | Yes | ID of the project to add the expense to |
| `unit_price` | number | Yes | Price per unit (billable to customer) |
| `description` | string | No | HTML formatted detailed description of the expense |
| `budget_relevant` | boolean | No | Whether the expense counts toward the project budget (default: false) |
| `custom_properties` | object | No | Custom key-value property pairs |
| `service_period_to` | string | No | Service period end date in YYYY-MM-DD format |
| `service_period_from` | string | No | Service period start date in YYYY-MM-DD format |

#### 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 Project Expenses Bulk

**Slug:** `MOCO_CREATE_PROJECTS_EXPENSES_BULK`

Tool to create multiple project expense entries in bulk. Use when you need to add several additional services or expense items to a project at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bulk_data` | array | Yes | Array of expense items to create |
| `project_id` | integer | Yes | ID of the project to add expenses 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 |

### Create Project Payment Schedule

**Slug:** `MOCO_CREATE_PROJECTS_PAYMENT_SCHEDULES`

Tool to create a payment schedule entry for a project. Use when you need to add a scheduled payment milestone to an existing project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Payment schedule date in YYYY-MM-DD format |
| `title` | string | No | Name/label for the payment schedule entry |
| `checked` | boolean | No | Boolean flag to mark the payment schedule as completed/checked |
| `net_total` | number | Yes | The net total amount for this payment schedule entry |
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST or MOCO_PROJECT_GET to discover available project 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 |

### Create Recurring Expense on Project

**Slug:** `MOCO_CREATE_PROJECTS_RECURRING_EXPENSES`

Tool to create a recurring additional services entry on a project in MOCO. Use when you need to set up periodic billing for services like hosting, maintenance, or support contracts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Project ID to attach the recurring expense to |
| `unit` | string | Yes | Unit of measurement for the service |
| `title` | string | Yes | Service name or description |
| `period` | string ("weekly" | "biweekly" | "monthly" | "quarterly" | "biannual" | "annual") | Yes | Recurrence period: weekly, biweekly, monthly, quarterly, biannual, or annual |
| `billable` | boolean | No | Whether the expense is billable to the customer (default true) |
| `quantity` | number | Yes | Quantity of the service |
| `unit_cost` | number | Yes | Cost per unit for internal tracking |
| `start_date` | string | Yes | Start date for the recurring expense in YYYY-MM-DD format |
| `unit_price` | number | Yes | Price per unit for billing |
| `description` | string | No | HTML-formatted details for the recurring expense |
| `finish_date` | string | No | End date for the recurring expense in YYYY-MM-DD format. Omit for unlimited recurrence |
| `budget_relevant` | boolean | No | Whether the expense should be included in budget calculations (default false) |
| `custom_properties` | object | No | JSON object for custom fields as key/value pairs |
| `service_period_direction` | string ("none" | "forward" | "backward") | No | Service period direction for the recurring expense. |

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

### Trigger Recurring Expense

**Slug:** `MOCO_CREATE_PROJECTS_RECURRING_EXPENSES_RECUR`

Tool to manually trigger the creation of an expense entry for an active recurring expense ahead of its automatic schedule. Use when you need to create the next expense entry immediately rather than waiting for the scheduled recurrence date.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The ID of the project containing the recurring expense. |
| `recurring_expense_id` | integer | Yes | The ID of the recurring expense to trigger ahead of schedule. |

#### 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 Project Task

**Slug:** `MOCO_CREATE_PROJECT_TASK`

Tool to create a new task (service) for a project in MOCO. Use when you need to add a billable or non-billable task to an existing project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Task designation/name (e.g., 'Design / UX', 'Backend Development') |
| `active` | boolean | No | Whether the task is active. If not specified, defaults to true |
| `budget` | number | No | Budget allocation for the task in the project currency |
| `billable` | boolean | No | Whether the task is billable. If not specified, defaults to project settings |
| `project_id` | integer | Yes | The ID of the project to create the task for |
| `description` | string | No | Detailed description of the task |
| `hourly_rate` | number | No | Hourly rate for the task in the project currency |

#### 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 Purchase Bookkeeping Export

**Slug:** `MOCO_CREATE_PURCHASE_BOOKKEEPING_EXPORT`

Tool to create a new purchase bookkeeping export. Use when you need to export purchases for bookkeeping or DATEV submission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment` | string | No | Additional contextual information for the export |
| `purchase_ids` | array | Yes | Array of purchase identifiers to include in the export |
| `trigger_submission` | boolean | No | Submits export to DATEV when enabled (default: true) |
| `archive_after_export` | boolean | No | Archives purchases following export (default: false) |

#### 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 Purchase Payment

**Slug:** `MOCO_CREATE_PURCHASE_PAYMENT`

Tool to create a new purchase payment. Use when you need to record a payment made for a purchase or create a standalone payment entry with a description.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date of the payment in ISO format (YYYY-MM-DD) |
| `total` | number | Yes | Payment amount as a numeric value |
| `description` | string | No | Text description if no purchase_id is set. Either purchase_id OR description must be provided |
| `purchase_id` | integer | No | ID of the associated purchase. Either purchase_id OR description must be provided |

#### 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 Purchase Payments Bulk

**Slug:** `MOCO_CREATE_PURCHASE_PAYMENTS_BULK`

Tool to create multiple purchase payments in bulk. Use when you need to record multiple payments at once for efficiency.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bulk_data` | array | Yes | Array of payment objects to create. Each payment must have a date and total, plus either purchase_id or description. |

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

**Slug:** `MOCO_CREATE_RECEIPT`

Tool to create a new receipt. Use when you need to record an expense receipt after gathering date, title, currency, and items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Receipt date in YYYY-MM-DD format |
| `info` | string | No | Additional text notes |
| `items` | array | Yes | Array of receipt items with at least one position |
| `title` | string | Yes | Text describing the receipt |
| `billable` | boolean | No | Boolean flag indicating if billable |
| `currency` | string | Yes | Three-letter currency code (e.g., CHF, EUR, USD) |
| `attachment` | object | No | File attachment for the receipt. |
| `project_id` | integer | No | Project identifier for allocation |

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

**Slug:** `MOCO_CREATE_SCHEDULE`

Tool to create a planning entry (absence/schedule). Use when you need to record absences such as holidays, sick days, or other time off. If user_id is not supplied, the entry is created for the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `am` | boolean | No | Whether the absence applies to the morning period. |
| `pm` | boolean | No | Whether the absence applies to the afternoon period. |
| `date` | string | Yes | Date of the absence in YYYY-MM-DD format. |
| `symbol` | string ("home" | "building" | "car" | "graduation_cap" | "cocktail" | "bells" | "baby_carriage" | "users" | "moon" | "info_circle" | "dot_circle" | "exclamation_mark") | No | Symbol icons for schedule entries. |
| `comment` | string | No | Additional notes or comments about the absence. |
| `user_id` | integer | No | ID of the user for active staff. If not supplied, defaults to the user executing the request (from authorization token). |
| `overwrite` | boolean | No | Whether to override any existing schedule entry for the same date and user. |
| `absence_code` | string ("unplannable" | "public_holiday" | "sick_day" | "holiday" | "absence") | Yes | Type of absence: unplannable, public_holiday, sick_day, holiday, or absence. |

#### 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:** `MOCO_CREATE_TAG`

Tool to create a new tag in MOCO. Use when you need to create a reusable label for categorizing entities like projects, deals, companies, etc.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The tag label/name |
| `color` | string | No | Hex color code for the tag (e.g., #FFFF00, #0066CC). Defaults to grey if omitted |
| `context` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | Yes | The context where the tag can be used. Must be one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or 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 |

### Create Task Template

**Slug:** `MOCO_CREATE_TASK_TEMPLATE`

Tool to create a new task template in MOCO. Use when you need to define a reusable task template for projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the task template |
| `index` | integer | No | Numeric value for ordering templates |
| `billable` | boolean | No | Indicates if the template is billable |
| `description` | string | No | Additional details about the template |
| `project_default` | boolean | No | Add template to new projects automatically |
| `revenue_category_id` | integer | No | Links to a revenue category for accounting purposes |

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

**Slug:** `MOCO_CREATE_UNIT`

Tool to create a new unit/team in MOCO. Use when you need to provision a new organizational unit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the unit/team |

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

**Slug:** `MOCO_CREATE_USERS`

Tool to create a new staff member/user in MOCO. Use when you need to add a new employee or team member to the system. Requires firstname, lastname, email, and unit_id (team assignment). Optionally set password, role permissions, language preference, contact details, and whether to send a welcome email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bday` | string | No | Birth date in YYYY-MM-DD format |
| `iban` | string | No | International Bank Account Number for salary payments |
| `info` | string | No | Additional information or notes about the user |
| `tags` | array | No | Array of tag labels to categorize the user |
| `email` | string | Yes | Email address for the user account |
| `active` | boolean | No | Whether the user account is active. Set false to create an inactive/archived user |
| `avatar` | object | No | Avatar image upload data. |
| `role_id` | integer | No | Permission role identifier to define user access level |
| `unit_id` | integer | Yes | Team/unit identifier to assign the user to |
| `external` | boolean | No | Whether the user is an external employee or contractor (not internal staff) |
| `language` | string ("de" | "de-AT" | "de-CH" | "en" | "it" | "fr") | No | Supported language options for user accounts. |
| `lastname` | string | Yes | Last name of the user |
| `password` | string | No | Account password for the new user. Recommended to set for new accounts |
| `firstname` | string | Yes | First name of the user |
| `work_phone` | string | No | Office/work phone number |
| `home_address` | string | No | Physical/home address (lines separated by newline character) |
| `mobile_phone` | string | No | Mobile phone number |
| `welcome_email` | boolean | No | Whether to send a welcome email to the new user with account details |
| `custom_properties` | object | No | Custom field values as key-value pairs |

#### 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 Users Presences

**Slug:** `MOCO_CREATE_USERS_PRESENCES`

Tool to create a presence entry (work time tracking) in MOCO. Use when you need to record work hours or home office days. The presence is created for the user that the API key belongs to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End time in HH:MM 24-hour format (e.g., '14:00'). Can be left blank |
| `date` | string | Yes | Date of the presence in YYYY-MM-DD format |
| `from` | string | Yes | Start time in HH:MM 24-hour format (e.g., '10:00') |
| `is_home_office` | boolean | No | Marks as home office (remote work). Defaults to false if not specified |

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

### Toggle User Presence

**Slug:** `MOCO_CREATE_USERS_PRESENCES_TOUCH`

Tool to toggle user presence (clock in/out) in MOCO. First call creates a new presence starting from current time, second call closes the previous open presence. Use when implementing a clock system or time tracking system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `override` | string | No | Timestamp in format YYYY-MM-DD HH:MM to override system time |
| `is_home_office` | boolean | No | Marks entry as remote work (default: false) |

#### 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 Work Time Adjustment

**Slug:** `MOCO_CREATE_WORK_TIME_ADJUSTMENT`

Tool to create a new work time adjustment in MOCO. Use when you need to add or subtract hours from a user's work time balance (e.g., overtime compensation, vacation corrections).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | The date for the adjustment in YYYY-MM-DD format |
| `hours` | number | Yes | The quantity of hours to add (positive value) or subtract (negative value) |
| `user_id` | integer | Yes | ID of the user for whom the adjustment is being created |
| `description` | string | Yes | A short explanation of the adjustment reason (e.g., 'Overtime 2026', 'Vacation correction') |

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

### Deactivate Offer Customer Approval

**Slug:** `MOCO_DEACTIVATE_OFFER_CUSTOMER_APPROVAL`

Tool to deactivate a customer approval on an offer to prevent access and signing. Use when you need to revoke customer approval access for an offer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer whose customer approval should be deactivated. |

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

### List Deal Categories

**Slug:** `MOCO_DEAL_CATEGORIES_LIST`

Retrieves all deal categories configured in MOCO with their IDs, names, probabilities, and timestamps. Deal categories represent stages in a sales pipeline (e.g., "Contact", "Create quote", "Negotiation") and include probability percentages (0-100) indicating the likelihood of winning at each stage. Use this action to: - Get available category IDs for creating or updating deals - Understand the sales pipeline stages configured in the system - View probability percentages associated with each stage No parameters required - returns all categories in the system.

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

**Slug:** `MOCO_DEAL_DELETE`

Tool to delete a deal. Use when you have identified an obsolete or unwanted deal and confirmed its deletion. Example: "Delete the deal with id 123."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal 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 |

### Get Deal

**Slug:** `MOCO_DEAL_GET`

Retrieves detailed information for a specific deal/lead by its ID from MOCO. Returns complete deal data including status, monetary value, associated company/person, category, and timestamps. Use this when you need to get full details about a specific deal that you already have the ID for.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal 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 |

### List Deals

**Slug:** `MOCO_DEALS_LIST`

Tool to retrieve a list of all deals (leads). Use when you need an overview of deals filtered by status, tags, date range, or associated company.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Comma-separated list of tags to filter by, e.g., 'Important,Strategic'. |
| `status` | string ("potential" | "pending" | "won" | "lost" | "dropped") | No | Filter deals by status: one of 'potential', 'pending', 'won', 'lost', or 'dropped'. |
| `closed_to` | string | No | Include deals closed on or before this date (YYYY-MM-DD). |
| `company_id` | integer | No | Filter deals by associated company ID. |
| `closed_from` | string | No | Include deals closed on or after this date (YYYY-MM-DD). |

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

**Slug:** `MOCO_DEAL_UPDATE`

Tool to update an existing deal. Use when you need to modify one or more fields of a deal after retrieving its details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal to update |
| `info` | string | No | Additional information for the deal |
| `name` | string | No | Name of the deal |
| `tags` | array | No | List of tags |
| `money` | number | No | Monetary value of the deal; must be non-negative |
| `status` | string ("potential" | "pending" | "won" | "lost" | "dropped") | No | Status of the deal |
| `user_id` | integer | No | ID of the responsible user |
| `currency` | string | No | Three-letter currency code |
| `closed_on` | string | No | Date when the deal was closed (YYYY-MM-DD) |
| `person_id` | integer | No | ID of the associated person |
| `company_id` | integer | No | ID of the associated company |
| `reminder_date` | string | No | Reminder date (YYYY-MM-DD) |
| `deal_category_id` | integer | No | ID of the deal category |
| `service_period_to` | string | No | Service period end date (YYYY-MM-DD) |
| `service_period_from` | string | No | Service period start date (YYYY-MM-DD) |

#### 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 Catalog Service

**Slug:** `MOCO_DELETE_ACCOUNT_CATALOG_SERVICES`

Tool to delete a catalog service. Use when you need to remove a catalog service from MOCO after confirming it is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the catalog service 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 Account Custom Property

**Slug:** `MOCO_DELETE_ACCOUNT_CUSTOM_PROPERTIES`

Tool to delete a custom property in MOCO. Use when you need to permanently remove a custom field definition from an entity type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the custom property 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 Expense Template

**Slug:** `MOCO_DELETE_ACCOUNT_EXPENSE_TEMPLATES`

Tool to delete an expense template. Use when you need to remove an expense template from MOCO after confirming it is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the expense template 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 Catalog Service Item

**Slug:** `MOCO_DELETE_CATALOG_SERVICE_ITEM`

Tool to delete an item from a catalog service. Use when you need to remove a specific item from a catalog service by providing both the service ID and item ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the item to delete |
| `service_id` | integer | Yes | The ID of the catalog service containing the item |

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

**Slug:** `MOCO_DELETE_COMMENT`

Tool to delete a manually created comment. Use when you need to remove a comment that was created by a user (not system-generated).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the comment to delete. Only manually created comments can be deleted. |

#### 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 Contact Person

**Slug:** `MOCO_DELETE_CONTACTS_PEOPLE`

Tool to delete a contact person in MOCO. Use when you need to remove a contact person from the system after confirming they are no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the contact person 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 Deal Category

**Slug:** `MOCO_DELETE_DEAL_CATEGORY`

Tool to delete a deal category. Use when you need to remove an unused or obsolete deal category from MOCO. Note: deletion will fail with 403 Forbidden if the category is still in use by any deals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal category 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 Invoice

**Slug:** `MOCO_DELETE_INVOICE`

Tool to delete a single invoice. Use when you need to remove an invoice from MOCO. Note: 'reason' is mandatory for non-draft invoices but optional for draft invoices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice to delete |
| `reason` | string | No | Reason for deleting the invoice. Mandatory for non-draft invoices (status other than 'draft'), optional for draft invoices. Provide a clear explanation when deleting finalized invoices. |

#### 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 Invoice Payment

**Slug:** `MOCO_DELETE_INVOICES_PAYMENTS`

Tool to delete an invoice payment. Use when you need to remove an invoice payment record from MOCO.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The invoice payment identifier 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 Offers Attachments

**Slug:** `MOCO_DELETE_OFFERS_ATTACHMENTS`

Tool to remove an attachment from an offer. Use when you need to delete a specific attachment by its ID from a given offer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the attachment to delete |
| `offer_id` | integer | Yes | The unique identifier of the offer containing the attachment |

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

**Slug:** `MOCO_DELETE_PRESENCE`

Tool to delete a presence entry. Use when you need to remove a specific presence record from the system. Example: "Delete the presence entry with id 22018495."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the presence record 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 Project

**Slug:** `MOCO_DELETE_PROJECT`

Tool to delete a project. Use when you need to permanently remove a project from MOCO. Deletion is only possible if the project has no associated activities, invoices, offers, or expenses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project to delete. Deletion is only possible if there are no activities, invoices, offers, or expenses associated with the project. |

#### 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 Project Staff Assignment

**Slug:** `MOCO_DELETE_PROJECTS_CONTRACTS`

Tool to delete a staff assignment (contract) from a project. Use when removing a staff member from a project. Note: deletion is only possible if no hours have been tracked by this person.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique identifier of the project |
| `contract_id` | integer | Yes | The unique identifier of the staff assignment/contract 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 Project Expense

**Slug:** `MOCO_DELETE_PROJECTS_EXPENSES`

Tool to delete an additional services entry on a project. Use when you need to remove an expense that has not yet been billed. Deletion is only possible for unbilled expenses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expense_id` | integer | Yes | The ID of the expense entry to delete |
| `project_id` | integer | Yes | The ID of the project containing the expense |

#### 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 Project Payment Schedule

**Slug:** `MOCO_DELETE_PROJECTS_PAYMENT_SCHEDULES`

Tool to delete a payment schedule from a project. Use when you need to remove a scheduled payment milestone from an existing project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique identifier of the project containing the payment schedule |
| `payment_schedule_id` | integer | Yes | The unique identifier of the payment schedule 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 Project Recurring Expense

**Slug:** `MOCO_DELETE_PROJECTS_RECURRING_EXPENSES`

Tool to delete a recurring expense from a project. Use when you need to remove a periodic billing entry for services like hosting or maintenance contracts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The ID of the project |
| `recurring_expense_id` | integer | Yes | The ID of the recurring expense 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 Project Task

**Slug:** `MOCO_DELETE_PROJECTS_TASKS`

Tool to delete a specific task from a project. Deletion is only possible if no hours were tracked on the task. Use when you need to remove a single task that has no time entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | The unique identifier of the task to delete. Deletion is only possible if no hours were tracked on this task. |
| `project_id` | integer | Yes | The unique identifier of the project |

#### 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 All Project Tasks

**Slug:** `MOCO_DELETE_PROJECTS_TASKS_DESTROY_ALL`

Tool to bulk delete all deletable tasks on a project. Tasks with tracked hours cannot be deleted and will be automatically skipped without causing errors. Use when you need to clear all removable tasks from a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project whose tasks should be deleted. Tasks with tracked hours will be automatically skipped. |

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

**Slug:** `MOCO_DELETE_PURCHASE`

Tool to delete a purchase. Use when you need to remove a purchase record that is in 'pending' status and has no registered payments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase to delete. Can only delete purchases with 'pending' status that have no registered payments. |

#### 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 Purchase Payment

**Slug:** `MOCO_DELETE_PURCHASE_PAYMENT`

Tool to delete a purchase payment. Use when you need to remove a payment record from a purchase.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase payment 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 Schedule

**Slug:** `MOCO_DELETE_SCHEDULE`

Tool to delete a schedule entry (absence). Use when you need to remove a scheduled absence such as holidays, sick days, or other time off entries that are no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the schedule entry 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 Tag

**Slug:** `MOCO_DELETE_TAG`

Tool to delete a tag in MOCO. Use when you need to remove a tag and optionally merge it with another tag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the tag to delete |
| `merge_tag_id` | integer | No | Optional parameter to replace all entities tagged with the deleted tag to use an alternative tag instead |

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

**Slug:** `MOCO_DELETE_TAGGINGS`

Tool to selectively remove tags from an entity. Use when you need to remove specific tags from a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | Array of tag names to remove from the entity |
| `entity` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | Yes | Entity type - one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User |
| `entity_id` | integer | Yes | The ID of the specific entity instance |

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

**Slug:** `MOCO_DELETE_USER`

Tool to delete a user from MOCO. Use when you need to permanently remove a user account that has no billed hours. Users with billed hours cannot be deleted and must be archived instead by updating them with active=false.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the user to delete. Note: Deleting a user is only possible if the user has no billed hours. Users with billed hours must be archived instead |

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

**Slug:** `MOCO_DELETE_USERS_EMPLOYMENTS`

Tool to delete an employment (weekly work model) for a user. Use when you need to remove an employment record after confirming it is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the employment 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 |

### Disable Project Share

**Slug:** `MOCO_DISABLE_PROJECT_SHARE`

Tool to deactivate project report sharing. Use when you need to disable public access to a project's report by removing the sharing URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project to disable sharing for. |

#### 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 Project Expenses as Billed

**Slug:** `MOCO_DISREGARD_PROJECT_EXPENSES`

Tool to mark project expense entries as already billed. Use when you need to disregard specific expenses from billing because they were courtesy services or handled outside the normal billing process.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique project ID whose expenses should be marked as already billed |
| `reason` | string | Yes | Explanation for marking these expenses as already billed |
| `expense_ids` | array | Yes | Array of expense IDs to mark as already billed |

#### 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 Catalog Service Item

**Slug:** `MOCO_GET_ACCOUNT_CATALOG_SERVICES_ITEMS`

Tool to retrieve a specific item within a catalog service in MOCO. Use when you need to get details about a specific catalog service item by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the specific item to retrieve |
| `service_id` | integer | Yes | The ID of the parent catalog service |

#### 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 Account Fixed Costs

**Slug:** `MOCO_GET_ACCOUNT_FIXED_COSTS`

Tool to retrieve all fixed costs from the account. Use when you need to view recurring monthly costs like rent, subscriptions, or other fixed expenses. Fixed costs show historical and planned monthly cost data organized by year and month.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `year` | integer | No | Filters cost data to a specific year (e.g., 2020). If omitted, returns all fixed costs across all years. |

#### 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 Cashflow Report

**Slug:** `MOCO_GET_CASHFLOW`

Tool to retrieve the cashflow report from MOCO. Use when you need to view cash inflows and outflows over a specific period. This report provides a chronological view of all financial transactions including invoices created, payments received, expenses, and other cashflow events. Each entry shows the amount, date, associated company, user, and transaction type. Useful for financial analysis, cash position tracking, and understanding the timing of revenue and expenses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `term` | string | No | Text-based search filter to find transactions by keyword. Searches across transaction descriptions and related fields. Case-insensitive partial match. |
| `to_date` | string | No | End date for the cashflow report (inclusive). Format: YYYY-MM-DD. Use with from_date to specify a date range for transactions. |
| `from_date` | string | No | Start date for the cashflow report (inclusive). Format: YYYY-MM-DD. Use with to_date to specify a date range for transactions. |

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

**Slug:** `MOCO_GET_COMMENT`

Tool to retrieve a single comment by ID. Use when you need to fetch details for a specific comment after confirming the comment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the comment 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 Company

**Slug:** `MOCO_GET_COMPANY`

Tool to retrieve a single company by ID from MOCO. Use when you need to get complete details about a specific company including contact information, billing settings, and associated projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the company 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 Contact

**Slug:** `MOCO_GET_CONTACT`

Tool to retrieve detailed information for a specific contact person by ID from MOCO. Use when you need to get full details about a specific contact that you already have the ID for.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the contact 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 Custom Property

**Slug:** `MOCO_GET_CUSTOM_PROPERTY`

Tool to retrieve a single custom property by ID from MOCO. Use when you need to fetch details about a specific custom property after obtaining its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the custom property 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 Deal Category

**Slug:** `MOCO_GET_DEAL_CATEGORY`

Tool to retrieve a single deal category by ID. Use when you need detailed information about a specific deal category in the MOCO sales pipeline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal category 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 Employment

**Slug:** `MOCO_GET_EMPLOYMENT`

Tool to retrieve a single employment (weekly work model) by ID. Use when you need to fetch details for a specific employment after confirming the employment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the employment 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 Holiday

**Slug:** `MOCO_GET_HOLIDAY`

Tool to retrieve a single holiday entry by ID. Use when you need to fetch details for a specific holiday allocation after confirming the holiday ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the holiday entry 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 Internal Hourly Rates

**Slug:** `MOCO_GET_INTERNAL_HOURLY_RATES`

Tool to retrieve all internal hourly rates from the account. Use when you need to view staff costs, budget planning, or analyze team rates over time. Returns user IDs, names, and their hourly rates organized by year.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `years` | string | No | Filter by one or multiple years (e.g., '2021' or '2020,2021'). If omitted, returns rates for all available years. |
| `unit_id` | integer | No | Filter by a specific unit identifier to get rates for users in that unit only. |
| `include_archived` | boolean | No | Include deactivated users in results when true. If false or omitted, only active users are returned. |

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

**Slug:** `MOCO_GET_INVOICE`

Tool to retrieve a single invoice by ID with full details including items, payments, and reminders. Use when you have an invoice ID and need complete invoice information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice 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 Invoice Bookkeeping Export

**Slug:** `MOCO_GET_INVOICE_BOOKKEEPING_EXPORT`

Tool to retrieve a single invoice bookkeeping export by ID. Use when you need to get details about a specific bookkeeping export that you already have the ID for.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the bookkeeping export 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 Invoice Payment

**Slug:** `MOCO_GET_INVOICE_PAYMENT`

Tool to retrieve a single invoice payment by ID. Use when you need to fetch details for a specific payment record after confirming the payment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice payment 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 Invoice Reminder

**Slug:** `MOCO_GET_INVOICE_REMINDER`

Tool to retrieve a single invoice reminder by ID. Use when you need to fetch details for a specific invoice reminder after confirming the reminder ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice reminder 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 Invoice Reminders

**Slug:** `MOCO_GET_INVOICE_REMINDERS`

Tool to retrieve all invoice reminders. Use when you need to view reminders, optionally filtered by invoice ID or date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date_to` | string | No | Include reminders dated on or before this date (YYYY-MM-DD). |
| `date_from` | string | No | Include reminders dated on or after this date (YYYY-MM-DD). |
| `invoice_id` | integer | No | Filter by specific invoice 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 Invoice Bookkeeping Exports

**Slug:** `MOCO_GET_INVOICES_BOOKKEEPING_EXPORTS`

Tool to retrieve all invoice bookkeeping exports. Use when you need to view existing invoice bookkeeping exports for accounting purposes.

#### 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 Invoice Expenses

**Slug:** `MOCO_GET_INVOICES_EXPENSES`

Tool to retrieve all expenses that were invoiced in a particular invoice. Use when you need to see which expense items are associated with a specific invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice to retrieve expenses for. |

#### 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 Locked Invoices

**Slug:** `MOCO_GET_INVOICES_LOCKED`

Tool to retrieve all locked invoices. Use when you need to access invoices that have been finalized and locked for editing, optionally filtered by status, date range, or identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string | No | Filter by invoice status: draft, created, sent, partially_paid, paid, overdue, or ignored. |
| `date_to` | string | No | End date filter in format YYYY-MM-DD. |
| `date_from` | string | No | Start date filter in format YYYY-MM-DD. |
| `identifier` | string | No | Filter by specific invoice number. |

#### 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 Invoice Payments

**Slug:** `MOCO_GET_INVOICES_PAYMENTS`

Tool to retrieve all invoice payments. Use when you need to view payment records, optionally filtered by invoice or date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date_to` | string | No | Filter payments through end date (format: YYYY-MM-DD) |
| `date_from` | string | No | Filter payments from start date (format: YYYY-MM-DD) |
| `invoice_id` | integer | No | Filter by specific invoice ID to show only payments for that invoice |

#### 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 Invoice Timesheet

**Slug:** `MOCO_GET_INVOICE_TIMESHEET`

Tool to retrieve a time sheet for a particular invoice, i.e. all activities that were invoiced. Use when you need to see the detailed list of activities billed in a specific invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice to retrieve the timesheet for. |

#### 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 Offer Customer Approval

**Slug:** `MOCO_GET_OFFER_CUSTOMER_APPROVAL`

Tool to retrieve customer approval status and URL for an offer. Use when you need to check if customer approval is activated and get approval URLs for an offer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to retrieve customer approval status for. |

#### 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 Offer PDF

**Slug:** `MOCO_GET_OFFER_PDF`

Tool to retrieve a single offer document as PDF. Use when you need to download an offer in PDF format for sharing or archiving.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to retrieve as PDF. |
| `letter_paper_id` | integer | No | Optional letter paper template ID to use for the PDF. Defaults to White template if not provided. |

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

**Slug:** `MOCO_GET_PRESENCE`

Tool to retrieve a single presence entry by ID. Use when you need to fetch details for a specific work time tracking record after confirming the presence ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the presence entry 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 Profile

**Slug:** `MOCO_GET_PROFILE`

Tool to retrieve the current authenticated user's profile. Use when you need to get information about the API key owner or impersonated 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 Project Contract

**Slug:** `MOCO_GET_PROJECT_CONTRACT`

Tool to retrieve a single staff assignment (contract) on a project. Use when you need details about a specific person's assignment to a project, including their billable status, budget, and hourly rate.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique identifier of the project |
| `contract_id` | integer | Yes | The unique identifier of the staff assignment/contract 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 Single Project Expense

**Slug:** `MOCO_GET_PROJECT_EXPENSE`

Tool to retrieve a single additional service (expense) for a project. Use when you need detailed information about a specific project expense entry.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expense_id` | integer | Yes | ID of the expense entry to retrieve |
| `project_id` | integer | Yes | ID of the project containing the expense |

#### 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 Project Payment Schedules By ID

**Slug:** `MOCO_GET_PROJECT_PAYMENT_SCHEDULES_BY_ID`

Tool to retrieve all payment schedules for a specific project by its ID. Use when you need to view scheduled payment milestones for a particular project, optionally filtered by date range or checked status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter payment schedules up to this date (YYYY-MM-DD format) |
| `from` | string | No | Filter payment schedules from this date onwards (YYYY-MM-DD format) |
| `checked` | boolean | No | Filter by checked status - true for checked payment schedules, false for unchecked |
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST or MOCO_PROJECT_GET to discover available project 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 Project Report

**Slug:** `MOCO_GET_PROJECT_REPORT`

Tool to retrieve a project report with budget, hours, costs, and business indicators. Use when you need financial and time tracking metrics for a specific project after confirming the project ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project to retrieve the report for. |

#### 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 Project Expenses

**Slug:** `MOCO_GET_PROJECTS_EXPENSES`

Tool to retrieve all additional services (expenses) for a project. Use when you need to view project costs, track billable expenses, or analyze project spending.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the project to retrieve expenses for |
| `billed` | boolean | No | Filter by billed status. Set to true for already billed expenses, false for unbilled |
| `user_id` | integer | No | Filter by the ID of the user who created the expense |
| `billable` | boolean | No | Filter by billable status. Set to true for billable expenses, false for non-billable |
| `budget_relevant` | boolean | No | Filter by budget relevance. Set to true for expenses that count toward budget |

#### 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 Projects Payment Schedules

**Slug:** `MOCO_GET_PROJECTS_PAYMENT_SCHEDULES`

Tool to retrieve all payment schedules for fixed price projects. Use when you need an overview of payment schedules, optionally filtered by date range, project, or company.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter by end date (YYYY-MM-DD format). |
| `from` | string | No | Filter by start date (YYYY-MM-DD format). |
| `checked` | boolean | No | Display either checked or unchecked payment schedules. |
| `company_id` | integer | No | Filter by specific company ID. |
| `project_id` | integer | No | Filter by specific project 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 Project Payment Schedule

**Slug:** `MOCO_GET_PROJECTS_PAYMENT_SCHEDULES3`

Tool to retrieve a single payment schedule entry for a project by its ID. Use when you need detailed information about a specific payment schedule milestone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the specific payment schedule to retrieve |
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST or MOCO_PROJECT_GET to discover available project 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 Project Recurring Expenses

**Slug:** `MOCO_GET_PROJECTS_RECURRING_EXPENSES`

Tool to retrieve all recurring expenses for a specific project. Use when you need to view periodic billing items like hosting, maintenance contracts, or support services associated with a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Project ID to retrieve recurring expenses for |

#### 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 Project Task

**Slug:** `MOCO_GET_PROJECTS_TASKS`

Tool to retrieve a single task on a project by project ID and task ID. Use when you need detailed information about a specific task within a project, including billing rates, budget allocation, and revenue categorization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | The unique numeric identifier of the specific task to retrieve within the project. |
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST to discover available project 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 Purchase

**Slug:** `MOCO_GET_PURCHASE`

Tool to retrieve a single purchase by ID. Use when you need to get detailed information about a specific purchase including items, payments, and supplier details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase 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 Purchase Bookkeeping Export

**Slug:** `MOCO_GET_PURCHASE_BOOKKEEPING_EXPORT`

Tool to retrieve a single purchase bookkeeping export by ID. Use when you need to fetch details for a specific bookkeeping export after confirming the export ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase bookkeeping export 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 Purchase Payment

**Slug:** `MOCO_GET_PURCHASE_PAYMENT`

Tool to retrieve a single purchase payment by ID. Use when you need to fetch details for a specific purchase payment after confirming the payment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase payment 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 Purchase Bookkeeping Exports

**Slug:** `MOCO_GET_PURCHASES_BOOKKEEPING_EXPORTS`

Tool to retrieve all purchase bookkeeping exports. Use when you need to view existing purchase bookkeeping exports for accounting purposes.

#### 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 Purchase Budgets

**Slug:** `MOCO_GET_PURCHASES_BUDGETS`

Tool to retrieve purchase budgets for a given fiscal year. Use when you need to check budget allocations, spending status, or remaining funds for purchases.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `year` | integer | Yes | Fiscal year for which to retrieve budgets (e.g., 2023, 2024). |

#### 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 Purchase Payments

**Slug:** `MOCO_GET_PURCHASES_PAYMENTS`

Tool to retrieve all purchase payments. Use when you need an overview of payments made for purchases, optionally filtered by purchase ID or date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date_to` | string | No | End date filter to include payments on or before this date (YYYY-MM-DD). |
| `date_from` | string | No | Start date filter to include payments on or after this date (YYYY-MM-DD). |
| `purchase_id` | string | No | Purchase IDs, can be a single one or comma-separated list (e.g., '123,456'). |

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

**Slug:** `MOCO_GET_RECEIPT`

Tool to retrieve a single receipt by ID from MOCO. Use when you need to fetch complete details for a specific receipt including items, VAT information, project association, and refund status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the receipt 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 Receipts

**Slug:** `MOCO_GET_RECEIPTS`

Retrieves a list of receipts (expense receipts) from MOCO. Receipts are records of expenses that can be allocated to projects and submitted for refund requests. Use this tool to: - Get all receipts within a date range - Find receipts by user, project, or purchase category - Filter by refund request submission status - Search for receipts by refund request ID Returns a list with detailed information about each receipt including the associated project, items with VAT details, refund request status, and user information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to_date` | string | No | Filter receipts up to this date (inclusive). Format: YYYY-MM-DD. Use with from_date to specify a date range for receipts. |
| `user_id` | integer | No | Filter to show only receipts created by a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_LIST). |
| `from_date` | string | No | Filter receipts from this date onwards (inclusive). Format: YYYY-MM-DD. Use with to_date to specify a date range for receipts. |
| `submitted` | boolean | No | Filter by refund request submission status. True returns only receipts with submitted refund requests, False returns only receipts with unsubmitted refund requests. Omit to get both. |
| `project_id` | integer | No | Filter to show only receipts associated with a specific project. Use the project's numeric ID from MOCO (get from MOCO_PROJECTS_LIST). |
| `refund_request_id` | string | No | Filter by refund request IDs. Provide comma-separated list of IDs to filter by multiple refund requests. |
| `purchase_category_id` | integer | No | Filter to show only receipts with a specific purchase category. Use the purchase category's numeric ID from MOCO. |

#### 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 All Recurring Expenses

**Slug:** `MOCO_GET_RECURRING_EXPENSES`

Tool to retrieve all recurring additional services entries across all projects in MOCO. Use when you need to view all periodic billing items like hosting, maintenance contracts, or support services globally across the account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). Default is 1. Use to navigate through large result sets. |
| `sort_by` | string | No | Field name to sort results by with optional direction. Format: 'field_name' or 'field_name asc/desc'. Example: 'title desc', 'start_date asc'. |
| `updated_after` | string | No | Filter to show only recurring expenses created or updated after this timestamp. Format: ISO 8601 (e.g., '2022-04-20T09:17:58Z'). Useful for synchronization. |

#### 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 Report Absences

**Slug:** `MOCO_GET_REPORT_ABSENCES`

Tool to retrieve absence report showing employee absences by type and date range. Returns vacation days (total, used, planned) and sick days per user for the specified period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | End date for the report period in YYYY-MM-DD format. |
| `from` | string | Yes | Start date for the report period in YYYY-MM-DD format. |
| `user_id` | integer | No | Filter by specific user ID. If not provided, returns data for all users. |

#### 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 Finance Report

**Slug:** `MOCO_GET_REPORT_FINANCE`

Tool to retrieve the finance report from MOCO. Use when you need financial data including income and expenses with associated companies and users. Returns an array of financial records that can be filtered by date range (from/to) or text search term. Each record includes transaction details, amounts in account currency, and associated company/user information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `term` | string | No | Text search term to filter financial records. Searches across descriptions and other text fields. Case-insensitive partial match. |
| `to_date` | string | No | End date for the report in YYYY-MM-DD format. Filter financial records up to this date (inclusive). Use with from_date to specify a date range. |
| `from_date` | string | No | Start date for the report in YYYY-MM-DD format. Filter financial records from this date onwards (inclusive). Use with to_date to specify a date range. |

#### 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 Utilization Report

**Slug:** `MOCO_GET_REPORT_UTILIZATION`

Tool to retrieve the utilization report from MOCO. The utilization report shows how employees spend their time, breaking down billable versus unbillable hours for each user across a date range. Use this tool to: - Analyze team utilization and productivity over a period - Calculate billable vs. unbillable time ratios for employees - Identify under-utilized or over-worked team members - Generate reports for resource planning and capacity management - Track how much time is being charged to clients versus internal work Both from_date and to_date parameters are required to define the reporting period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | End date for the utilization report (inclusive). Format: YYYY-MM-DD. Must be provided to define the reporting period. |
| `from` | string | Yes | Start date for the utilization report (inclusive). Format: YYYY-MM-DD. Must be provided to define the reporting period. |

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

**Slug:** `MOCO_GET_SCHEDULE`

Tool to retrieve a single planning entry (schedule) by ID. Use when you need to fetch details for a specific schedule entry.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the schedule entry 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 Tag

**Slug:** `MOCO_GET_TAG`

Tool to retrieve a single tag by ID. Use when you need to fetch details for a specific tag after confirming the tag ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the tag 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 Taggings

**Slug:** `MOCO_GET_TAGGINGS`

Tool to retrieve the list of tags associated with an entity. Use when you need to fetch tags for a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | Yes | Entity type - one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User |
| `entity_id` | integer | Yes | The numeric ID of the entity to retrieve tags for |

#### 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:** `MOCO_GET_TAGS`

Tool to retrieve the list of tags from MOCO. Tags are reusable labels for categorizing entities like projects, deals, companies, contacts, invoices, offers, purchases, and users. Use this tool to: - Get all available tags across all entity types - Filter tags by specific entity context (e.g., only Project tags) - Find tags for tagging/categorizing records

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `context` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | No | Filter tags by entity type. Returns only tags that can be used with the specified entity type. Must be one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User. Omit to get all tags regardless of context. |

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

**Slug:** `MOCO_GET_TASK_TEMPLATE`

Tool to retrieve a single task template by ID. Use when you need to fetch details for a specific task template after confirming the template ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the task template 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 Unit

**Slug:** `MOCO_GET_UNIT`

Tool to retrieve a single unit/team by ID from MOCO. Use when you need to fetch details for a specific team/organizational unit including its name and assigned staff members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the unit/team 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 User

**Slug:** `MOCO_GET_USER`

Tool to retrieve detailed information for a specific user/staff member by ID. Returns complete user profile including contact info, status, role, unit, tags, and custom properties. Use when you need details about a specific team member after obtaining their ID (e.g., from MOCO_USERS_LIST).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the user to retrieve. Use MOCO_USERS_LIST to discover available user 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 User Performance Report

**Slug:** `MOCO_GET_USERS_PERFORMANCE_REPORT`

Tool to retrieve a user's performance report comparing tracked hours vs target hours. Returns annual summary and monthly breakdown showing variations between actual tracked hours and expected target hours. Use when you need to analyze work performance, track hour completion, or identify under/over-worked periods.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the user whose performance report to retrieve. |
| `year` | integer | No | The year for which to retrieve the performance report (e.g., 2021). If not provided, defaults to the current year. |

#### 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 VAT Code Purchase

**Slug:** `MOCO_GET_VAT_CODE_PURCHASE`

Tool to retrieve a single VAT code for purchases by ID from MOCO. Use when you need to fetch details about a specific VAT code purchase configuration, including tax rate, reverse charge settings, and intra-EU status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the VAT code purchase 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 VAT Code Purchases

**Slug:** `MOCO_GET_VAT_CODE_PURCHASES`

Tool to retrieve the list of purchase VAT codes. Use when you need to fetch available VAT codes for purchases, check tax rates, or filter by reverse charge or intra-EU status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | No | Comma-separated list of VAT code IDs to retrieve (e.g., '123,456'). |
| `active` | boolean | No | Filter by active status. |
| `intra_eu` | boolean | No | Filter by intra-EU service status (Innergemeinschaftliche Leistung). |
| `reverse_charge` | boolean | No | Filter by reverse charge status (Umkehr Steuerschuldnerschaft). |

#### 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 VAT Code Sale

**Slug:** `MOCO_GET_VAT_CODE_SALE`

Tool to retrieve a single VAT code for sales by ID from MOCO. Use when you need to fetch details about a specific VAT code sales configuration, including tax rate, reverse charge settings, intra-EU status, and tax exemption notices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The numeric identifier of the specific sale VAT code 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 VAT Code Sales

**Slug:** `MOCO_GET_VAT_CODE_SALES`

Tool to retrieve the list of sale VAT codes from MOCO. Use when you need VAT/tax code information for sales transactions, including tax rates, active status, and exemption notices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Filter by active status. Set to true for active codes, false for inactive codes. |
| `intra_eu` | boolean | No | Filter by intra-EU transactions. Set to true for EU transaction codes, false for non-EU codes. |
| `reverse_charge` | boolean | No | Filter by reverse charge taxation. Set to true for reverse charge codes, false for standard codes. |

#### 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 Work Time Adjustment

**Slug:** `MOCO_GET_WORK_TIME_ADJUSTMENT`

Tool to retrieve a single work time adjustment by ID. Use when you need to fetch details for a specific work time adjustment after confirming the adjustment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the work time adjustment 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 |

### Create Invoice

**Slug:** `MOCO_INVOICE_CREATE`

Tool to create a new invoice. Use after gathering complete invoice data (customer, dates, items, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax` | number | Yes | Tax percentage, e.g. 8.0 |
| `date` | string | Yes | Invoice date in YYYY-MM-DD format |
| `tags` | array | No | Tags to attach to invoice |
| `items` | array | Yes | List of invoice positions |
| `title` | string | Yes | Invoice title |
| `footer` | string | No | Footer text (supports variables) |
| `status` | string ("created" | "draft") | No | Invoice status: 'created' (default) or 'draft' |
| `currency` | string | Yes | Three-letter currency code, e.g. 'CHF' |
| `discount` | number | No | Discount percentage |
| `due_date` | string | Yes | Due date in YYYY-MM-DD format |
| `project_id` | integer | No | ID of the assigned project |
| `salutation` | string | No | Salutation text (supports variables) |
| `customer_id` | integer | Yes | ID of the assigned client |
| `cash_discount` | number | No | Cash discount percentage |
| `change_address` | string ("invoice" | "project" | "customer") | No | Address propagation: 'invoice', 'project', or 'customer' |
| `custom_properties` | object | No | Custom key/value pairs |
| `recipient_address` | string | Yes | Full recipient address, lines separated by ' ' |
| `service_period_to` | string | No | Service period end date (YYYY-MM-DD) |
| `cash_discount_days` | integer | No | Days cash discount valid |
| `internal_contact_id` | integer | No | ID of an internal user |
| `service_period_from` | string | No | Service period start date (YYYY-MM-DD) |
| `print_detail_columns` | boolean | No | Show/hide detail columns |

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

### List Invoices

**Slug:** `MOCO_INVOICES_LIST`

Tool to retrieve a list of all invoices. Use when you need an overview of invoices, optionally filtered by status, date range, or client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results. |
| `tags` | string | No | Comma-separated list of tags to filter invoices (e.g., 'Periodenfremd,Inkasso'). |
| `term` | string | No | Wildcard search term within title and identifier fields. |
| `status` | string | No | Comma-separated list of invoice statuses to filter by (e.g., 'draft,paid'). |
| `date_to` | string | No | Include invoices dated on or before this date (YYYY-MM-DD). |
| `per_page` | integer | No | Number of invoices per page for pagination. |
| `date_from` | string | No | Include invoices dated on or after this date (YYYY-MM-DD). |
| `company_id` | integer | No | Filter invoices by associated company ID. |
| `identifier` | string | No | Filter by exact invoice identifier (invoice number). |
| `not_booked` | boolean | No | True to include only non-booked invoices. |
| `project_id` | integer | No | Filter invoices by associated project ID. |
| `service_period_to` | string | No | Include invoices with service period ending on or before this date (YYYY-MM-DD). |
| `include_disregarded` | boolean | No | True to include disregarded (marked as billed) invoices, default is false. |
| `service_period_from` | string | No | Include invoices with service period starting on or after this date (YYYY-MM-DD). |

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

### List All Project Expenses

**Slug:** `MOCO_LIST_ALL_PROJECT_EXPENSES`

Tool to retrieve all project expenses across all projects. Use when you need to analyze expenses company-wide, generate expense reports, or track spending across multiple projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | No | Comma-separated list of expense IDs to filter by (e.g., '123,456,789') |
| `tags` | string | No | Comma-separated list of project tags to filter by |
| `billed` | boolean | No | Filter by billed status. True returns only billed expenses, False returns only unbilled |
| `to_date` | string | No | End date for date range filter in YYYY-MM-DD format. Must be provided with from_date |
| `user_id` | integer | No | Numeric identifier of the expense creator to filter by |
| `billable` | boolean | No | Filter by billable status. True returns only billable expenses, False returns only non-billable |
| `from_date` | string | No | Start date for date range filter in YYYY-MM-DD format. Must be provided with to_date |
| `updated_after` | string | No | ISO8601 timestamp to retrieve only expenses modified after this date |
| `budget_relevant` | boolean | No | Filter by budget relevance. True returns only expenses that count toward project budget |

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

### List Assigned Projects

**Slug:** `MOCO_LIST_ASSIGNED_PROJECTS`

Tool to retrieve all projects assigned to the authenticated user. Use when you need to see which projects the current user is assigned to, optionally filtered by active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Filter projects by active status. Set to true to return only active projects, false for inactive projects, or omit to return all projects. |

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

### List Catalog Services

**Slug:** `MOCO_LIST_CATALOG_SERVICES`

List all catalog services (Leistungskatalog) from the account. Returns an array of services with nested items including pricing, quantities, and revenue categories. Use when you need to retrieve predefined service templates or catalog offerings.

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

### List Companies

**Slug:** `MOCO_LIST_COMPANIES`

Tool to retrieve all companies (customers and suppliers). Use when you need to list companies optionally filtered by type, search term, or archived status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `term` | string | No | Search term to filter results by company name or other fields. |
| `type` | string ("customer" | "supplier" | "organization") | No | Company type filter options. |
| `include_archived` | boolean | No | Include archived companies in results. |

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

### List Custom Properties

**Slug:** `MOCO_LIST_CUSTOM_PROPERTIES`

Tool to retrieve all custom properties from MOCO. Use when you need to get the list of available custom fields configured for different entity types (e.g., Projects, Deals, Companies).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity` | string ("Project" | "Deal" | "Company" | "Contact" | "Offer" | "Invoice" | "Purchase") | No | Enum for entity types that can have custom properties. |

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

### List Employments

**Slug:** `MOCO_LIST_EMPLOYMENTS`

Retrieve all user employments from MOCO. Employments define weekly work models (target hours and work patterns) for users. Use to get employment schedules, check user availability, or filter by date range to find active employments during specific periods.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter employments up to this date (inclusive). Format: YYYY-MM-DD. Returns employments that are active on or before this date. |
| `from` | string | No | Filter employments starting from this date (inclusive). Format: YYYY-MM-DD. Returns employments that are active on or after this date. |
| `user_id` | integer | No | Filter to show only employments for a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_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 |

### List Expense Templates

**Slug:** `MOCO_LIST_EXPENSE_TEMPLATES`

Tool to retrieve all expense templates from MOCO. Use when you need to view available expense templates for creating project expenses or generating invoices.

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

### List Holidays

**Slug:** `MOCO_LIST_HOLIDAYS`

Tool to retrieve all user holidays/vacation entries from MOCO. Use when you need to list holiday allocations, check vacation entitlements, or filter holidays by year or user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `year` | integer | No | Filter holidays by year (e.g., 2018, 2024). Returns only holiday entries for the specified year. |
| `user_id` | integer | No | Filter holidays for a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_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 |

### List Hourly Rates

**Slug:** `MOCO_LIST_HOURLY_RATES`

Tool to retrieve all hourly rates from MOCO. Use when you need to get default rates, task-specific rates, or user-specific rates. Can optionally filter by company to get customer-specific rates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | integer | No | When provided, returns customer-specific hourly rates; omitting this parameter retrieves global rates. |
| `include_archived_users` | boolean | No | Set to true to display deactivated user accounts (default: false). |

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

### List Invoice Attachments

**Slug:** `MOCO_LIST_INVOICE_ATTACHMENTS`

Tool to retrieve all attachments for an invoice. Use when you need to see files attached to a specific invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the invoice to retrieve attachments for. |

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

### List Offer Attachments

**Slug:** `MOCO_LIST_OFFER_ATTACHMENTS`

Tool to retrieve all attachments for a specific offer. Use when you need to view or list all files attached to an offer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer whose attachments 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 |

### List Presences

**Slug:** `MOCO_LIST_PRESENCES`

Tool to retrieve all user presences (attendance entries) from MOCO. Use when you need to get work attendance records, track office vs home office days, or filter presence entries by date range or user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End date in format YYYY-MM-DD (e.g., 2018-06-30), must be paired with 'from_date' |
| `from` | string | No | Start date in format YYYY-MM-DD (e.g., 2018-06-01), must be paired with 'to_date' |
| `user_id` | integer | No | Filter by specific user ID |
| `is_home_office` | boolean | No | Filter by home office status (true/false) |

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

### List Project Contracts

**Slug:** `MOCO_LIST_PROJECT_CONTRACTS`

Tool to retrieve all contracts (assigned staff) for a project. Use when you need to see which staff members are assigned to a specific project and their billing details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the project to retrieve contracts for |

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

### List Project Groups

**Slug:** `MOCO_LIST_PROJECT_GROUPS`

Retrieve all project groups from MOCO. Use when you need to view grouped projects, analyze project portfolios by company or user, or get aggregated budget information across multiple projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | No | Filter by user ID who created the project group. |
| `company_id` | integer | No | Filter by company ID associated with the project group. |

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

### List Project Tasks

**Slug:** `MOCO_LIST_PROJECT_TASKS`

Tool to retrieve all tasks (services) for a project by project ID. Use when you need to see all available tasks within a project for activity tracking, budgeting, or billing purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST to discover available project 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 |

### List Purchase Categories

**Slug:** `MOCO_LIST_PURCHASE_CATEGORIES`

Retrieves all purchase categories configured in MOCO with their IDs, names, account codes, and status. Purchase categories are used to classify expenses and purchases in the system (e.g., "Travel expenses", "Office supplies"). Each category includes an associated credit account code for bookkeeping. Use this action to: - Get available category IDs for creating or categorizing purchases - View all expense categories configured in the system - Check which categories are active or inactive

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

### List Purchase Drafts

**Slug:** `MOCO_LIST_PURCHASE_DRAFTS`

Tool to retrieve all purchase drafts (German: Ausgaben – Entwürfe). Use when you need to view all draft purchases that have been created but not yet finalized.

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

### List Purchases

**Slug:** `MOCO_LIST_PURCHASES`

Tool to retrieve all purchases (supplier invoices). Use when you need an overview of expenses, optionally filtered by status, date range, or supplier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string | No | Filter by status (pending or archived). |
| `date_to` | string | No | Filter by date to (YYYY-MM-DD). |
| `date_from` | string | No | Filter by date from (YYYY-MM-DD). |
| `company_id` | integer | No | Filter by supplier company 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 |

### List Schedules

**Slug:** `MOCO_LIST_SCHEDULES`

Tool to retrieve all absences (schedules) from MOCO. Schedules track employee time off including holidays, sick days, and other absences. Use when you need to view team availability, check planned absences, or track vacation days.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). Default is 1. Use to navigate through large result sets. If results are empty, you've reached the last page. |
| `to_date` | string | No | Filter schedules up to this date (inclusive). Format: YYYY-MM-DD. Use with from_date to specify a date range for absences. |
| `user_id` | integer | No | Filter to show only schedules for a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_LIST). |
| `from_date` | string | No | Filter schedules from this date onwards (inclusive). Format: YYYY-MM-DD. Use with to_date to specify a date range for absences. |
| `absence_code` | string | No | Filter by absence type code. Accepts comma-separated values: 1=unplannable, 2=public holiday, 3=sick day, 4=holiday, 5=absence. Example: '1,3,4' for unplannable, sick days, and holidays. |
| `holiday_request_id` | integer | No | Filter all holiday absences (absence_code=4) that belong to a specific holiday request. Use to track all days within a vacation request. |

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

### List Task Templates

**Slug:** `MOCO_LIST_TASK_TEMPLATES`

Tool to retrieve all task templates from MOCO. Use when you need to get available task templates for creating project tasks or understanding task categories.

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

### List Units

**Slug:** `MOCO_LIST_UNITS`

Tool to retrieve all units/teams in MOCO. Use when you need to list organizational units/teams or find unit IDs for assignments.

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

### List User Roles

**Slug:** `MOCO_LIST_USER_ROLES`

Tool to retrieve all user permission roles in MOCO. Returns role IDs, names, and permission settings for various modules. Use when you need to check available roles for user assignment or review permission configurations.

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

### List Work Time Adjustments

**Slug:** `MOCO_LIST_WORK_TIME_ADJUSTMENTS`

Tool to retrieve all user work time adjustments from MOCO. Use when you need to view hours added or subtracted from users' work time balances (e.g., overtime compensation, vacation corrections).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to_date` | string | No | Filter adjustments up to this date (inclusive). Format: YYYY-MM-DD. Use with from_date to specify a date range. |
| `user_id` | integer | No | Filter to show only adjustments for a specific user. Use the user's numeric ID from MOCO (get from MOCO_USERS_LIST). |
| `from_date` | string | No | Filter adjustments from this date onwards (inclusive). Format: YYYY-MM-DD. Use with to_date to specify a date range. |

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

**Slug:** `MOCO_OFFER_GET`

Tool to retrieve a single offer by ID. Use when you have an offer ID and need detailed offer information. Use after confirming the offer ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer 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 |

### List Offers

**Slug:** `MOCO_OFFERS_LIST`

Tool to retrieve a list of all offers. Use when you need an overview of offers filtered by status, date range, or identifiers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("date" | "created_at" | "title") | No | Sort offers by 'date', 'created_at', or 'title'. |
| `status` | string ("created" | "sent" | "accepted" | "partially_billed" | "billed" | "archived") | No | Filter offers by status. |
| `deal_id` | string | No | Comma-separated deal IDs to filter, e.g., '123,456'. |
| `to_date` | string | No | Include offers on or before this date (YYYY-MM-DD). |
| `from_date` | string | No | Include offers on or after this date (YYYY-MM-DD). |
| `company_id` | string | No | Comma-separated company IDs to filter, e.g., '123,456'. |
| `identifier` | string | No | Filter by offer identifier, e.g., 'A1903-003'. |
| `project_id` | string | No | Comma-separated project IDs to filter, e.g., '123,456'. |

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

### Patch Taggings

**Slug:** `MOCO_PATCH_TAGGINGS`

Tool to partially update taggings by adding new tags to an entity without removing existing tags. Use when you need to append tags to a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User while preserving existing tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | Array of tag names to add to the entity. Existing tags remain intact, new tags are appended. Tags already assigned are silently ignored, and non-existent tags are automatically created. |
| `entity` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | Yes | Entity type - one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User |
| `entity_id` | integer | Yes | The ID of the specific entity instance |

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

### List Planning Entries

**Slug:** `MOCO_PLANNING_ENTRIES_LIST`

Tool to retrieve a list of all planning entries. Use when you need an overview of planned hours filtered by period, user, or project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string | No | Date range in 'YYYY-MM-DD:YYYY-MM-DD' format to filter entries. |
| `user_id` | integer | No | Filter by user ID. |
| `project_id` | integer | No | Filter by project 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 |

### Create Planning Entry

**Slug:** `MOCO_PLANNING_ENTRY_CREATE`

Tool to create a new planning entry. Use when you need to allocate working hours to a project or deal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | integer | No | Symbol identifier (1-10) representing various icons. |
| `comment` | string | No | Additional comments for the planning entry. |
| `deal_id` | integer | No | ID of the deal. Required if no project_id is provided. |
| `ends_on` | string | Yes | End date in YYYY-MM-DD format. |
| `user_id` | integer | No | ID of the user; defaults to the requesting user if omitted. |
| `starts_on` | string | Yes | Start date in YYYY-MM-DD format. |
| `project_id` | integer | No | ID of the project. Required if no deal_id is provided. |
| `hours_per_day` | number | Yes | Number of hours planned per day; must be non-negative. |

#### 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 Planning Entry

**Slug:** `MOCO_PLANNING_ENTRY_GET`

Tool to retrieve a single planning entry by ID. Use when you need detailed information for a specific planning entry after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the planning entry 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 |

### Create Project

**Slug:** `MOCO_PROJECT_CREATE`

Tool to create a new project in MOCO. Use when you need to provision a project with validated parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `info` | string | No | Additional project information |
| `name` | string | Yes | Name of the project |
| `tags` | array | No | List of tags (e.g., 'Print', 'Digital') |
| `budget` | number | No | Total project budget |
| `deal_id` | integer | No | Deal ID |
| `currency` | string | Yes | ISO 4217 currency code |
| `retainer` | boolean | Yes | Whether this is a retainer project. If true, start_date, finish_date, and budget_monthly are mandatory and must align to full months. |
| `leader_id` | integer | Yes | User ID of the project leader |
| `contact_id` | integer | No | Primary contact ID |
| `identifier` | string | No | Project identifier (mandatory only if number ranges are manual) |
| `start_date` | string | Yes | Project start date in YYYY-MM-DD format |
| `customer_id` | integer | Yes | Company ID of the customer |
| `finish_date` | string | Yes | Project finish date in YYYY-MM-DD format |
| `fixed_price` | boolean | Yes | Whether this is a fixed-price project |
| `hourly_rate` | number | No | Hourly rate if billing variant dictates |
| `co_leader_id` | integer | No | User ID of the co-leader |
| `billing_notes` | string | No | Additional billing notes |
| `budget_monthly` | number | No | Monthly budget (mandatory if retainer=true) |
| `billing_address` | string | No | Billing address, newline-separated |
| `billing_variant` | string ("project" | "task" | "user") | No | Billing variant: 'project', 'task', or 'user' (default: 'project') |
| `budget_expenses` | number | No | Expenses budget |
| `billing_email_cc` | string | No | CC billing recipient email |
| `billing_email_to` | string | No | Primary billing recipient email |
| `project_group_id` | integer | No | Project group ID |
| `custom_properties` | object | No | Custom key/value property map |
| `billing_contact_id` | integer | No | Billing contact ID |
| `secondary_contact_id` | integer | No | Secondary contact ID |
| `setting_include_time_report` | boolean | No | Include detailed time reports in billing |

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

**Slug:** `MOCO_PROJECT_GET`

Retrieves comprehensive details for a specific project by its ID. Returns complete project information including budget, billing details, dates, assigned tasks, team members, and customer information. Use this action when you need detailed information about a specific project after obtaining its ID (e.g., from MOCO_PROJECTS_LIST).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the project to retrieve. Use MOCO_PROJECTS_LIST to discover available project 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 |

### List Projects

**Slug:** `MOCO_PROJECTS_LIST`

Tool to retrieve a list of all projects. Use when you need an overview of projects optionally filtered by company, leader, date range, or tags after confirming criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Comma-separated list of tags to filter by. |
| `retainer` | boolean | No | Filter by retainer projects. |
| `leader_id` | integer | No | Filter by project (co-)leader user ID. |
| `company_id` | integer | No | Filter by company ID. |
| `created_to` | string | No | Filter projects created on or before this date (YYYY-MM-DD). |
| `identifier` | string | No | Filter by project identifier. |
| `updated_to` | string | No | Filter projects updated on or before this date (YYYY-MM-DD). |
| `created_from` | string | No | Filter projects created on or after this date (YYYY-MM-DD). |
| `updated_from` | string | No | Filter projects updated on or after this date (YYYY-MM-DD). |
| `include_company` | boolean | No | Return complete company information instead of only ID and name. |
| `include_archived` | boolean | No | Include archived projects. |
| `project_group_id` | integer | No | Filter by project group 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 |

### Update Project

**Slug:** `MOCO_PROJECT_UPDATE`

Tool to update an existing project. Use when you need to modify project details after confirming the project ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the project to update |
| `info` | string | No | Additional information about the project |
| `name` | string | No | Project name |
| `tags` | array | No | List of tags associated with the project |
| `active` | boolean | No | Whether the project is active |
| `budget` | number | No | Total budget for the project |
| `deal_id` | integer | No | ID of the associated deal |
| `billable` | boolean | No | Whether the project is billable |
| `retainer` | boolean | No | Indicates if the project is a retainer; then start_date, finish_date, and budget_monthly (on first/last day of month) become mandatory |
| `leader_id` | integer | No | User ID of the project leader |
| `contact_id` | integer | No | ID of the primary contact |
| `identifier` | string | No | Project identifier (required if number ranges are manual) |
| `start_date` | string | No | Project start date in YYYY-MM-DD format |
| `customer_id` | integer | No | ID of the associated customer |
| `finish_date` | string | No | Project finish date in YYYY-MM-DD format |
| `fixed_price` | boolean | No | Indicates if the project has a fixed price |
| `hourly_rate` | number | No | Hourly rate for the project |
| `co_leader_id` | integer | No | User ID of the co-leader |
| `billing_notes` | string | No | Notes to include on billing documents |
| `budget_monthly` | number | No | Monthly budget (required if retainer) |
| `billing_address` | string | No | Billing address with ' ' separators |
| `billing_variant` | string ("project" | "task" | "user") | No | Billing variant; 'project', 'task', or 'user' |
| `budget_expenses` | number | No | Budget allocated for expenses |
| `billing_email_cc` | string | No | CC billing email |
| `billing_email_to` | string | No | Primary billing email |
| `project_group_id` | integer | No | ID of the project group |
| `custom_properties` | object | No | Custom key/value properties |
| `billing_contact_id` | integer | No | ID of the billing contact |
| `secondary_contact_id` | integer | No | ID of the secondary contact |
| `setting_include_time_report` | boolean | No | Whether to include a time report |

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

**Slug:** `MOCO_PURCHASE_CREATE`

Tool to create a new purchase. Use when you need to log an expense record after gathering date, items, and payment info.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Purchase date in YYYY-MM-DD format |
| `file` | object | No | A file to attach to the purchase as base64-encoded content. |
| `iban` | string | No | Supplier IBAN for bank transfer |
| `info` | string | No | Free text notes |
| `tags` | array | No | List of tags to assign |
| `items` | array | Yes | List of purchase line items; at least one required |
| `title` | string | No | Title for the purchase; if omitted, generated from items |
| `status` | string ("pending" | "archived") | No | Initial status (pending/archived) |
| `user_id` | integer | No | ID of the responsible user |
| `currency` | string | Yes | Three-letter currency code (must be valid for the account) |
| `due_date` | string | No | Due date in YYYY-MM-DD format |
| `reference` | string | No | Additional reference text |
| `company_id` | integer | No | ID of the supplier company |
| `payment_method` | string ("bank_transfer" | "direct_debit" | "credit_card" | "paypal" | "cash" | "bank_transfer_swiss_qr_esr") | Yes | Payment method |
| `custom_properties` | object | No | Custom metadata fields |
| `service_period_to` | string | No | Service period end date |
| `receipt_identifier` | string | No | Supplier receipt identifier |
| `service_period_from` | string | No | Service period start date |

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

### Send Invoice by Email

**Slug:** `MOCO_SEND_INVOICE_EMAIL`

Tool to send an invoice by email. Use when you need to email an invoice to a customer with custom subject and message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The invoice ID to send by email |
| `text` | string | Yes | Email message body content |
| `subject` | string | Yes | Email subject line for the invoice |
| `emails_cc` | string | No | Carbon copy email address(es), separated by semicolons |
| `emails_to` | string | Yes | Recipient email address(es). Multiple addresses can be separated by semicolons. If left empty, uses default recipients from project/customer. |
| `emails_bcc` | string | No | Blind carbon copy email address(es), separated by semicolons |
| `letter_paper_id` | integer | No | Specific letter paper template ID to use. If omitted, uses the default template. |

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

### Send Invoice Reminder Email

**Slug:** `MOCO_SEND_INVOICE_REMINDER_EMAIL`

Tool to send an invoice reminder by email. Use when you need to email a payment reminder to a customer for an overdue invoice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The invoice reminder ID to send by email |
| `text` | string | Yes | Email body text content for the reminder |
| `subject` | string | Yes | Email subject line for the invoice reminder |
| `emails_cc` | string | No | Carbon copy email address(es) separated by semicolons |
| `emails_to` | string | No | Recipient email address(es) separated by semicolons. If not specified, uses default recipient from customer/invoice. |
| `emails_bcc` | string | No | Blind carbon copy email address(es) separated by semicolons |

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

### Send Offer Email

**Slug:** `MOCO_SEND_OFFER_EMAIL`

Tool to send an offer by email to specified recipients. Use when you need to email an offer to clients or contacts with custom subject and message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to send by email. |
| `text` | string | Yes | The email body text content. |
| `subject` | string | Yes | The email subject line. |
| `emails_cc` | string | No | List of CC email addresses separated by semicolons. |
| `emails_to` | string | No | List of recipient email addresses separated by semicolons. |
| `emails_bcc` | string | No | List of BCC email addresses separated by semicolons. |

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

### Share Project

**Slug:** `MOCO_SHARE_PROJECT`

Tool to activate project report sharing and get a shareable URL. Use when you need to enable public access to a project's report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project to enable sharing for. |

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

### Start Activity Timer

**Slug:** `MOCO_START_TIMER`

Tool to start or continue a timer on an activity. Use when you need to track time on a specific activity in real-time. The activity must be from the current day, and only one timer can be running at a time per user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the activity to start the timer on. The activity must be from the current day. |

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

### Stop Activity Timer

**Slug:** `MOCO_STOP_ACTIVITY_TIMER`

Tool to stop a timer running on an activity. Use when you need to end time tracking for a currently running activity timer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the activity with a running timer to stop. |

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

### Unassign Project from Project Group

**Slug:** `MOCO_UNASSIGN_PROJECT_GROUP`

Tool to unassign a project from its project group. Use when you need to remove a project's association with its current project group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the project to unassign from its project group |

#### 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 Account Catalog Service

**Slug:** `MOCO_UPDATE_ACCOUNT_CATALOG_SERVICE`

Tool to update a catalog service. Use when you need to modify the title of an existing catalog service entry. Note: Items cannot be updated via this endpoint; use separate item endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the catalog service to update |
| `title` | string | No | The catalog service name/title |

#### 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 Catalog Service Item

**Slug:** `MOCO_UPDATE_ACCOUNT_CATALOG_SERVICES_ITEMS`

Tool to update an existing item within a catalog service in MOCO. Use when you need to modify details of a catalog service item such as title, quantity, or pricing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the item to update |
| `type` | string | No | Type of item (e.g., 'item', 'title', 'description', 'page-break', 'subtotal', 'separator') |
| `unit` | string | No | Unit of measurement (e.g., 'h' for hours, 'VM' for virtual machine) |
| `title` | string | No | Item title/name |
| `quantity` | number | No | Quantity of the item (can be 0 for all-inclusive items) |
| `net_total` | number | No | Total price for the item |
| `service_id` | integer | Yes | The ID of the parent catalog service |
| `unit_price` | number | No | Price per unit |

#### 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 Account Custom Properties

**Slug:** `MOCO_UPDATE_ACCOUNT_CUSTOM_PROPERTIES`

Tool to update a custom property in MOCO. Use when you need to modify name, placeholder, print settings, or notification options for an existing custom property. Note: kind and entity fields cannot be changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the custom property to update |
| `name` | string | No | The custom property name |
| `api_only` | boolean | No | Hides from UI if true |
| `defaults` | array | No | Array of selectable options for Select/MultiSelect kinds |
| `placeholder` | string | No | Text displayed as input hint in MOCO |
| `print_on_offer` | boolean | No | Whether to print on offer |
| `placeholder_alt` | string | No | Placeholder in alternative language |
| `print_on_invoice` | boolean | No | Whether to print on invoice |
| `print_on_timesheet` | boolean | No | Whether to print on timesheet |
| `notification_enabled` | boolean | No | Enable notifications (for Date kind 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 |

### Update Expense Template

**Slug:** `MOCO_UPDATE_ACCOUNT_EXPENSE_TEMPLATES`

Tool to update an existing expense template in MOCO. Use when you need to modify pricing, description, or other details of a reusable expense item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the expense template to update |
| `unit` | string | No | Measurement unit type (e.g., 'hours', 'pieces', 'month', 'day') |
| `title` | string | No | Name of the expense template |
| `currency` | string | No | Three-letter currency code (e.g., 'USD', 'EUR', 'CHF') |
| `unit_cost` | string | No | Internal cost for one unit as a decimal string |
| `unit_price` | string | No | Price per single unit as a decimal string |
| `description` | string | No | Detailed description of the template |

#### 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 Account Internal Hourly Rates

**Slug:** `MOCO_UPDATE_ACCOUNT_INTERNAL_HOURLY_RATES`

Tool to update internal hourly rates for one or more users for a specific year. Use when you need to set or modify staff cost rates for budgeting and financial planning purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `year` | integer | Yes | The fiscal year for which to update the hourly rates |
| `rates` | array | Yes | Array of rate objects specifying user_id and rate for each user to update |

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

**Slug:** `MOCO_UPDATE_COMMENT`

Tool to update an existing comment on a MOCO resource. Use when you need to modify the text or attachment of a manually created comment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the comment to update. Only manually created comments can be updated. |
| `text` | string | No | Comment text in plain text or valid HTML (only div, strong, em, u, pre, ul, ol, li, br tags allowed) |
| `attachment_content` | string | No | File content as base64-encoded string (must be provided along with attachment_filename) |
| `attachment_filename` | string | No | Filename for attachment (must be provided along with attachment_content) |

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

**Slug:** `MOCO_UPDATE_COMPANY`

Tool to update an existing company. Use when you need to modify one or more fields of a company after retrieving its details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the company to update |
| `fax` | string | No | Company's fax number |
| `iban` | string | No | International Bank Account Number for suppliers |
| `info` | string | No | Additional information about the company |
| `name` | string | No | Name of the company |
| `tags` | array | No | Tags associated with the company |
| `type` | string ("customer" | "supplier" | "organization") | No | Type of the company |
| `email` | string | No | Primary email address for the company |
| `phone` | string | No | Company's phone number |
| `footer` | string | No | HTML content for invoice footer |
| `address` | string | No | Postal address, lines separated by ' ' |
| `user_id` | integer | No | ID of the responsible user |
| `website` | string | No | Company's website URL |
| `currency` | string | No | Currency code for customers (e.g., 'USD', 'EUR', 'CHF') |
| `identifier` | string | No | Unique identifier/reference for the customer (e.g., 'CUST-001', 'K-123') |
| `country_code` | string | No | ISO Alpha-2 country code (e.g., 'DE', 'CH', 'AT') |
| `customer_tax` | number | No | Tax rate for the customer (percentage) |
| `debit_number` | integer | No | Debit number if bookkeeping is enabled |
| `supplier_tax` | number | No | Tax rate for the supplier (percentage) |
| `billing_notes` | string | No | Notes to include on invoices |
| `credit_number` | integer | No | Credit number if bookkeeping is enabled |
| `vat_identifier` | string | No | European Union VAT identification number |
| `billing_email_cc` | string | No | CC email address(es) for billing (comma-separated) |
| `custom_properties` | object | No | Custom key/value properties |
| `default_invoice_due_days` | integer | No | Default number of days until invoice is due |
| `alternative_correspondence_language` | boolean | No | Indicates if sales documents should use the alternative correspondence language |

#### 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 Contact Person

**Slug:** `MOCO_UPDATE_CONTACTS_PEOPLE`

Tool to update an existing contact person in MOCO. Use when you need to modify one or more fields of a contact after retrieving its details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the contact person to update |
| `info` | string | No | Additional information or notes about the contact |
| `tags` | array | No | Array of tag strings to categorize the contact |
| `title` | string | No | Title or professional designation (e.g., Dr., Prof., Mr., Ms.) |
| `gender` | string ("F" | "M" | "U") | No | Gender options for contact. |
| `birthday` | string | No | Birthday in YYYY-MM-DD format |
| `lastname` | string | No | Last name (surname) of the contact |
| `work_fax` | string | No | Work fax number |
| `firstname` | string | No | First name (given name) of the contact |
| `company_id` | integer | No | ID of the company this contact belongs to |
| `home_email` | string | No | Home (personal) email address |
| `work_email` | string | No | Work email address |
| `work_phone` | string | No | Work phone number |
| `home_address` | string | No | Home (residential) address |
| `job_position` | string | No | Job title or position of the contact |
| `mobile_phone` | string | No | Mobile phone number |
| `work_address` | string | No | Work address (lines separated by newline character) |
| `custom_properties` | object | No | Custom key/value properties for the contact |

#### 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 Deal Category

**Slug:** `MOCO_UPDATE_DEAL_CATEGORY`

Tool to update an existing deal category in MOCO. Use when you need to modify the name or probability of a deal category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the deal category to update |
| `name` | string | No | Name of the deal category (e.g., 'Negotiation', 'Closed Won') |
| `probability` | integer | No | Probability percentage (0-100) indicating the likelihood of winning deals in this category |

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

**Slug:** `MOCO_UPDATE_HOLIDAY`

Tool to update an existing holiday entry in MOCO. Use this to modify annual leave days, vacation allowances, or other holiday entitlements for specific users and years.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the holiday entry to update |
| `days` | number | No | Number of holiday days to allocate (can be fractional, e.g., 22.5) |
| `year` | integer | No | Year for the holiday entry (e.g., 2019, 2026) |
| `title` | string | No | Title/description of the holiday entry (e.g., 'Annual Leave Allocation', 'Urlaubsanspruch 80%') |
| `user_id` | integer | No | ID of the user for whom the holiday is allocated |
| `creator_id` | integer | No | ID of the user creating/updating the record (optional). If not specified, the authenticated user is used |

#### 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 Invoice Status

**Slug:** `MOCO_UPDATE_INVOICE_STATUS`

Tool to update an invoice status. Use when you need to change the status of an existing invoice. Only works for actual invoices, not invoice drafts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the invoice to update |
| `status` | string ("created" | "sent" | "overdue" | "ignored") | Yes | The new invoice status. Valid values: created, sent, overdue, ignored |

#### 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 Offer Status

**Slug:** `MOCO_UPDATE_OFFER_STATUS`

Tool to update the status of an offer. Use when you need to change an offer's status (e.g., from created to sent, or sent to accepted).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the offer to update. |
| `status` | string ("created" | "sent" | "accepted" | "partially_billed" | "billed" | "archived") | Yes | The new status to set for the offer. |

#### 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 Planning Entry

**Slug:** `MOCO_UPDATE_PLANNING_ENTRY`

Tool to update an existing planning entry. Use when you need to modify hours, dates, or other details of a planning allocation after confirming the entry exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the planning entry to update. |
| `symbol` | integer | No | Visual indicator symbol (1-10) representing various icons. |
| `comment` | string | No | Notes or description for the planning entry. |
| `deal_id` | integer | No | ID of the deal. Mutually exclusive with project_id. |
| `ends_on` | string | No | End date in YYYY-MM-DD format. |
| `task_id` | integer | No | ID of the task associated with the planning entry. |
| `user_id` | integer | No | ID of the staff member assigned to the planning entry. |
| `starts_on` | string | No | Start date in YYYY-MM-DD format. |
| `tentative` | boolean | No | Blocker status indicator. Set to true to mark the entry as tentative. |
| `project_id` | integer | No | ID of the project. Mutually exclusive with deal_id. |
| `hours_per_day` | number | No | Number of hours planned per day; must be non-negative. |

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

**Slug:** `MOCO_UPDATE_PRESENCE`

Tool to update a presence entry (work time tracking) in MOCO. Use when you need to modify existing work hours, dates, or home office status for a specific presence record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the presence entry to update |
| `to` | string | No | End time in HH:MM 24-hour format (e.g., '15:30'). Can be left blank |
| `date` | string | No | Date of the presence in YYYY-MM-DD format |
| `from` | string | No | Start time in HH:MM 24-hour format (e.g., '08:00') |
| `is_home_office` | boolean | No | Whether this is a home office (remote work) day. Defaults to false if not specified |

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

### Archive Project

**Slug:** `MOCO_UPDATE_PROJECTS_ARCHIVE`

Tool to archive a project in MOCO. Use when you need to archive a project without deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the project to archive |

#### 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 Project Contract

**Slug:** `MOCO_UPDATE_PROJECTS_CONTRACTS`

Tool to update a staff assignment to a project. Use when you need to modify budget, hourly rate, or active/billable status of an existing assignment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Whether the staff assignment is active |
| `budget` | number | No | Budget allocated for this staff assignment |
| `billable` | boolean | No | Whether the staff assignment is billable |
| `project_id` | integer | Yes | ID of the project containing the contract |
| `contract_id` | integer | Yes | ID of the contract (staff assignment) to update |
| `hourly_rate` | number | No | Hourly rate for the staff member on this assignment |

#### 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 Project Expense

**Slug:** `MOCO_UPDATE_PROJECTS_EXPENSES`

Tool to update an additional services entry (expense) on a project. Use when you need to modify existing project expenses like hosting costs or external services. Updates are only possible for expenses that have not yet been billed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Date of the expense in YYYY-MM-DD format |
| `unit` | string | No | Unit of measurement (e.g., 'month', 'hour', 'piece') |
| `title` | string | No | Title/name of the expense |
| `billable` | boolean | No | Whether the expense is billable to the customer |
| `quantity` | number | No | Quantity of units |
| `unit_cost` | number | No | Cost per unit (internal cost) |
| `expense_id` | integer | Yes | ID of the expense entry to update |
| `project_id` | integer | Yes | ID of the project containing the expense |
| `unit_price` | number | No | Price per unit (billable to customer) |
| `description` | string | No | HTML formatted detailed description of the expense |
| `budget_relevant` | boolean | No | Whether the expense counts toward the project budget |
| `custom_properties` | object | No | Custom key-value property pairs |
| `service_period_to` | string | No | Service period end date in YYYY-MM-DD format |
| `service_period_from` | string | No | Service period start date in YYYY-MM-DD format |

#### 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 Project Payment Schedule

**Slug:** `MOCO_UPDATE_PROJECTS_PAYMENT_SCHEDULES`

Tool to update a payment schedule entry for a project. Use when you need to modify an existing scheduled payment milestone for a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Payment schedule date in YYYY-MM-DD format |
| `title` | string | No | Name/label for the payment schedule entry |
| `checked` | boolean | No | Boolean flag to mark the payment schedule as completed/checked |
| `net_total` | number | No | The net total amount for this payment schedule entry |
| `project_id` | integer | Yes | The unique numeric identifier of the project. Use MOCO_PROJECTS_LIST or MOCO_PROJECT_GET to discover available project IDs. |
| `payment_schedule_id` | integer | Yes | The unique identifier of the payment schedule to update |

#### 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 Project Recurring Expense

**Slug:** `MOCO_UPDATE_PROJECTS_RECURRING_EXPENSES`

Tool to update a recurring additional services entry on a project. Use when you need to modify details of an existing recurring expense after confirming both the project ID and recurring expense ID. Note: start_date and period cannot be modified after creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `unit` | string | No | Unit of measurement |
| `title` | string | No | Title of the recurring expense |
| `billable` | boolean | No | Whether the expense is billable to the customer |
| `quantity` | number | No | Quantity of the service |
| `unit_cost` | number | No | Cost per unit for internal tracking |
| `project_id` | integer | Yes | The ID of the project containing the recurring expense |
| `unit_price` | number | No | Price per unit for billing |
| `description` | string | No | Description of the recurring expense (HTML-formatted) |
| `finish_date` | string | No | End date of the recurring expense in YYYY-MM-DD format. Set to null to make it unlimited. |
| `budget_relevant` | boolean | No | Whether the expense is included in budget calculations |
| `custom_properties` | object | No | Custom field values as key/value pairs |
| `recurring_expense_id` | integer | Yes | The ID of the recurring expense to update |
| `service_period_direction` | string ("none" | "forward" | "backward") | No | Service period direction for the recurring expense. |

#### 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 Project Task

**Slug:** `MOCO_UPDATE_PROJECTS_TASKS`

Tool to update an existing task on a project in MOCO. Use when you need to modify task details such as budget, hourly rate, billability, or description after the task has been created.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Task designation/name (e.g., 'Design / UX', 'Backend Development') |
| `active` | boolean | No | Whether the task is active |
| `budget` | number | No | Budget allocation for the task in the project currency |
| `task_id` | integer | Yes | The unique numeric identifier of the task to update |
| `billable` | boolean | No | Whether the task is billable |
| `project_id` | integer | Yes | The unique numeric identifier of the project containing the task |
| `description` | string | No | Detailed description of the task |
| `hourly_rate` | number | No | Hourly rate for the task in the project currency |

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

### Unarchive Project

**Slug:** `MOCO_UPDATE_PROJECTS_UNARCHIVE`

Tool to reactivate an archived project. Use when you need to restore a previously archived project to active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the project to unarchive |

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

**Slug:** `MOCO_UPDATE_PURCHASE`

Tool to update an existing purchase. Use when you need to modify purchase details after confirming the purchase ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The purchase ID to update |
| `date` | string | No | Purchase date in YYYY-MM-DD format |
| `iban` | string | No | Bank account number |
| `info` | string | No | Free text field |
| `tags` | array | No | Label array |
| `title` | string | No | Purchase title |
| `status` | string ("pending" | "archived") | No | Purchase status |
| `user_id` | integer | No | Responsible user ID |
| `currency` | string | No | Valid account currency (e.g., EUR) |
| `due_date` | string | No | Due date in YYYY-MM-DD format |
| `reference` | string | No | Payment reference |
| `company_id` | integer | No | Supplier reference ID |
| `payment_method` | string ("bank_transfer" | "direct_debit" | "credit_card" | "paypal" | "cash" | "bank_transfer_swiss_qr_esr") | No | Payment method |
| `custom_properties` | object | No | Custom field data as key-value pairs |
| `service_period_to` | string | No | Service end date in YYYY-MM-DD format |
| `receipt_identifier` | string | No | Receipt reference |
| `service_period_from` | string | No | Service start date in YYYY-MM-DD format |

#### 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 Purchase Document

**Slug:** `MOCO_UPDATE_PURCHASES_STORE_DOCUMENT`

Tool to update or store a purchase document. Use when you need to attach a document file to an existing purchase or replace an existing document. The file is uploaded using multipart/form-data format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase to update the document for |
| `file` | object | Yes | File object containing filename and base64-encoded file content |

#### 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 Purchase Status

**Slug:** `MOCO_UPDATE_PURCHASE_STATUS`

Tool to update the status of a purchase. Use when you need to change a purchase status between pending and archived.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the purchase to update |
| `status` | string ("pending" | "archived") | Yes | The new purchase status. Valid values: pending, archived |

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

**Slug:** `MOCO_UPDATE_RECEIPT`

Tool to update an existing receipt. Use when you need to modify receipt details such as title, currency, or line items after confirming the receipt exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the receipt to update |
| `date` | string | No | Receipt date in YYYY-MM-DD format |
| `items` | array | No | Array of receipt items - overwrites existing items entirely |
| `title` | string | No | Text describing the receipt |
| `currency` | string | No | Three-letter currency code (e.g., CHF, EUR, USD) |
| `attachment` | object | No | File attachment for the receipt. |

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

**Slug:** `MOCO_UPDATE_SCHEDULE`

Tool to update a planning entry (absence/schedule). Use when you need to modify existing absences such as holidays, sick days, or other time off.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `am` | boolean | No | Whether the absence applies to the morning period. |
| `id` | integer | Yes | The unique identifier of the schedule entry to update. |
| `pm` | boolean | No | Whether the absence applies to the afternoon period. |
| `date` | string | No | Date of the absence in YYYY-MM-DD format. |
| `symbol` | string ("home" | "building" | "car" | "graduation_cap" | "cocktail" | "bells" | "baby_carriage" | "users" | "moon" | "info_circle" | "dot_circle" | "exclamation_mark") | No | Symbol icons for schedule entries. |
| `comment` | string | No | Additional notes or comments about the absence. |
| `user_id` | integer | No | ID of the user for active staff member. |
| `overwrite` | boolean | No | Whether to override any existing schedule entry for the same date and user. |
| `absence_code` | string ("unplannable" | "public_holiday" | "sick_day" | "holiday" | "absence") | No | Absence code types for schedule entries. |

#### 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:** `MOCO_UPDATE_TAG`

Tool to update an existing tag in MOCO. Use when you need to change a tag's name or color.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the tag to update |
| `name` | string | No | The tag's display name |
| `color` | string | No | Hexadecimal color code for the tag (e.g., #FF0000, #0066CC) |

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

**Slug:** `MOCO_UPDATE_TAGGINGS`

Tool to replace all tags associated with an entity. Use when you need to set the complete tag list for a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User. This operation replaces all existing tags with the provided list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | Array of tag names to assign to the entity. This replaces all existing tags on the entity. |
| `entity` | string ("Company" | "Contact" | "Project" | "Deal" | "Purchase" | "Invoice" | "Offer" | "User") | Yes | Entity type - one of: Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User |
| `entity_id` | integer | Yes | The ID of the specific entity instance |

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

**Slug:** `MOCO_UPDATE_TASK_TEMPLATE`

Tool to update an existing task template in MOCO. Use when you need to modify the properties of an existing task template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The task template ID to update |
| `name` | string | No | Name of the task template |
| `index` | integer | No | Numeric value for ordering templates |
| `billable` | boolean | No | Indicates if the template is billable |
| `description` | string | No | Additional details about the template |
| `project_default` | boolean | No | Add template to new projects automatically |
| `revenue_category_id` | integer | No | Links to a revenue category for accounting purposes |

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

**Slug:** `MOCO_UPDATE_UNIT`

Tool to update an existing unit/team. Use when you need to modify unit details after confirming the unit ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the unit to update |
| `name` | string | No | The new name for the unit/team |

#### 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:** `MOCO_UPDATE_USER`

Tool to update an existing staff member/user in MOCO. Use when you need to modify user information such as contact details, role, status, or team assignment. Note that a related employment must be terminated separately through the employment endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the user to update |
| `bday` | string | No | Birth date in YYYY-MM-DD format |
| `iban` | string | No | International Bank Account Number for salary payments |
| `info` | string | No | Additional information or notes about the user |
| `tags` | array | No | Array of tag labels to categorize the user |
| `email` | string | No | Email address for the user account |
| `active` | boolean | No | Whether the user account is active. Set false to archive the user |
| `avatar` | object | No | Avatar image upload data. |
| `role_id` | integer | No | Permission role identifier to define user access level |
| `unit_id` | integer | No | Team/unit identifier to assign the user to |
| `external` | boolean | No | Whether the user is an external employee or contractor (not internal staff) |
| `language` | string ("de" | "de-AT" | "de-CH" | "en" | "it" | "fr") | No | Supported language options for user accounts. |
| `lastname` | string | No | Last name of the user |
| `firstname` | string | No | First name of the user |
| `work_phone` | string | No | Office/work phone number |
| `home_address` | string | No | Physical/home address (lines separated by newline character) |
| `mobile_phone` | string | No | Mobile phone number |
| `custom_properties` | object | No | Custom field values as key-value pairs |

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

**Slug:** `MOCO_UPDATE_USERS_EMPLOYMENTS`

Tool to update a user employment record. Use when you need to modify work hours patterns, employment dates, or user assignment for an existing employment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The employment ID to update |
| `to` | string | No | Employment end date in YYYY-MM-DD format, or null for ongoing employment |
| `from` | string | No | Employment start date in YYYY-MM-DD format |
| `pattern` | object | No | Work hours pattern with morning and afternoon hours for each workday. |
| `user_id` | integer | No | The user ID associated with this employment |

#### 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 Work Time Adjustment

**Slug:** `MOCO_UPDATE_USERS_WORK_TIME_ADJUSTMENTS`

Tool to update an existing work time adjustment in MOCO. Use when you need to modify details of a previously created work time adjustment (e.g., changing hours, description, or date).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the work time adjustment to update |
| `date` | string | No | The date for the adjustment in YYYY-MM-DD format |
| `hours` | number | No | Numeric value representing hours to add (positive value) or subtract (negative value) |
| `user_id` | integer | No | The ID of the user receiving the adjustment |
| `description` | string | No | A short explanation of the adjustment reason (e.g., 'Overtime 2026', 'Vacation correction') |

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

### List Users

**Slug:** `MOCO_USERS_LIST`

List all users in MOCO with optional filters. Returns user IDs, names, contact info, tags, and status. Useful for getting user/staff IDs for assignments, finding team members by tags, or checking user availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Filter users by tags (comma-separated). Returns users matching any of the provided tags. |
| `include_archived` | boolean | No | Include deactivated users when true. |

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