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

# freshcaller

> Freshcaller Phone System

**Server path:** `/freshcaller` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                | Description                 |
| ------------------------------------------------------------------- | --------------------------- |
| [`freshcaller_create_team`](#freshcaller_create_team)               | Create a team               |
| [`freshcaller_create_user`](#freshcaller_create_user)               | Create a user               |
| [`freshcaller_delete_recording`](#freshcaller_delete_recording)     | Delete a call recording     |
| [`freshcaller_download_recording`](#freshcaller_download_recording) | Download a call recording   |
| [`freshcaller_get_call`](#freshcaller_get_call)                     | Get a call                  |
| [`freshcaller_get_call_metrics`](#freshcaller_get_call_metrics)     | Get call metrics for a call |
| [`freshcaller_get_team`](#freshcaller_get_team)                     | Get a team                  |
| [`freshcaller_get_user`](#freshcaller_get_user)                     | Get a user                  |
| [`freshcaller_list_call_metrics`](#freshcaller_list_call_metrics)   | List call metrics           |
| [`freshcaller_list_calls`](#freshcaller_list_calls)                 | List all calls              |
| [`freshcaller_list_teams`](#freshcaller_list_teams)                 | List all teams              |
| [`freshcaller_list_user_statuses`](#freshcaller_list_user_statuses) | List user statuses          |
| [`freshcaller_list_users`](#freshcaller_list_users)                 | List all users              |
| [`freshcaller_update_team`](#freshcaller_update_team)               | Update a team               |
| [`freshcaller_update_user`](#freshcaller_update_user)               | Update a user               |

***

## freshcaller\_create\_team

Create a team

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                  |
| ------------- | --------- | -------- | ------- | -------------------------------------------- |
| `description` | string    | No       | —       | Description of the team.                     |
| `name`        | string    | Yes      | —       | Name of the team.                            |
| `users`       | object\[] | No       | —       | Array of user objects to assign to the team. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "description": {
        "type": "string",
        "description": "Description of the team."
      },
      "name": {
        "type": "string",
        "description": "Name of the team."
      },
      "users": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "User ID."
            }
          }
        },
        "description": "Array of user objects to assign to the team."
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_create\_user

Create a user

**Parameters:**

| Parameter | Type   | Required | Default | Description                 |
| --------- | ------ | -------- | ------- | --------------------------- |
| `email`   | string | Yes      | —       | Email address of the user.  |
| `role`    | string | Yes      | —       | Role to assign to the user. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "email": {
        "type": "string",
        "description": "Email address of the user."
      },
      "role": {
        "type": "string",
        "description": "Role to assign to the user.",
        "enum": [
          "Account Admin",
          "Admin",
          "Supervisor",
          "Agent"
        ]
      }
    },
    "required": [
      "PCID",
      "email",
      "role"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_delete\_recording

Delete a call recording

**Parameters:**

| Parameter      | Type    | Required | Default | Description                        |
| -------------- | ------- | -------- | ------- | ---------------------------------- |
| `call_id`      | integer | Yes      | —       | The ID of the call.                |
| `recording_id` | integer | Yes      | —       | The ID of the recording to delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "call_id": {
        "type": "integer",
        "description": "The ID of the call."
      },
      "recording_id": {
        "type": "integer",
        "description": "The ID of the recording to delete."
      }
    },
    "required": [
      "PCID",
      "call_id",
      "recording_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_download\_recording

Download a call recording

**Parameters:**

| Parameter      | Type    | Required | Default | Description              |
| -------------- | ------- | -------- | ------- | ------------------------ |
| `call_id`      | integer | Yes      | —       | The ID of the call.      |
| `recording_id` | integer | Yes      | —       | The ID of the recording. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "call_id": {
        "type": "integer",
        "description": "The ID of the call."
      },
      "recording_id": {
        "type": "integer",
        "description": "The ID of the recording."
      }
    },
    "required": [
      "PCID",
      "call_id",
      "recording_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_get\_call

Get a call

**Parameters:**

| Parameter | Type    | Required | Default | Description         |
| --------- | ------- | -------- | ------- | ------------------- |
| `call_id` | integer | Yes      | —       | The ID of the call. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "call_id": {
        "type": "integer",
        "description": "The ID of the call."
      }
    },
    "required": [
      "PCID",
      "call_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_get\_call\_metrics

Get call metrics for a call

**Parameters:**

| Parameter | Type    | Required | Default | Description         |
| --------- | ------- | -------- | ------- | ------------------- |
| `call_id` | integer | Yes      | —       | The ID of the call. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "call_id": {
        "type": "integer",
        "description": "The ID of the call."
      }
    },
    "required": [
      "PCID",
      "call_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_get\_team

Get a team

**Parameters:**

| Parameter | Type    | Required | Default | Description         |
| --------- | ------- | -------- | ------- | ------------------- |
| `team_id` | integer | Yes      | —       | The ID of the team. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "team_id": {
        "type": "integer",
        "description": "The ID of the team."
      }
    },
    "required": [
      "PCID",
      "team_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_get\_user

Get a user

**Parameters:**

| Parameter | Type    | Required | Default | Description         |
| --------- | ------- | -------- | ------- | ------------------- |
| `user_id` | integer | Yes      | —       | The ID of the user. |

<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": "The ID of the user."
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_list\_call\_metrics

List call metrics

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                   |
| --------------- | ------- | -------- | ------- | ----------------------------------------------------------------------------- |
| `page`          | integer | No       | —       | Page number.                                                                  |
| `per_page`      | integer | No       | —       | Number of results per page.                                                   |
| `by_time[from]` | string  | No       | —       | Start of time range filter (UTC timestamp). Must be used with by\_time\[to].  |
| `by_time[to]`   | string  | No       | —       | End of time range filter (UTC timestamp). Must be used with by\_time\[from].  |
| `include`       | string  | No       | —       | Include additional data. Use 'life\_cycle' to include call life cycle events. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number."
      },
      "per_page": {
        "type": "integer",
        "description": "Number of results per page."
      },
      "by_time[from]": {
        "type": "string",
        "description": "Start of time range filter (UTC timestamp). Must be used with by_time[to]."
      },
      "by_time[to]": {
        "type": "string",
        "description": "End of time range filter (UTC timestamp). Must be used with by_time[from]."
      },
      "include": {
        "type": "string",
        "description": "Include additional data. Use 'life_cycle' to include call life cycle events.",
        "enum": [
          "life_cycle"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_list\_calls

List all calls

**Parameters:**

| Parameter  | Type    | Required | Default | Description                 |
| ---------- | ------- | -------- | ------- | --------------------------- |
| `page`     | integer | No       | —       | Page number.                |
| `per_page` | integer | No       | —       | Number of results per page. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number."
      },
      "per_page": {
        "type": "integer",
        "description": "Number of results per page."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_list\_teams

List all teams

**Parameters:**

| Parameter  | Type    | Required | Default | Description                 |
| ---------- | ------- | -------- | ------- | --------------------------- |
| `page`     | integer | No       | —       | Page number.                |
| `per_page` | integer | No       | —       | Number of results per page. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number."
      },
      "per_page": {
        "type": "integer",
        "description": "Number of results per page."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_list\_user\_statuses

List user statuses

**Parameters:**

| Parameter  | Type    | Required | Default | Description                 |
| ---------- | ------- | -------- | ------- | --------------------------- |
| `page`     | integer | No       | —       | Page number.                |
| `per_page` | integer | No       | —       | Number of results per page. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number."
      },
      "per_page": {
        "type": "integer",
        "description": "Number of results per page."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_list\_users

List all users

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------- |
| `page`     | integer | No       | —       | Page number (default: 1).                            |
| `per_page` | integer | No       | —       | Number of results per page (default: 10, max: 1000). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number (default: 1)."
      },
      "per_page": {
        "type": "integer",
        "description": "Number of results per page (default: 10, max: 1000)."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_update\_team

Update a team

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                  |
| ------------- | --------- | -------- | ------- | -------------------------------------------- |
| `team_id`     | integer   | Yes      | —       | The ID of the team to update.                |
| `description` | string    | No       | —       | Description of the team.                     |
| `name`        | string    | No       | —       | Name of the team.                            |
| `users`       | object\[] | No       | —       | Array of user objects to assign to the team. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "team_id": {
        "type": "integer",
        "description": "The ID of the team to update."
      },
      "description": {
        "type": "string",
        "description": "Description of the team."
      },
      "name": {
        "type": "string",
        "description": "Name of the team."
      },
      "users": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "User ID."
            }
          }
        },
        "description": "Array of user objects to assign to the team."
      }
    },
    "required": [
      "PCID",
      "team_id"
    ]
  }
  ```
</Expandable>

***

## freshcaller\_update\_user

Update a user

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                              |
| ----------------------- | ------- | -------- | ------- | -------------------------------------------------------- |
| `user_id`               | integer | Yes      | —       | The ID of the user to update.                            |
| `deleted`               | boolean | No       | —       | Set to true to soft-delete the user.                     |
| `email`                 | string  | No       | —       | Email address of the user.                               |
| `mobile_app_preference` | integer | No       | —       | Mobile app status preference ID.                         |
| `preference`            | integer | No       | —       | User status preference ID (from user-statuses endpoint). |
| `role`                  | string  | No       | —       | Role to assign.                                          |

<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": "The ID of the user to update."
      },
      "deleted": {
        "type": "boolean",
        "description": "Set to true to soft-delete the user."
      },
      "email": {
        "type": "string",
        "description": "Email address of the user."
      },
      "mobile_app_preference": {
        "type": "integer",
        "description": "Mobile app status preference ID."
      },
      "preference": {
        "type": "integer",
        "description": "User status preference ID (from user-statuses endpoint)."
      },
      "role": {
        "type": "string",
        "description": "Role to assign.",
        "enum": [
          "Account Admin",
          "Admin",
          "Supervisor",
          "Agent"
        ]
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>
