> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# harvest-projects

> Projects & Time Tracking

**Server path:** `/harvest-projects` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                          | Description                                      |
| ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| [`harvest_projects_create_project`](#harvest_projects_create_project)                                                         | Create a project                                 |
| [`harvest_projects_create_task`](#harvest_projects_create_task)                                                               | Create a task                                    |
| [`harvest_projects_create_task_assignment`](#harvest_projects_create_task_assignment)                                         | Create a task assignment                         |
| [`harvest_projects_create_time_entry`](#harvest_projects_create_time_entry)                                                   | Create a time entry                              |
| [`harvest_projects_create_user_assignment`](#harvest_projects_create_user_assignment)                                         | Create a user assignment                         |
| [`harvest_projects_delete_project`](#harvest_projects_delete_project)                                                         | Delete a project                                 |
| [`harvest_projects_delete_task`](#harvest_projects_delete_task)                                                               | Delete a task                                    |
| [`harvest_projects_delete_task_assignment`](#harvest_projects_delete_task_assignment)                                         | Delete a task assignment                         |
| [`harvest_projects_delete_time_entry`](#harvest_projects_delete_time_entry)                                                   | Delete a time entry                              |
| [`harvest_projects_delete_time_entry_external_reference`](#harvest_projects_delete_time_entry_external_reference)             | Delete a time entry’s external reference         |
| [`harvest_projects_delete_user_assignment`](#harvest_projects_delete_user_assignment)                                         | Delete a user assignment                         |
| [`harvest_projects_list_projects`](#harvest_projects_list_projects)                                                           | List all projects                                |
| [`harvest_projects_list_task_assignments`](#harvest_projects_list_task_assignments)                                           | List all task assignments                        |
| [`harvest_projects_list_task_assignments_for_specific_project`](#harvest_projects_list_task_assignments_for_specific_project) | List all task assignments for a specific project |
| [`harvest_projects_list_tasks`](#harvest_projects_list_tasks)                                                                 | List all tasks                                   |
| [`harvest_projects_list_time_entries`](#harvest_projects_list_time_entries)                                                   | List all time entries                            |
| [`harvest_projects_list_user_assignments`](#harvest_projects_list_user_assignments)                                           | List all user assignments                        |
| [`harvest_projects_list_user_assignments_for_specific_project`](#harvest_projects_list_user_assignments_for_specific_project) | List all user assignments for a specific project |
| [`harvest_projects_restart_stopped_time_entry`](#harvest_projects_restart_stopped_time_entry)                                 | Restart a stopped time entry                     |
| [`harvest_projects_retrieve_project`](#harvest_projects_retrieve_project)                                                     | Retrieve a project                               |
| [`harvest_projects_retrieve_task`](#harvest_projects_retrieve_task)                                                           | Retrieve a task                                  |
| [`harvest_projects_retrieve_task_assignment`](#harvest_projects_retrieve_task_assignment)                                     | Retrieve a task assignment                       |
| [`harvest_projects_retrieve_time_entry`](#harvest_projects_retrieve_time_entry)                                               | Retrieve a time entry                            |
| [`harvest_projects_retrieve_user_assignment`](#harvest_projects_retrieve_user_assignment)                                     | Retrieve a user assignment                       |
| [`harvest_projects_stop_running_time_entry`](#harvest_projects_stop_running_time_entry)                                       | Stop a running time entry                        |
| [`harvest_projects_update_project`](#harvest_projects_update_project)                                                         | Update a project                                 |
| [`harvest_projects_update_task`](#harvest_projects_update_task)                                                               | Update a task                                    |
| [`harvest_projects_update_task_assignment`](#harvest_projects_update_task_assignment)                                         | Update a task assignment                         |
| [`harvest_projects_update_time_entry`](#harvest_projects_update_time_entry)                                                   | Update a time entry                              |
| [`harvest_projects_update_user_assignment`](#harvest_projects_update_user_assignment)                                         | Update a user assignment                         |

***

## harvest\_projects\_create\_project

Create a project

**Parameters:**

| Parameter                             | Type    | Required | Default | Description |                                                                                                                                                                                                                        |
| ------------------------------------- | ------- | -------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bill_by`                             | string  | null     | Yes     | —           | The method by which the project is invoiced. Options: Project, Tasks, People, or none.                                                                                                                                 |
| `budget`                              | number  | null     | No      | —           | The budget in hours for the project when budgeting by time.                                                                                                                                                            |
| `budget_by`                           | string  | null     | Yes     | —           | The method by which the project is budgeted. Options: project (Hours Per Project), project\_cost (Total Project Fees), task (Hours Per Task), task\_fees (Fees Per Task), person (Hours Per Person), none (No Budget). |
| `budget_is_monthly`                   | boolean | null     | No      | —           | Option to have the budget reset every month. Defaults to false.                                                                                                                                                        |
| `client_id`                           | integer | null     | Yes     | —           | The ID of the client to associate this project with.                                                                                                                                                                   |
| `code`                                | string  | null     | No      | —           | The code associated with the project.                                                                                                                                                                                  |
| `cost_budget`                         | number  | null     | No      | —           | The monetary budget for the project when budgeting by money.                                                                                                                                                           |
| `cost_budget_include_expenses`        | boolean | null     | No      | —           | Option for budget of Total Project Fees projects to include tracked expenses. Defaults to false.                                                                                                                       |
| `ends_on`                             | string  | null     | No      | —           | Date the project will end.                                                                                                                                                                                             |
| `fee`                                 | number  | null     | No      | —           | The amount you plan to invoice for the project. Only used by fixed-fee projects.                                                                                                                                       |
| `hourly_rate`                         | number  | null     | No      | —           | Rate for projects billed by Project Hourly Rate.                                                                                                                                                                       |
| `is_active`                           | boolean | null     | No      | —           | Whether the project is active or archived. Defaults to true.                                                                                                                                                           |
| `is_billable`                         | boolean | null     | Yes     | —           | Whether the project is billable or not.                                                                                                                                                                                |
| `is_fixed_fee`                        | boolean | null     | No      | —           | Whether the project is a fixed-fee project or not.                                                                                                                                                                     |
| `name`                                | string  | null     | Yes     | —           | The name of the project.                                                                                                                                                                                               |
| `notes`                               | string  | null     | No      | —           | Project notes.                                                                                                                                                                                                         |
| `notify_when_over_budget`             | boolean | null     | No      | —           | Whether Project Managers should be notified when the project goes over budget. Defaults to false.                                                                                                                      |
| `over_budget_notification_percentage` | number  | null     | No      | —           | Percentage value used to trigger over budget email alerts. Example: use 10.0 for 10.0%.                                                                                                                                |
| `show_budget_to_all`                  | boolean | null     | No      | —           | Option to show project budget to all employees. Does not apply to Total Project Fee projects. Defaults to false.                                                                                                       |
| `starts_on`                           | string  | null     | No      | —           | Date the project was started.                                                                                                                                                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "bill_by": {
        "type": [
          "string",
          "null"
        ],
        "description": "The method by which the project is invoiced. Options: Project, Tasks, People, or none."
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "The budget in hours for the project when budgeting by time."
      },
      "budget_by": {
        "type": [
          "string",
          "null"
        ],
        "description": "The method by which the project is budgeted. Options: project (Hours Per Project), project_cost (Total Project Fees), task (Hours Per Task), task_fees (Fees Per Task), person (Hours Per Person), none (No Budget)."
      },
      "budget_is_monthly": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option to have the budget reset every month. Defaults to false."
      },
      "client_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the client to associate this project with."
      },
      "code": {
        "type": [
          "string",
          "null"
        ],
        "description": "The code associated with the project."
      },
      "cost_budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "The monetary budget for the project when budgeting by money."
      },
      "cost_budget_include_expenses": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option for budget of Total Project Fees projects to include tracked expenses. Defaults to false."
      },
      "ends_on": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the project will end."
      },
      "fee": {
        "type": [
          "number",
          "null"
        ],
        "description": "The amount you plan to invoice for the project. Only used by fixed-fee projects."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Rate for projects billed by Project Hourly Rate."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is active or archived. Defaults to true."
      },
      "is_billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is billable or not."
      },
      "is_fixed_fee": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is a fixed-fee project or not."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the project."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Project notes."
      },
      "notify_when_over_budget": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether Project Managers should be notified when the project goes over budget. Defaults to false."
      },
      "over_budget_notification_percentage": {
        "type": [
          "number",
          "null"
        ],
        "description": "Percentage value used to trigger over budget email alerts. Example: use 10.0 for 10.0%."
      },
      "show_budget_to_all": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option to show project budget to all employees. Does not apply to Total Project Fee projects. Defaults to false."
      },
      "starts_on": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the project was started."
      }
    },
    "required": [
      "PCID",
      "bill_by",
      "budget_by",
      "client_id",
      "is_billable",
      "name"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_create\_task

Create a task

**Parameters:**

| Parameter             | Type    | Required | Default | Description |                                                                                                                    |
| --------------------- | ------- | -------- | ------- | ----------- | ------------------------------------------------------------------------------------------------------------------ |
| `billable_by_default` | boolean | null     | No      | —           | Used in determining whether default tasks should be marked billable when creating a new project. Defaults to true. |
| `default_hourly_rate` | number  | null     | No      | —           | The default hourly rate to use for this task when it is added to a project. Defaults to 0.                         |
| `is_active`           | boolean | null     | No      | —           | Whether this task is active or archived. Defaults to true.                                                         |
| `is_default`          | boolean | null     | No      | —           | Whether this task should be automatically added to future projects. Defaults to false.                             |
| `name`                | string  | null     | Yes     | —           | The name of the task.                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "billable_by_default": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Used in determining whether default tasks should be marked billable when creating a new project. Defaults to true."
      },
      "default_hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "The default hourly rate to use for this task when it is added to a project. Defaults to 0."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this task is active or archived. Defaults to true."
      },
      "is_default": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this task should be automatically added to future projects. Defaults to false."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the task."
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_create\_task\_assignment

Create a task assignment

**Parameters:**

| Parameter     | Type    | Required | Default | Description |                                                                                                                 |
| ------------- | ------- | -------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
| `projectId`   | string  | Yes      | —       | Project Id  |                                                                                                                 |
| `billable`    | boolean | null     | No      | —           | Whether the task assignment is billable or not. Defaults to false.                                              |
| `budget`      | number  | null     | No      | —           | Budget used when the project’s budget\_by is task or task\_fees.                                                |
| `hourly_rate` | number  | null     | No      | —           | Rate used when the project’s bill\_by is Tasks. Defaults to null when billing by task hourly rate, otherwise 0. |
| `is_active`   | boolean | null     | No      | —           | Whether the task assignment is active or archived. Defaults to true.                                            |
| `task_id`     | integer | null     | Yes     | —           | The ID of the task to associate with the project.                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the task assignment is billable or not. Defaults to false."
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "Budget used when the project’s budget_by is task or task_fees."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Rate used when the project’s bill_by is Tasks. Defaults to null when billing by task hourly rate, otherwise 0."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the task assignment is active or archived. Defaults to true."
      },
      "task_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the task to associate with the project."
      }
    },
    "required": [
      "PCID",
      "projectId",
      "task_id"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_create\_time\_entry

Create a time entry

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                                                                   |                                                                                                                                                                                                                               |
| -------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ended_time`         | string  | null     | No      | —                                                                                             | The time the entry ended. If provided, is\_running will be set to false. If not provided, is\_running will be set to true.                                                                                                    |
| `external_reference` | object  | No       | —       | An object containing the id, group\_id, account\_id, and permalink of the external reference. |                                                                                                                                                                                                                               |
| `hours`              | number  | null     | No      | —                                                                                             | The current amount of time tracked. If provided, the time entry will be created with the specified hours and is\_running will be set to false. If not provided, hours will be set to 0.0 and is\_running will be set to true. |
| `notes`              | string  | null     | No      | —                                                                                             | Any notes to be associated with the time entry.                                                                                                                                                                               |
| `project_id`         | integer | null     | Yes     | —                                                                                             | The ID of the project to associate with the time entry.                                                                                                                                                                       |
| `spent_date`         | string  | null     | Yes     | —                                                                                             | The ISO 8601 formatted date the time entry was spent.                                                                                                                                                                         |
| `started_time`       | string  | null     | No      | —                                                                                             | The time the entry started. Defaults to the current time. Example: “8:00am”.                                                                                                                                                  |
| `task_id`            | integer | null     | Yes     | —                                                                                             | The ID of the task to associate with the time entry.                                                                                                                                                                          |
| `user_id`            | integer | null     | No      | —                                                                                             | The ID of the user to associate with the time entry. Defaults to the currently authenticated user’s ID.                                                                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "ended_time": {
        "type": [
          "string",
          "null"
        ],
        "description": "The time the entry ended. If provided, is_running will be set to false. If not provided, is_running will be set to true."
      },
      "external_reference": {
        "type": "object",
        "description": "An object containing the id, group_id, account_id, and permalink of the external reference.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id value"
          },
          "group_id": {
            "type": "string",
            "description": "Group Id"
          },
          "account_id": {
            "type": "string",
            "description": "Account Id"
          },
          "permalink": {
            "type": "string",
            "description": "The permalink value"
          }
        }
      },
      "hours": {
        "type": [
          "number",
          "null"
        ],
        "description": "The current amount of time tracked. If provided, the time entry will be created with the specified hours and is_running will be set to false. If not provided, hours will be set to 0.0 and is_running will be set to true."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Any notes to be associated with the time entry."
      },
      "project_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the project to associate with the time entry."
      },
      "spent_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "The ISO 8601 formatted date the time entry was spent."
      },
      "started_time": {
        "type": [
          "string",
          "null"
        ],
        "description": "The time the entry started. Defaults to the current time. Example: “8:00am”."
      },
      "task_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the task to associate with the time entry."
      },
      "user_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the user to associate with the time entry. Defaults to the currently authenticated user’s ID."
      }
    },
    "required": [
      "PCID",
      "project_id",
      "spent_date",
      "task_id"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_create\_user\_assignment

Create a user assignment

**Parameters:**

| Parameter            | Type    | Required | Default | Description |                                                                                                                                                                                                                                                                             |
| -------------------- | ------- | -------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectId`          | string  | Yes      | —       | Project Id  |                                                                                                                                                                                                                                                                             |
| `budget`             | number  | null     | No      | —           | Budget used when the project’s budget\_by is person.                                                                                                                                                                                                                        |
| `hourly_rate`        | number  | null     | No      | —           | Custom rate used when the project’s bill\_by is People and use\_default\_rates is false. Defaults to 0.                                                                                                                                                                     |
| `is_active`          | boolean | null     | No      | —           | Whether the user assignment is active or archived. Defaults to true.                                                                                                                                                                                                        |
| `is_project_manager` | boolean | null     | No      | —           | Determines if the user has Project Manager permissions for the project. Defaults to false for users with Regular User permissions and true for those with Project Managers or Administrator permissions.                                                                    |
| `use_default_rates`  | boolean | null     | No      | —           | Determines which billable rate(s) will be used on the project for this user when bill\_by is People. When true, the project will use the user’s default billable rates. When false, the project will use the custom rate defined on this user assignment. Defaults to true. |
| `user_id`            | integer | null     | Yes     | —           | The ID of the user to associate with the project.                                                                                                                                                                                                                           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "Budget used when the project’s budget_by is person."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Custom rate used when the project’s bill_by is People and use_default_rates is false. Defaults to 0."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the user assignment is active or archived. Defaults to true."
      },
      "is_project_manager": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Determines if the user has Project Manager permissions for the project. Defaults to false for users with Regular User permissions and true for those with Project Managers or Administrator permissions."
      },
      "use_default_rates": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Determines which billable rate(s) will be used on the project for this user when bill_by is People. When true, the project will use the user’s default billable rates. When false, the project will use the custom rate defined on this user assignment. Defaults to true."
      },
      "user_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the user to associate with the project."
      }
    },
    "required": [
      "PCID",
      "projectId",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_project

Delete a project

**Parameters:**

| Parameter   | Type   | Required | Default | Description |
| ----------- | ------ | -------- | ------- | ----------- |
| `projectId` | string | Yes      | —       | Project Id  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      }
    },
    "required": [
      "PCID",
      "projectId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_task

Delete a task

**Parameters:**

| Parameter | Type   | Required | Default | Description |
| --------- | ------ | -------- | ------- | ----------- |
| `taskId`  | string | Yes      | —       | Task Id     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "taskId": {
        "type": "string",
        "description": "Task Id"
      }
    },
    "required": [
      "PCID",
      "taskId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_task\_assignment

Delete a task assignment

**Parameters:**

| Parameter          | Type   | Required | Default | Description        |
| ------------------ | ------ | -------- | ------- | ------------------ |
| `projectId`        | string | Yes      | —       | Project Id         |
| `taskAssignmentId` | string | Yes      | —       | Task Assignment Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "taskAssignmentId": {
        "type": "string",
        "description": "Task Assignment Id"
      }
    },
    "required": [
      "PCID",
      "projectId",
      "taskAssignmentId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_time\_entry

Delete a time entry

**Parameters:**

| Parameter     | Type   | Required | Default | Description   |
| ------------- | ------ | -------- | ------- | ------------- |
| `timeEntryId` | string | Yes      | —       | Time Entry Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_time\_entry\_external\_reference

Delete a time entry’s external reference

**Parameters:**

| Parameter     | Type   | Required | Default | Description   |
| ------------- | ------ | -------- | ------- | ------------- |
| `timeEntryId` | string | Yes      | —       | Time Entry Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_delete\_user\_assignment

Delete a user assignment

**Parameters:**

| Parameter          | Type   | Required | Default | Description        |
| ------------------ | ------ | -------- | ------- | ------------------ |
| `projectId`        | string | Yes      | —       | Project Id         |
| `userAssignmentId` | string | Yes      | —       | User Assignment Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "userAssignmentId": {
        "type": "string",
        "description": "User Assignment Id"
      }
    },
    "required": [
      "PCID",
      "projectId",
      "userAssignmentId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_projects

List all projects

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                     |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `is_active`     | boolean | No       | —       | Pass true to only return active projects and false to return inactive projects.                                                                                                                                 |
| `client_id`     | integer | No       | —       | Only return projects belonging to the client with the given ID.                                                                                                                                                 |
| `updated_since` | string  | No       | —       | Only return projects that have been updated since the given date and time.                                                                                                                                      |
| `page`          | integer | No       | —       | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `cursor`        | string  | No       | —       | Pagination cursor                                                                                                                                                                                               |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active projects and false to return inactive projects."
      },
      "client_id": {
        "type": "integer",
        "description": "Only return projects belonging to the client with the given ID."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return projects that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "cursor": {
        "type": "string",
        "description": "Pagination cursor"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_task\_assignments

List all task assignments

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                     |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `is_active`     | boolean | No       | —       | Pass true to only return active task assignments and false to return inactive task assignments.                                                                                                                 |
| `updated_since` | string  | No       | —       | Only return task assignments that have been updated since the given date and time.                                                                                                                              |
| `page`          | integer | No       | —       | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `cursor`        | string  | No       | —       | Pagination cursor                                                                                                                                                                                               |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active task assignments and false to return inactive task assignments."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return task assignments that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "cursor": {
        "type": "string",
        "description": "Pagination cursor"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_task\_assignments\_for\_specific\_project

List all task assignments for a specific project

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                          |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectId`     | string  | Yes      | —       | Project Id                                                                                                                                                                                           |
| `is_active`     | boolean | No       | —       | Pass true to only return active task assignments and false to return inactive task assignments.                                                                                                      |
| `updated_since` | string  | No       | —       | Only return task assignments that have been updated since the given date and time.                                                                                                                   |
| `page`          | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active task assignments and false to return inactive task assignments."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return task assignments that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "projectId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_tasks

List all tasks

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                     |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `is_active`     | boolean | No       | —       | Pass true to only return active tasks and false to return inactive tasks.                                                                                                                                       |
| `updated_since` | string  | No       | —       | Only return tasks that have been updated since the given date and time.                                                                                                                                         |
| `page`          | integer | No       | —       | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `cursor`        | string  | No       | —       | Pagination cursor                                                                                                                                                                                               |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active tasks and false to return inactive tasks."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return tasks that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "cursor": {
        "type": "string",
        "description": "Pagination cursor"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_time\_entries

List all time entries

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                                                                                                                                          |
| ----------------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`               | integer | No       | —       | Only return time entries belonging to the user with the given ID.                                                                                                                                    |
| `client_id`             | integer | No       | —       | Only return time entries belonging to the client with the given ID.                                                                                                                                  |
| `project_id`            | integer | No       | —       | Only return time entries belonging to the project with the given ID.                                                                                                                                 |
| `task_id`               | integer | No       | —       | Only return time entries belonging to the task with the given ID.                                                                                                                                    |
| `external_reference_id` | string  | No       | —       | Only return time entries with the given external\_reference ID.                                                                                                                                      |
| `is_billed`             | boolean | No       | —       | Pass true to only return time entries that have been invoiced and false to return time entries that have not been invoiced.                                                                          |
| `is_running`            | boolean | No       | —       | Pass true to only return running time entries and false to return non-running time entries.                                                                                                          |
| `approval_status`       | string  | No       | —       | Only return time entries with the given approval status. Possible values: “unsubmitted”, “submitted”, or “approved”.                                                                                 |
| `updated_since`         | string  | No       | —       | Only return time entries that have been updated since the given date and time. Use the ISO 8601 Format.                                                                                              |
| `from`                  | string  | No       | —       | Only return time entries with a spent\_date on or after the given date.                                                                                                                              |
| `to`                    | string  | No       | —       | Only return time entries with a spent\_date on or before the given date.                                                                                                                             |
| `page`                  | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`              | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "integer",
        "description": "Only return time entries belonging to the user with the given ID."
      },
      "client_id": {
        "type": "integer",
        "description": "Only return time entries belonging to the client with the given ID."
      },
      "project_id": {
        "type": "integer",
        "description": "Only return time entries belonging to the project with the given ID."
      },
      "task_id": {
        "type": "integer",
        "description": "Only return time entries belonging to the task with the given ID."
      },
      "external_reference_id": {
        "type": "string",
        "description": "Only return time entries with the given external_reference ID."
      },
      "is_billed": {
        "type": "boolean",
        "description": "Pass true to only return time entries that have been invoiced and false to return time entries that have not been invoiced."
      },
      "is_running": {
        "type": "boolean",
        "description": "Pass true to only return running time entries and false to return non-running time entries."
      },
      "approval_status": {
        "type": "string",
        "description": "Only return time entries with the given approval status. Possible values: “unsubmitted”, “submitted”, or “approved”."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return time entries that have been updated since the given date and time. Use the ISO 8601 Format."
      },
      "from": {
        "type": "string",
        "description": "Only return time entries with a spent_date on or after the given date."
      },
      "to": {
        "type": "string",
        "description": "Only return time entries with a spent_date on or before the given date."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_user\_assignments

List all user assignments

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                                     |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`       | integer | No       | —       | Only return user assignments belonging to the user with the given ID.                                                                                                                                           |
| `is_active`     | boolean | No       | —       | Pass true to only return active user assignments and false to return inactive user assignments.                                                                                                                 |
| `updated_since` | string  | No       | —       | Only return user assignments that have been updated since the given date and time.                                                                                                                              |
| `page`          | integer | No       | —       | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `cursor`        | string  | No       | —       | Pagination cursor                                                                                                                                                                                               |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "integer",
        "description": "Only return user assignments belonging to the user with the given ID."
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active user assignments and false to return inactive user assignments."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return user assignments that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "cursor": {
        "type": "string",
        "description": "Pagination cursor"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_list\_user\_assignments\_for\_specific\_project

List all user assignments for a specific project

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                                          |
| --------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectId`     | string  | Yes      | —       | Project Id                                                                                                                                                                                           |
| `user_id`       | integer | No       | —       | Only return user assignments belonging to the user with the given ID.                                                                                                                                |
| `is_active`     | boolean | No       | —       | Pass true to only return active user assignments and false to return inactive user assignments.                                                                                                      |
| `updated_since` | string  | No       | —       | Only return user assignments that have been updated since the given date and time.                                                                                                                   |
| `page`          | integer | No       | —       | The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
| `per_page`      | integer | No       | —       | The number of records to return per page. Can range between 1 and 2000. (Default: 2000)                                                                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "user_id": {
        "type": "integer",
        "description": "Only return user assignments belonging to the user with the given ID."
      },
      "is_active": {
        "type": "boolean",
        "description": "Pass true to only return active user assignments and false to return inactive user assignments."
      },
      "updated_since": {
        "type": "string",
        "description": "Only return user assignments that have been updated since the given date and time."
      },
      "page": {
        "type": "integer",
        "description": "The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1)"
      },
      "per_page": {
        "type": "integer",
        "description": "The number of records to return per page. Can range between 1 and 2000. (Default: 2000)"
      }
    },
    "required": [
      "PCID",
      "projectId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_restart\_stopped\_time\_entry

Restart a stopped time entry

**Parameters:**

| Parameter     | Type   | Required | Default | Description   |
| ------------- | ------ | -------- | ------- | ------------- |
| `timeEntryId` | string | Yes      | —       | Time Entry Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_retrieve\_project

Retrieve a project

**Parameters:**

| Parameter   | Type   | Required | Default | Description |
| ----------- | ------ | -------- | ------- | ----------- |
| `projectId` | string | Yes      | —       | Project Id  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      }
    },
    "required": [
      "PCID",
      "projectId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_retrieve\_task

Retrieve a task

**Parameters:**

| Parameter | Type   | Required | Default | Description |
| --------- | ------ | -------- | ------- | ----------- |
| `taskId`  | string | Yes      | —       | Task Id     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "taskId": {
        "type": "string",
        "description": "Task Id"
      }
    },
    "required": [
      "PCID",
      "taskId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_retrieve\_task\_assignment

Retrieve a task assignment

**Parameters:**

| Parameter          | Type   | Required | Default | Description        |
| ------------------ | ------ | -------- | ------- | ------------------ |
| `projectId`        | string | Yes      | —       | Project Id         |
| `taskAssignmentId` | string | Yes      | —       | Task Assignment Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "taskAssignmentId": {
        "type": "string",
        "description": "Task Assignment Id"
      }
    },
    "required": [
      "PCID",
      "projectId",
      "taskAssignmentId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_retrieve\_time\_entry

Retrieve a time entry

**Parameters:**

| Parameter     | Type   | Required | Default | Description   |
| ------------- | ------ | -------- | ------- | ------------- |
| `timeEntryId` | string | Yes      | —       | Time Entry Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_retrieve\_user\_assignment

Retrieve a user assignment

**Parameters:**

| Parameter          | Type   | Required | Default | Description        |
| ------------------ | ------ | -------- | ------- | ------------------ |
| `projectId`        | string | Yes      | —       | Project Id         |
| `userAssignmentId` | string | Yes      | —       | User Assignment Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "userAssignmentId": {
        "type": "string",
        "description": "User Assignment Id"
      }
    },
    "required": [
      "PCID",
      "projectId",
      "userAssignmentId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_stop\_running\_time\_entry

Stop a running time entry

**Parameters:**

| Parameter     | Type   | Required | Default | Description   |
| ------------- | ------ | -------- | ------- | ------------- |
| `timeEntryId` | string | Yes      | —       | Time Entry Id |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_update\_project

Update a project

**Parameters:**

| Parameter                             | Type    | Required | Default | Description |                                                                                                                                                                                                                        |
| ------------------------------------- | ------- | -------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectId`                           | string  | Yes      | —       | Project Id  |                                                                                                                                                                                                                        |
| `bill_by`                             | string  | null     | No      | —           | The method by which the project is invoiced. Options: Project, Tasks, People, or none.                                                                                                                                 |
| `budget`                              | number  | null     | No      | —           | The budget in hours for the project when budgeting by time.                                                                                                                                                            |
| `budget_by`                           | string  | null     | No      | —           | The method by which the project is budgeted. Options: project (Hours Per Project), project\_cost (Total Project Fees), task (Hours Per Task), task\_fees (Fees Per Task), person (Hours Per Person), none (No Budget). |
| `budget_is_monthly`                   | boolean | null     | No      | —           | Option to have the budget reset every month. Defaults to false.                                                                                                                                                        |
| `client_id`                           | integer | null     | No      | —           | The ID of the client to associate this project with.                                                                                                                                                                   |
| `code`                                | string  | null     | No      | —           | The code associated with the project.                                                                                                                                                                                  |
| `cost_budget`                         | number  | null     | No      | —           | The monetary budget for the project when budgeting by money.                                                                                                                                                           |
| `cost_budget_include_expenses`        | boolean | null     | No      | —           | Option for budget of Total Project Fees projects to include tracked expenses. Defaults to false.                                                                                                                       |
| `ends_on`                             | string  | null     | No      | —           | Date the project will end.                                                                                                                                                                                             |
| `fee`                                 | number  | null     | No      | —           | The amount you plan to invoice for the project. Only used by fixed-fee projects.                                                                                                                                       |
| `hourly_rate`                         | number  | null     | No      | —           | Rate for projects billed by Project Hourly Rate.                                                                                                                                                                       |
| `is_active`                           | boolean | null     | No      | —           | Whether the project is active or archived. Defaults to true.                                                                                                                                                           |
| `is_billable`                         | boolean | null     | No      | —           | Whether the project is billable or not.                                                                                                                                                                                |
| `is_fixed_fee`                        | boolean | null     | No      | —           | Whether the project is a fixed-fee project or not.                                                                                                                                                                     |
| `name`                                | string  | null     | No      | —           | The name of the project.                                                                                                                                                                                               |
| `notes`                               | string  | null     | No      | —           | Project notes.                                                                                                                                                                                                         |
| `notify_when_over_budget`             | boolean | null     | No      | —           | Whether Project Managers should be notified when the project goes over budget. Defaults to false.                                                                                                                      |
| `over_budget_notification_percentage` | number  | null     | No      | —           | Percentage value used to trigger over budget email alerts. Example: use 10.0 for 10.0%.                                                                                                                                |
| `show_budget_to_all`                  | boolean | null     | No      | —           | Option to show project budget to all employees. Does not apply to Total Project Fee projects. Defaults to false.                                                                                                       |
| `starts_on`                           | string  | null     | No      | —           | Date the project was started.                                                                                                                                                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "bill_by": {
        "type": [
          "string",
          "null"
        ],
        "description": "The method by which the project is invoiced. Options: Project, Tasks, People, or none."
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "The budget in hours for the project when budgeting by time."
      },
      "budget_by": {
        "type": [
          "string",
          "null"
        ],
        "description": "The method by which the project is budgeted. Options: project (Hours Per Project), project_cost (Total Project Fees), task (Hours Per Task), task_fees (Fees Per Task), person (Hours Per Person), none (No Budget)."
      },
      "budget_is_monthly": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option to have the budget reset every month. Defaults to false."
      },
      "client_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the client to associate this project with."
      },
      "code": {
        "type": [
          "string",
          "null"
        ],
        "description": "The code associated with the project."
      },
      "cost_budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "The monetary budget for the project when budgeting by money."
      },
      "cost_budget_include_expenses": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option for budget of Total Project Fees projects to include tracked expenses. Defaults to false."
      },
      "ends_on": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the project will end."
      },
      "fee": {
        "type": [
          "number",
          "null"
        ],
        "description": "The amount you plan to invoice for the project. Only used by fixed-fee projects."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Rate for projects billed by Project Hourly Rate."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is active or archived. Defaults to true."
      },
      "is_billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is billable or not."
      },
      "is_fixed_fee": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the project is a fixed-fee project or not."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the project."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Project notes."
      },
      "notify_when_over_budget": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether Project Managers should be notified when the project goes over budget. Defaults to false."
      },
      "over_budget_notification_percentage": {
        "type": [
          "number",
          "null"
        ],
        "description": "Percentage value used to trigger over budget email alerts. Example: use 10.0 for 10.0%."
      },
      "show_budget_to_all": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Option to show project budget to all employees. Does not apply to Total Project Fee projects. Defaults to false."
      },
      "starts_on": {
        "type": [
          "string",
          "null"
        ],
        "description": "Date the project was started."
      }
    },
    "required": [
      "PCID",
      "projectId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_update\_task

Update a task

**Parameters:**

| Parameter             | Type    | Required | Default | Description |                                                                                                  |
| --------------------- | ------- | -------- | ------- | ----------- | ------------------------------------------------------------------------------------------------ |
| `taskId`              | string  | Yes      | —       | Task Id     |                                                                                                  |
| `billable_by_default` | boolean | null     | No      | —           | Used in determining whether default tasks should be marked billable when creating a new project. |
| `default_hourly_rate` | number  | null     | No      | —           | The default hourly rate to use for this task when it is added to a project.                      |
| `is_active`           | boolean | null     | No      | —           | Whether this task is active or archived.                                                         |
| `is_default`          | boolean | null     | No      | —           | Whether this task should be automatically added to future projects.                              |
| `name`                | string  | null     | No      | —           | The name of the task.                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "taskId": {
        "type": "string",
        "description": "Task Id"
      },
      "billable_by_default": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Used in determining whether default tasks should be marked billable when creating a new project."
      },
      "default_hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "The default hourly rate to use for this task when it is added to a project."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this task is active or archived."
      },
      "is_default": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether this task should be automatically added to future projects."
      },
      "name": {
        "type": [
          "string",
          "null"
        ],
        "description": "The name of the task."
      }
    },
    "required": [
      "PCID",
      "taskId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_update\_task\_assignment

Update a task assignment

**Parameters:**

| Parameter          | Type    | Required | Default | Description        |                                                                  |
| ------------------ | ------- | -------- | ------- | ------------------ | ---------------------------------------------------------------- |
| `projectId`        | string  | Yes      | —       | Project Id         |                                                                  |
| `taskAssignmentId` | string  | Yes      | —       | Task Assignment Id |                                                                  |
| `billable`         | boolean | null     | No      | —                  | Whether the task assignment is billable or not.                  |
| `budget`           | number  | null     | No      | —                  | Budget used when the project’s budget\_by is task or task\_fees. |
| `hourly_rate`      | number  | null     | No      | —                  | Rate used when the project’s bill\_by is Tasks.                  |
| `is_active`        | boolean | null     | No      | —                  | Whether the task assignment is active or archived.               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "taskAssignmentId": {
        "type": "string",
        "description": "Task Assignment Id"
      },
      "billable": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the task assignment is billable or not."
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "Budget used when the project’s budget_by is task or task_fees."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Rate used when the project’s bill_by is Tasks."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the task assignment is active or archived."
      }
    },
    "required": [
      "PCID",
      "projectId",
      "taskAssignmentId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_update\_time\_entry

Update a time entry

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                                                                   |                                                                              |
| -------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `timeEntryId`        | string  | Yes      | —       | Time Entry Id                                                                                 |                                                                              |
| `ended_time`         | string  | null     | No      | —                                                                                             | The time the entry ended.                                                    |
| `external_reference` | object  | No       | —       | An object containing the id, group\_id, account\_id, and permalink of the external reference. |                                                                              |
| `hours`              | number  | null     | No      | —                                                                                             | The current amount of time tracked.                                          |
| `notes`              | string  | null     | No      | —                                                                                             | Any notes to be associated with the time entry.                              |
| `project_id`         | integer | null     | No      | —                                                                                             | The ID of the project to associate with the time entry.                      |
| `spent_date`         | string  | null     | No      | —                                                                                             | The ISO 8601 formatted date the time entry was spent.                        |
| `started_time`       | string  | null     | No      | —                                                                                             | The time the entry started. Defaults to the current time. Example: “8:00am”. |
| `task_id`            | integer | null     | No      | —                                                                                             | The ID of the task to associate with the time entry.                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "timeEntryId": {
        "type": "string",
        "description": "Time Entry Id"
      },
      "ended_time": {
        "type": [
          "string",
          "null"
        ],
        "description": "The time the entry ended."
      },
      "external_reference": {
        "type": "object",
        "description": "An object containing the id, group_id, account_id, and permalink of the external reference.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id value"
          },
          "group_id": {
            "type": "string",
            "description": "Group Id"
          },
          "account_id": {
            "type": "string",
            "description": "Account Id"
          },
          "permalink": {
            "type": "string",
            "description": "The permalink value"
          }
        }
      },
      "hours": {
        "type": [
          "number",
          "null"
        ],
        "description": "The current amount of time tracked."
      },
      "notes": {
        "type": [
          "string",
          "null"
        ],
        "description": "Any notes to be associated with the time entry."
      },
      "project_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the project to associate with the time entry."
      },
      "spent_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "The ISO 8601 formatted date the time entry was spent."
      },
      "started_time": {
        "type": [
          "string",
          "null"
        ],
        "description": "The time the entry started. Defaults to the current time. Example: “8:00am”."
      },
      "task_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "The ID of the task to associate with the time entry."
      }
    },
    "required": [
      "PCID",
      "timeEntryId"
    ]
  }
  ```
</Expandable>

***

## harvest\_projects\_update\_user\_assignment

Update a user assignment

**Parameters:**

| Parameter            | Type    | Required | Default | Description        |                                                                                                                                                                                                                                                           |
| -------------------- | ------- | -------- | ------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectId`          | string  | Yes      | —       | Project Id         |                                                                                                                                                                                                                                                           |
| `userAssignmentId`   | string  | Yes      | —       | User Assignment Id |                                                                                                                                                                                                                                                           |
| `budget`             | number  | null     | No      | —                  | Budget used when the project’s budget\_by is person.                                                                                                                                                                                                      |
| `hourly_rate`        | number  | null     | No      | —                  | Custom rate used when the project’s bill\_by is People and use\_default\_rates is false.                                                                                                                                                                  |
| `is_active`          | boolean | null     | No      | —                  | Whether the user assignment is active or archived.                                                                                                                                                                                                        |
| `is_project_manager` | boolean | null     | No      | —                  | Determines if the user has Project Manager permissions for the project.                                                                                                                                                                                   |
| `use_default_rates`  | boolean | null     | No      | —                  | Determines which billable rate(s) will be used on the project for this user when bill\_by is People. When true, the project will use the user’s default billable rates. When false, the project will use the custom rate defined on this user assignment. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "projectId": {
        "type": "string",
        "description": "Project Id"
      },
      "userAssignmentId": {
        "type": "string",
        "description": "User Assignment Id"
      },
      "budget": {
        "type": [
          "number",
          "null"
        ],
        "description": "Budget used when the project’s budget_by is person."
      },
      "hourly_rate": {
        "type": [
          "number",
          "null"
        ],
        "description": "Custom rate used when the project’s bill_by is People and use_default_rates is false."
      },
      "is_active": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether the user assignment is active or archived."
      },
      "is_project_manager": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Determines if the user has Project Manager permissions for the project."
      },
      "use_default_rates": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Determines which billable rate(s) will be used on the project for this user when bill_by is People. When true, the project will use the user’s default billable rates. When false, the project will use the custom rate defined on this user assignment."
      }
    },
    "required": [
      "PCID",
      "projectId",
      "userAssignmentId"
    ]
  }
  ```
</Expandable>
