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

# buildops-service-agreements

> BuildOps Service Agreements - agreements, types, checklists, budgets, recurrence definitions, work types

**Server path:** `/buildops-service-agreements` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                                                          | Description                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [`buildops-service-agreements_create_task_template_product`](#buildops-service-agreements_create_task_template_product)                                       | Add product                         |
| [`buildops-service-agreements_delete_task_template_product`](#buildops-service-agreements_delete_task_template_product)                                       | Delete product                      |
| [`buildops-service-agreements_delete_v1_service_agreement_asset_checklist`](#buildops-service-agreements_delete_v1_service_agreement_asset_checklist)         | Delete asset checklist              |
| [`buildops-service-agreements_delete_v1_service_agreement_property`](#buildops-service-agreements_delete_v1_service_agreement_property)                       | Delete customer property            |
| [`buildops-service-agreements_delete_v1_service_agreement_property_checklist`](#buildops-service-agreements_delete_v1_service_agreement_property_checklist)   | Delete customer property checklist  |
| [`buildops-service-agreements_delete_v1_service_agreement_task_template`](#buildops-service-agreements_delete_v1_service_agreement_task_template)             | Delete task template                |
| [`buildops-service-agreements_get_agreement_budgets`](#buildops-service-agreements_get_agreement_budgets)                                                     | Get budget information              |
| [`buildops-service-agreements_get_agreement_recurrence_definitions`](#buildops-service-agreements_get_agreement_recurrence_definitions)                       | Get recurrence definitions          |
| [`buildops-service-agreements_get_task_template_products`](#buildops-service-agreements_get_task_template_products)                                           | Fetch products                      |
| [`buildops-service-agreements_get_v1_checklists`](#buildops-service-agreements_get_v1_checklists)                                                             | Fetch checklists                    |
| [`buildops-service-agreements_get_v1_service_agreement`](#buildops-service-agreements_get_v1_service_agreement)                                               | Fetch Service Agreements            |
| [`buildops-service-agreements_get_v1_service_agreement_asset_checklists`](#buildops-service-agreements_get_v1_service_agreement_asset_checklists)             | Fetch asset checklists              |
| [`buildops-service-agreements_get_v1_service_agreement_properties`](#buildops-service-agreements_get_v1_service_agreement_properties)                         | Fetch customer properties           |
| [`buildops-service-agreements_get_v1_service_agreement_property_checklists`](#buildops-service-agreements_get_v1_service_agreement_property_checklists)       | Fetch customer property checklists  |
| [`buildops-service-agreements_get_v1_service_agreement_service_agreement_id`](#buildops-service-agreements_get_v1_service_agreement_service_agreement_id)     | Get service agreement by ID         |
| [`buildops-service-agreements_get_v1_service_agreement_task_templates`](#buildops-service-agreements_get_v1_service_agreement_task_templates)                 | Fetch task templates                |
| [`buildops-service-agreements_get_v1_service_agreement_type_by_id`](#buildops-service-agreements_get_v1_service_agreement_type_by_id)                         | Get service agreement type by ID    |
| [`buildops-service-agreements_get_v1_service_agreement_types`](#buildops-service-agreements_get_v1_service_agreement_types)                                   | Fetch service agreement types       |
| [`buildops-service-agreements_get_v1_work_types`](#buildops-service-agreements_get_v1_work_types)                                                             | List work types                     |
| [`buildops-service-agreements_patch_agreement_recurrence_definition`](#buildops-service-agreements_patch_agreement_recurrence_definition)                     | Update a recurrence definition      |
| [`buildops-service-agreements_patch_agreement_recurrence_definition_year`](#buildops-service-agreements_patch_agreement_recurrence_definition_year)           | Update a recurrence definition year |
| [`buildops-service-agreements_patch_v1_service_agreement_service_agreement_id`](#buildops-service-agreements_patch_v1_service_agreement_service_agreement_id) | Update service agreement by ID      |
| [`buildops-service-agreements_patch_v1_service_agreement_task_template`](#buildops-service-agreements_patch_v1_service_agreement_task_template)               | Update task template                |
| [`buildops-service-agreements_post_v1_service_agreement`](#buildops-service-agreements_post_v1_service_agreement)                                             | Create service agreement            |
| [`buildops-service-agreements_post_v1_service_agreement_asset_checklist`](#buildops-service-agreements_post_v1_service_agreement_asset_checklist)             | Add asset checklist                 |
| [`buildops-service-agreements_post_v1_service_agreement_property`](#buildops-service-agreements_post_v1_service_agreement_property)                           | Add customer property               |
| [`buildops-service-agreements_post_v1_service_agreement_property_checklist`](#buildops-service-agreements_post_v1_service_agreement_property_checklist)       | Add customer property checklist     |
| [`buildops-service-agreements_post_v1_service_agreement_task_template`](#buildops-service-agreements_post_v1_service_agreement_task_template)                 | Create task template                |
| [`buildops-service-agreements_update_budget_buckets`](#buildops-service-agreements_update_budget_buckets)                                                     | Update budget buckets               |
| [`buildops-service-agreements_update_task_template_product`](#buildops-service-agreements_update_task_template_product)                                       | Update product                      |

***

## buildops-service-agreements\_create\_task\_template\_product

Add product

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                |
| -------------------- | ------- | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string  | Yes      | —       | Unique identifier of the service agreement |
| `task_template_id`   | string  | Yes      | —       | ID of the task template                    |
| `property_id`        | string  | No       | —       | ID of the property                         |
| `asset_id`           | string  | No       | —       | ID of the asset                            |
| `description`        | string  | No       | —       | Description override for the product       |
| `productId`          | string  | Yes      | —       | ID of the product                          |
| `quantity`           | integer | Yes      | —       | Quantity of the product                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      },
      "description": {
        "type": "string",
        "description": "Description override for the product"
      },
      "productId": {
        "type": "string",
        "description": "ID of the product"
      },
      "quantity": {
        "type": "integer",
        "description": "Quantity of the product"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "task_template_id",
      "productId",
      "quantity"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_delete\_task\_template\_product

Delete product

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                |
| -------------------- | ------ | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string | Yes      | —       | Unique identifier of the service agreement |
| `id`                 | string | Yes      | —       | ID of the task template product to delete  |
| `task_template_id`   | string | Yes      | —       | ID of the task template                    |
| `property_id`        | string | No       | —       | ID of the property                         |
| `asset_id`           | string | No       | —       | ID of the asset                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "id": {
        "type": "string",
        "description": "ID of the task template product to delete"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "id",
      "task_template_id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_delete\_v1\_service\_agreement\_asset\_checklist

Delete asset checklist

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                                                                   |
| ---------------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------- |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement                                                    |
| `id`                         | string  | Yes      | —       | ID of the asset checklist association to delete                                               |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities such as maintenance templates associated with this asset checklist |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "id": {
        "type": "string",
        "description": "ID of the asset checklist association to delete"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities such as maintenance templates associated with this asset checklist"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_delete\_v1\_service\_agreement\_property

Delete customer property

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                              |
| ---------------------------- | ------- | -------- | ------- | -------------------------------------------------------- |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement               |
| `propertyId`                 | string  | Yes      | —       | Unique identifier of the property to remove              |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities associated with this property |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "propertyId": {
        "type": "string",
        "description": "Unique identifier of the property to remove"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities associated with this property"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "propertyId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_delete\_v1\_service\_agreement\_property\_checklist

Delete customer property checklist

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                                                                      |
| ---------------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------ |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement                                                       |
| `id`                         | string  | Yes      | —       | ID of the property checklist association to delete                                               |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities such as maintenance templates associated with this property checklist |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "id": {
        "type": "string",
        "description": "ID of the property checklist association to delete"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities such as maintenance templates associated with this property checklist"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_delete\_v1\_service\_agreement\_task\_template

Delete task template

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                                                                 |
| ---------------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------- |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement                                                  |
| `task_template_id`           | string  | Yes      | —       | ID of the task template                                                                     |
| `property_id`                | string  | No       | —       | ID of the property                                                                          |
| `asset_id`                   | string  | No       | —       | ID of the asset                                                                             |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities such as maintenance templates associated with this task template |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities such as maintenance templates associated with this task template"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "task_template_id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_agreement\_budgets

Get budget information

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                                       |
| -------------------- | ------ | -------- | ------- | ----------------------------------------------------------------- |
| `serviceAgreementId` | string | Yes      | —       | Service agreement ID                                              |
| `customerPropertyId` | string | No       | —       | Customer property ID (required for SEPARATE property bundle mode) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Service agreement ID"
      },
      "customerPropertyId": {
        "type": "string",
        "description": "Customer property ID (required for SEPARATE property bundle mode)"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_agreement\_recurrence\_definitions

Get recurrence definitions

**Parameters:**

| Parameter            | Type   | Required | Default | Description          |
| -------------------- | ------ | -------- | ------- | -------------------- |
| `serviceAgreementId` | string | Yes      | —       | Service Agreement ID |

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

***

## buildops-service-agreements\_get\_task\_template\_products

Fetch products

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                |
| -------------------- | ------- | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string  | Yes      | —       | Unique identifier of the service agreement |
| `task_template_id`   | string  | Yes      | —       | ID of the task template                    |
| `property_id`        | string  | No       | —       | ID of the property                         |
| `asset_id`           | string  | No       | —       | ID of the asset                            |
| `page`               | integer | No       | —       | The page to get (0-indexed)                |
| `page_size`          | integer | No       | —       | The number of items to get per page        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      },
      "page": {
        "type": "integer",
        "description": "The page to get (0-indexed)"
      },
      "page_size": {
        "type": "integer",
        "description": "The number of items to get per page"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "task_template_id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_checklists

Fetch checklists

**Parameters:**

| Parameter        | Type   | Required | Default | Description                            |
| ---------------- | ------ | -------- | ------- | -------------------------------------- |
| `asset_type_id`  | string | No       | —       | Asset type ID to filter checklists by. |
| `checklist_type` | string | No       | —       | Type of checklist to filter by         |
| `page`           | string | No       | —       | The page to get (0-indexed)            |
| `page_size`      | string | No       | —       | The number of items to get per page    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "asset_type_id": {
        "type": "string",
        "description": "Asset type ID to filter checklists by."
      },
      "checklist_type": {
        "type": "string",
        "description": "Type of checklist to filter by",
        "enum": [
          "PROPERTY_CHECKLIST",
          "ASSET_CHECKLIST"
        ]
      },
      "page": {
        "type": "string",
        "description": "The page to get (0-indexed)"
      },
      "page_size": {
        "type": "string",
        "description": "The number of items to get per page"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement

Fetch Service Agreements

**Parameters:**

| Parameter                   | Type   | Required | Default | Description                                                                                                                   |
| --------------------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `customer_id`               | string | No       | —       | Customer ID to filter service agreements by.                                                                                  |
| `page`                      | string | No       | —       | The page to get (0-indexed)                                                                                                   |
| `page_size`                 | string | No       | —       | The number of items to get per page                                                                                           |
| `start`                     | string | No       | —       | ISO 8601 string to filter data based on last modified date time                                                               |
| `end`                       | string | No       | —       | ISO 8601 string to filter data based on last modified date time                                                               |
| `dateFilterType`            | string | No       | —       | The filter type for the filtering based on different dates (possible values createdDate, lastUpdatedDate, startDate, endDate) |
| `advanced_scheduling_state` | string | No       | —       | Filter by advanced scheduling state                                                                                           |
| `agreement_number`          | string | No       | —       | Filter service agreements by agreement number                                                                                 |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "customer_id": {
        "type": "string",
        "description": "Customer ID to filter service agreements by."
      },
      "page": {
        "type": "string",
        "description": "The page to get (0-indexed)"
      },
      "page_size": {
        "type": "string",
        "description": "The number of items to get per page"
      },
      "start": {
        "type": "string",
        "description": "ISO 8601 string to filter data based on last modified date time"
      },
      "end": {
        "type": "string",
        "description": "ISO 8601 string to filter data based on last modified date time"
      },
      "dateFilterType": {
        "type": "string",
        "description": "The filter type for the filtering based on different dates (possible values createdDate, lastUpdatedDate, startDate, endDate)"
      },
      "advanced_scheduling_state": {
        "type": "string",
        "description": "Filter by advanced scheduling state",
        "enum": [
          "DRAFT",
          "ACTIVE",
          "ACTIVATING",
          "UNDER_REVISION",
          "ERROR",
          "EXPIRED",
          "CANCELED"
        ]
      },
      "agreement_number": {
        "type": "string",
        "description": "Filter service agreements by agreement number"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_asset\_checklists

Fetch asset checklists

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                |
| -------------------- | ------- | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string  | Yes      | —       | Unique identifier of the service agreement |
| `page`               | integer | No       | —       | Page number for pagination                 |
| `page_size`          | integer | No       | —       | Number of items per page                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "page": {
        "type": "integer",
        "description": "Page number for pagination"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of items per page"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_properties

Fetch customer properties

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                  |
| -------------------- | ------ | -------- | ------- | -------------------------------------------- |
| `serviceAgreementId` | string | Yes      | —       | Unique identifier of the service agreement   |
| `page`               | string | No       | —       | The page number to retrieve (0-indexed)      |
| `page_size`          | string | No       | —       | Number of items to return per page (max 100) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "page": {
        "type": "string",
        "description": "The page number to retrieve (0-indexed)"
      },
      "page_size": {
        "type": "string",
        "description": "Number of items to return per page (max 100)"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_property\_checklists

Fetch customer property checklists

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                |
| -------------------- | ------- | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string  | Yes      | —       | Unique identifier of the service agreement |
| `page`               | integer | No       | —       | Page number for pagination                 |
| `page_size`          | integer | No       | —       | Number of items per page                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "page": {
        "type": "integer",
        "description": "Page number for pagination"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of items per page"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_service\_agreement\_id

Get service agreement by ID

**Parameters:**

| Parameter            | Type   | Required | Default | Description          |
| -------------------- | ------ | -------- | ------- | -------------------- |
| `serviceAgreementId` | string | Yes      | —       | Service Agreement ID |

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

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_task\_templates

Fetch task templates

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                |
| -------------------- | ------- | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string  | Yes      | —       | Unique identifier of the service agreement |
| `page`               | integer | No       | —       | Page number for pagination                 |
| `page_size`          | integer | No       | —       | Number of items per page                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "page": {
        "type": "integer",
        "description": "Page number for pagination"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of items per page"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_type\_by\_id

Get service agreement type by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description                                     |
| --------- | ------ | -------- | ------- | ----------------------------------------------- |
| `id`      | string | Yes      | —       | Unique identifier of the service agreement type |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Unique identifier of the service agreement type"
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_service\_agreement\_types

Fetch service agreement types

**Parameters:**

| Parameter   | Type    | Required | Default | Description                         |
| ----------- | ------- | -------- | ------- | ----------------------------------- |
| `page`      | integer | No       | —       | The page to get (0-indexed)         |
| `page_size` | integer | No       | —       | The number of items to get 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": "The page to get (0-indexed)"
      },
      "page_size": {
        "type": "integer",
        "description": "The number of items to get per page"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_get\_v1\_work\_types

List work types

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

***

## buildops-service-agreements\_patch\_agreement\_recurrence\_definition

Update a recurrence definition

**Parameters:**

| Parameter                | Type    | Required | Default | Description                            |                                 |
| ------------------------ | ------- | -------- | ------- | -------------------------------------- | ------------------------------- |
| `serviceAgreementId`     | string  | Yes      | —       | Service Agreement ID                   |                                 |
| `recurrenceDefinitionId` | string  | Yes      | —       | Recurrence Definition ID               |                                 |
| `billingInterval`        | string  | No       | —       | Billing interval for recurring billing |                                 |
| `escalator`              | number  | No       | —       | Escalator rate for price adjustments   |                                 |
| `firstIssueDateTime`     | integer | No       | —       | First issue date (epoch seconds)       |                                 |
| `lastIssueDateTime`      | integer | null     | No      | —                                      | Last issue date (epoch seconds) |
| `priceFutureYearsMode`   | string  | null     | No      | —                                      | Mode for pricing future years   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Service Agreement ID"
      },
      "recurrenceDefinitionId": {
        "type": "string",
        "description": "Recurrence Definition ID"
      },
      "billingInterval": {
        "type": "string",
        "description": "Billing interval for recurring billing",
        "enum": [
          "WEEKLY",
          "MONTHLY",
          "EVERY_2_MONTHS",
          "QUARTERLY",
          "EVERY_4_MONTHS",
          "EVERY_6_MONTHS",
          "ANNUALLY"
        ]
      },
      "escalator": {
        "type": "number",
        "description": "Escalator rate for price adjustments"
      },
      "firstIssueDateTime": {
        "type": "integer",
        "description": "First issue date (epoch seconds)"
      },
      "lastIssueDateTime": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Last issue date (epoch seconds)"
      },
      "priceFutureYearsMode": {
        "type": [
          "string",
          "null"
        ],
        "description": "Mode for pricing future years",
        "enum": [
          "REPEAT_FIRST_YEAR",
          "MANUAL",
          "ESCALATOR"
        ]
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "recurrenceDefinitionId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_patch\_agreement\_recurrence\_definition\_year

Update a recurrence definition year

**Parameters:**

| Parameter                    | Type   | Required | Default | Description                                        |
| ---------------------------- | ------ | -------- | ------- | -------------------------------------------------- |
| `serviceAgreementId`         | string | Yes      | —       | Service Agreement ID                               |
| `recurrenceDefinitionYearId` | string | Yes      | —       | Recurrence Definition Year ID                      |
| `invoiceAmount`              | number | No       | —       | Invoice amount for this recurrence definition year |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Service Agreement ID"
      },
      "recurrenceDefinitionYearId": {
        "type": "string",
        "description": "Recurrence Definition Year ID"
      },
      "invoiceAmount": {
        "type": "number",
        "description": "Invoice amount for this recurrence definition year"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "recurrenceDefinitionYearId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_patch\_v1\_service\_agreement\_service\_agreement\_id

Update service agreement by ID

**Parameters:**

| Parameter                | Type   | Required | Default | Description                                                                                                                  |                                        |
| ------------------------ | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| `serviceAgreementId`     | string | Yes      | —       | Service Agreement ID                                                                                                         |                                        |
| `agreementName`          | string | No       | —       | Agreement Name                                                                                                               |                                        |
| `agreementNumber`        | string | No       | —       | Agreement Number                                                                                                             |                                        |
| `billingCustomerId`      | string | No       | —       | Billing Customer ID                                                                                                          |                                        |
| `billingType`            | string | null     | No      | —                                                                                                                            | Billing type for the service agreement |
| `customerId`             | string | No       | —       | Customer ID                                                                                                                  |                                        |
| `customerPoNumber`       | string | No       | —       | Customer PO Number                                                                                                           |                                        |
| `departmentId`           | string | No       | —       | Department ID                                                                                                                |                                        |
| `endDate`                | string | No       | —       | End Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000).   |                                        |
| `externalContract`       | object | No       | —       | External Contract                                                                                                            |                                        |
| `priceBookId`            | string | No       | —       | Price Book ID                                                                                                                |                                        |
| `projectManagerId`       | string | No       | —       | Project manager employee ID                                                                                                  |                                        |
| `serviceAgreementTypeId` | string | No       | —       | Service Agreement Type ID                                                                                                    |                                        |
| `soldById`               | string | No       | —       | Sold by employee ID                                                                                                          |                                        |
| `startDate`              | string | No       | —       | Start Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000). |                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Service Agreement ID"
      },
      "agreementName": {
        "type": "string",
        "description": "Agreement Name"
      },
      "agreementNumber": {
        "type": "string",
        "description": "Agreement Number"
      },
      "billingCustomerId": {
        "type": "string",
        "description": "Billing Customer ID"
      },
      "billingType": {
        "type": [
          "string",
          "null"
        ],
        "description": "Billing type for the service agreement",
        "enum": [
          "RecurringBilling",
          "BillOnServiceCompletion",
          "NonBillable"
        ]
      },
      "customerId": {
        "type": "string",
        "description": "Customer ID"
      },
      "customerPoNumber": {
        "type": "string",
        "description": "Customer PO Number"
      },
      "departmentId": {
        "type": "string",
        "description": "Department ID"
      },
      "endDate": {
        "type": "string",
        "description": "End Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      },
      "externalContract": {
        "type": "object",
        "description": "External Contract",
        "properties": {
          "externalContractId": {
            "type": "string",
            "description": "External contract ID on the partner platform"
          },
          "contractName": {
            "type": "string",
            "description": "Contract name on the partner platform"
          },
          "estimatedValue": {
            "type": "number",
            "description": "Estimated contract value"
          }
        },
        "required": [
          "externalContractId"
        ]
      },
      "priceBookId": {
        "type": "string",
        "description": "Price Book ID"
      },
      "projectManagerId": {
        "type": "string",
        "description": "Project manager employee ID"
      },
      "serviceAgreementTypeId": {
        "type": "string",
        "description": "Service Agreement Type ID"
      },
      "soldById": {
        "type": "string",
        "description": "Sold by employee ID"
      },
      "startDate": {
        "type": "string",
        "description": "Start Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_patch\_v1\_service\_agreement\_task\_template

Update task template

**Parameters:**

| Parameter             | Type    | Required | Default | Description                                                                                                                                   |
| --------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `serviceAgreementId`  | string  | Yes      | —       | Unique identifier of the service agreement                                                                                                    |
| `task_template_id`    | string  | Yes      | —       | ID of the task template                                                                                                                       |
| `property_id`         | string  | No       | —       | ID of the property                                                                                                                            |
| `asset_id`            | string  | No       | —       | ID of the asset                                                                                                                               |
| `description`         | string  | No       | —       | Description of the task template                                                                                                              |
| `frequency`           | string  | No       | —       | Frequency of the task                                                                                                                         |
| `hourTypeId`          | string  | No       | —       | ID of the payroll hour type                                                                                                                   |
| `laborEstimate`       | integer | No       | —       | Estimated labor time in minutes                                                                                                               |
| `laborGroupId`        | string  | No       | —       | ID of the labor rate group                                                                                                                    |
| `laborRate`           | number  | No       | —       | Hourly labor rate in dollars                                                                                                                  |
| `laborTypeId`         | string  | No       | —       | ID of the labor type                                                                                                                          |
| `name`                | string  | No       | —       | Name of the task template                                                                                                                     |
| `numberOfOccurrences` | integer | No       | —       | Number of times the task should occur                                                                                                         |
| `startDate`           | string  | No       | —       | Start date in epoch seconds. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      },
      "description": {
        "type": "string",
        "description": "Description of the task template"
      },
      "frequency": {
        "type": "string",
        "description": "Frequency of the task",
        "enum": [
          "DAILY",
          "WEEKLY",
          "BIWEEKLY",
          "MONTHLY",
          "QUARTERLY",
          "SEMIANNUALLY",
          "ANNUALLY"
        ]
      },
      "hourTypeId": {
        "type": "string",
        "description": "ID of the payroll hour type"
      },
      "laborEstimate": {
        "type": "integer",
        "description": "Estimated labor time in minutes"
      },
      "laborGroupId": {
        "type": "string",
        "description": "ID of the labor rate group"
      },
      "laborRate": {
        "type": "number",
        "description": "Hourly labor rate in dollars"
      },
      "laborTypeId": {
        "type": "string",
        "description": "ID of the labor type"
      },
      "name": {
        "type": "string",
        "description": "Name of the task template"
      },
      "numberOfOccurrences": {
        "type": "integer",
        "description": "Number of times the task should occur"
      },
      "startDate": {
        "type": "string",
        "description": "Start date in epoch seconds. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "task_template_id"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_post\_v1\_service\_agreement

Create service agreement

**Parameters:**

| Parameter                | Type   | Required | Default | Description                                                                                                                  |                                        |
| ------------------------ | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| `agreementName`          | string | Yes      | —       | Agreement Name                                                                                                               |                                        |
| `agreementNumber`        | string | Yes      | —       | Agreement Number                                                                                                             |                                        |
| `billingCustomerId`      | string | Yes      | —       | Billing Customer ID                                                                                                          |                                        |
| `billingType`            | string | null     | No      | —                                                                                                                            | Billing type for the service agreement |
| `customerId`             | string | Yes      | —       | Customer ID                                                                                                                  |                                        |
| `customerPoNumber`       | string | No       | —       | Customer PO Number                                                                                                           |                                        |
| `departmentId`           | string | Yes      | —       | Department ID                                                                                                                |                                        |
| `endDate`                | string | No       | —       | End Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000).   |                                        |
| `externalContract`       | object | No       | —       | External Contract                                                                                                            |                                        |
| `priceBookId`            | string | No       | —       | Price Book ID                                                                                                                |                                        |
| `projectManagerId`       | string | No       | —       | Project manager employee ID                                                                                                  |                                        |
| `serviceAgreementTypeId` | string | Yes      | —       | Service Agreement Type ID                                                                                                    |                                        |
| `soldById`               | string | No       | —       | Sold by employee ID                                                                                                          |                                        |
| `startDate`              | string | Yes      | —       | Start Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000). |                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "agreementName": {
        "type": "string",
        "description": "Agreement Name"
      },
      "agreementNumber": {
        "type": "string",
        "description": "Agreement Number"
      },
      "billingCustomerId": {
        "type": "string",
        "description": "Billing Customer ID"
      },
      "billingType": {
        "type": [
          "string",
          "null"
        ],
        "description": "Billing type for the service agreement",
        "enum": [
          "RecurringBilling",
          "BillOnServiceCompletion",
          "NonBillable"
        ]
      },
      "customerId": {
        "type": "string",
        "description": "Customer ID"
      },
      "customerPoNumber": {
        "type": "string",
        "description": "Customer PO Number"
      },
      "departmentId": {
        "type": "string",
        "description": "Department ID"
      },
      "endDate": {
        "type": "string",
        "description": "End Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      },
      "externalContract": {
        "type": "object",
        "description": "External Contract",
        "properties": {
          "externalContractId": {
            "type": "string",
            "description": "External contract ID on the partner platform"
          },
          "contractName": {
            "type": "string",
            "description": "Contract name on the partner platform"
          },
          "estimatedValue": {
            "type": "number",
            "description": "Estimated contract value"
          }
        },
        "required": [
          "externalContractId"
        ]
      },
      "priceBookId": {
        "type": "string",
        "description": "Price Book ID"
      },
      "projectManagerId": {
        "type": "string",
        "description": "Project manager employee ID"
      },
      "serviceAgreementTypeId": {
        "type": "string",
        "description": "Service Agreement Type ID"
      },
      "soldById": {
        "type": "string",
        "description": "Sold by employee ID"
      },
      "startDate": {
        "type": "string",
        "description": "Start Date. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      }
    },
    "required": [
      "PCID",
      "agreementName",
      "agreementNumber",
      "billingCustomerId",
      "customerId",
      "departmentId",
      "serviceAgreementTypeId",
      "startDate"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_post\_v1\_service\_agreement\_asset\_checklist

Add asset checklist

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                                                                   |
| ---------------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------- |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement                                                    |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities such as maintenance templates associated with this asset checklist |
| `assetId`                    | string  | Yes      | —       | Unique identifier of the asset                                                                |
| `checklistId`                | string  | Yes      | —       | Unique identifier of the checklist                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities such as maintenance templates associated with this asset checklist"
      },
      "assetId": {
        "type": "string",
        "description": "Unique identifier of the asset"
      },
      "checklistId": {
        "type": "string",
        "description": "Unique identifier of the checklist"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "assetId",
      "checklistId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_post\_v1\_service\_agreement\_property

Add customer property

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                |
| -------------------- | ------ | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string | Yes      | —       | Unique identifier of the service agreement |
| `propertyId`         | string | Yes      | —       | Unique identifier of the property          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "propertyId": {
        "type": "string",
        "description": "Unique identifier of the property"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "propertyId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_post\_v1\_service\_agreement\_property\_checklist

Add customer property checklist

**Parameters:**

| Parameter                    | Type    | Required | Default | Description                                                                           |
| ---------------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------- |
| `serviceAgreementId`         | string  | Yes      | —       | Unique identifier of the service agreement                                            |
| `delete_associated_entities` | boolean | No       | —       | Whether to delete entities such as maintenance templates with this property checklist |
| `checklistId`                | string  | Yes      | —       | Unique identifier of the checklist                                                    |
| `propertyId`                 | string  | Yes      | —       | Unique identifier of the property                                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "delete_associated_entities": {
        "type": "boolean",
        "description": "Whether to delete entities such as maintenance templates with this property checklist"
      },
      "checklistId": {
        "type": "string",
        "description": "Unique identifier of the checklist"
      },
      "propertyId": {
        "type": "string",
        "description": "Unique identifier of the property"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "checklistId",
      "propertyId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_post\_v1\_service\_agreement\_task\_template

Create task template

**Parameters:**

| Parameter                 | Type    | Required | Default | Description                                                                                                                                   |
| ------------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `serviceAgreementId`      | string  | Yes      | —       | Unique identifier of the service agreement                                                                                                    |
| `asset_id`                | string  | No       | —       | ID of the asset to associate with the task template, null if this is a property task template                                                 |
| `property_id`             | string  | No       | —       | ID of the property to associate with the task template, null if this is a asset task template                                                 |
| `description`             | string  | No       | —       | Description of the task template                                                                                                              |
| `frequency`               | string  | No       | —       | Frequency of the task                                                                                                                         |
| `hourTypeId`              | string  | No       | —       | ID of the payroll hour type                                                                                                                   |
| `laborEstimate`           | integer | No       | —       | Estimated labor time in minutes                                                                                                               |
| `laborGroupId`            | string  | No       | —       | ID of the labor rate group                                                                                                                    |
| `laborRate`               | number  | No       | —       | Hourly labor rate in dollars                                                                                                                  |
| `laborTypeId`             | string  | No       | —       | ID of the labor type                                                                                                                          |
| `name`                    | string  | Yes      | —       | Name of the task template                                                                                                                     |
| `numberOfOccurrences`     | integer | No       | —       | Number of times the task should occur                                                                                                         |
| `startDate`               | string  | Yes      | —       | Start date in epoch seconds. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000). |
| `taskTemplateChecklistId` | string  | Yes      | —       | ID of the checklist to use for this task                                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset to associate with the task template, null if this is a property task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property to associate with the task template, null if this is a asset task template"
      },
      "description": {
        "type": "string",
        "description": "Description of the task template"
      },
      "frequency": {
        "type": "string",
        "description": "Frequency of the task",
        "enum": [
          "DAILY",
          "WEEKLY",
          "BIWEEKLY",
          "MONTHLY",
          "QUARTERLY",
          "SEMIANNUALLY",
          "ANNUALLY"
        ]
      },
      "hourTypeId": {
        "type": "string",
        "description": "ID of the payroll hour type"
      },
      "laborEstimate": {
        "type": "integer",
        "description": "Estimated labor time in minutes"
      },
      "laborGroupId": {
        "type": "string",
        "description": "ID of the labor rate group"
      },
      "laborRate": {
        "type": "number",
        "description": "Hourly labor rate in dollars"
      },
      "laborTypeId": {
        "type": "string",
        "description": "ID of the labor type"
      },
      "name": {
        "type": "string",
        "description": "Name of the task template"
      },
      "numberOfOccurrences": {
        "type": "integer",
        "description": "Number of times the task should occur"
      },
      "startDate": {
        "type": "string",
        "description": "Start date in epoch seconds. The time should correspond to the first moment of the day referenced in the relevant timezone (ie 00:00:00.000)."
      },
      "taskTemplateChecklistId": {
        "type": "string",
        "description": "ID of the checklist to use for this task"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "name",
      "startDate",
      "taskTemplateChecklistId"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_update\_budget\_buckets

Update budget buckets

**Parameters:**

| Parameter            | Type      | Required | Default | Description                                                       |
| -------------------- | --------- | -------- | ------- | ----------------------------------------------------------------- |
| `serviceAgreementId` | string    | Yes      | —       | Service agreement ID                                              |
| `customerPropertyId` | string    | No       | —       | Customer property ID (required for SEPARATE property bundle mode) |
| `budgetBuckets`      | object\[] | Yes      | —       | List of budget bucket updates                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Service agreement ID"
      },
      "customerPropertyId": {
        "type": "string",
        "description": "Customer property ID (required for SEPARATE property bundle mode)"
      },
      "budgetBuckets": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "description": "Budget bucket ID (UUID)"
            },
            "amount": {
              "type": "number",
              "format": "decimal",
              "description": "Budget amount with max 2 decimal places"
            },
            "hours": {
              "type": "number",
              "format": "decimal",
              "description": "Budgeted hours with max 2 decimal places"
            },
            "laborRate": {
              "type": "number",
              "format": "decimal",
              "description": "Labor rate with max 2 decimal places"
            },
            "hourTypeId": {
              "type": "string",
              "format": "uuid",
              "description": "Hour type UUID reference"
            },
            "costTypeId": {
              "type": "string",
              "format": "uuid",
              "description": "Cost type UUID reference"
            },
            "laborGroupId": {
              "type": "string",
              "format": "uuid",
              "description": "Labor group UUID reference"
            },
            "laborTypeId": {
              "type": "string",
              "format": "uuid",
              "description": "Labor type UUID reference"
            }
          },
          "required": [
            "id"
          ]
        },
        "description": "List of budget bucket updates"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "budgetBuckets"
    ]
  }
  ```
</Expandable>

***

## buildops-service-agreements\_update\_task\_template\_product

Update product

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                |
| -------------------- | ------ | -------- | ------- | ------------------------------------------ |
| `serviceAgreementId` | string | Yes      | —       | Unique identifier of the service agreement |
| `id`                 | string | Yes      | —       | ID of the task template product to update  |
| `task_template_id`   | string | Yes      | —       | ID of the task template                    |
| `property_id`        | string | No       | —       | ID of the property                         |
| `asset_id`           | string | No       | —       | ID of the asset                            |
| `description`        | string | No       | —       | Description override for the product       |
| `productId`          | string | No       | —       | ID of the product                          |
| `quantity`           | number | No       | —       | Quantity of the product                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "serviceAgreementId": {
        "type": "string",
        "description": "Unique identifier of the service agreement"
      },
      "id": {
        "type": "string",
        "description": "ID of the task template product to update"
      },
      "task_template_id": {
        "type": "string",
        "description": "ID of the task template"
      },
      "property_id": {
        "type": "string",
        "description": "ID of the property"
      },
      "asset_id": {
        "type": "string",
        "description": "ID of the asset"
      },
      "description": {
        "type": "string",
        "description": "Description override for the product"
      },
      "productId": {
        "type": "string",
        "description": "ID of the product"
      },
      "quantity": {
        "type": "number",
        "description": "Quantity of the product"
      }
    },
    "required": [
      "PCID",
      "serviceAgreementId",
      "id",
      "task_template_id"
    ]
  }
  ```
</Expandable>
