# Zoho FSM Integration via LowCodeAPI

## Overview

Field service management

## Base Endpoint

```
https://api.lowcodeapi.com/zohofsm/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [Zoho FSM](https://www.zoho.com/fsm)
2. **Get your credentials** from [credential page](https://accounts.zoho.com/developerconsole)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

**Auth Type**: OAUTH2.0

## API Categories

- **Asset** - 3 endpoints
- **Attendance** - 2 endpoints
- **Companies** - 4 endpoints
- **Contact** - 3 endpoints
- **Contacts** - 1 endpoints
- **Estimates** - 6 endpoints
- **Files** - 2 endpoints
- **Invoice ** - 3 endpoints
- **Notes** - 5 endpoints
- **Notification** - 1 endpoints
- **Records** - 4 endpoints
- **Requests** - 3 endpoints
- **Scheduled Maintenance** - 6 endpoints
- **Service Appointment** - 9 endpoints
- **Service Territories** - 3 endpoints
- **Services/Parts** - 4 endpoints
- **User** - 1 endpoints
- **Users ** - 4 endpoints
- **Work** - 6 endpoints
- **Work Types** - 2 endpoints

## Common Endpoints

### Category: Asset

#### Get an Asset

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/assets/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/assets/record_id?api_token={api_token}
```

**Description**: To fetch a specific asset

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create an Asset

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/assets/`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/assets/?api_token={api_token}
```

**Description**: To insert a new asset record

**Request Body**:
```json
{
  "Name": "<string>",
  "Product": "<string>",
  "Contact": "<string>",
  "Company": "<string>"
}
```

---

#### Edit an Asset

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/assets/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/assets/record_id?api_token={api_token}
```

**Description**: To update an asset record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: Attendance

#### Check In User

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/attendance/actions/checkin`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/attendance/actions/checkin?api_token={api_token}
```

**Description**: Using the attendance APIs, you can check in an user, or check out an user from the mobile app

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Check Out User

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/attendance/actions/checkout`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/attendance/actions/checkout?api_token={api_token}
```

**Description**: To check out the user from the mobile app

**Request Body**:
```json
{
  "key": "value"
}
```

---

### Category: Companies

#### List Companies

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/companies`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/companies?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the list of all available companies

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records. |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get a Company

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/companies/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/companies/record_id?api_token={api_token}
```

**Description**: To fetch a specific company.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Company

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/companies`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/companies?api_token={api_token}
```

**Description**: To insert a new company record

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Edit a Company

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/companies/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/companies/record_id?api_token={api_token}
```

**Description**: To update a company record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: Contact

#### Get a Contact

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/contacts/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/contacts/record_id?api_token={api_token}
```

**Description**: To fetch a specific contact

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Contact

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/contacts`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/contacts?api_token={api_token}
```

**Description**: To insert a new contact record

**Request Body**:
```json
{
  "Last_Name": "<string>",
  "Email": "<string>",
  "Taxable": "<boolean>",
  "Tax_Name": "<string>",
  "Tax_Exemption_Code": "<string>",
  "Tax_Authority": "<string>",
  "GST_Treatment": "<string>",
  "Place_of_Supply": "<string>",
  "Tax_Reg_Number": "<string>",
  "VAT_Treatment": "<string>",
  "Currency": "<string>",
  "Exchange_Rate": "<string>"
}
```

---

#### Edit a Contact

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/contacts/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/contacts/record_id?api_token={api_token}
```

**Description**: To update a contact record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: Contacts

#### List Contacts

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/contacts`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/contacts?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the list of all available contacts

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

### Category: Estimates

#### List Estimates

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/estimates`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: The Estimate provides a ballpark figure for how much it would cost to provide the services asked for in a Request

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get an Estimate

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/estimates/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates/record_id?api_token={api_token}
```

**Description**: To fetch a specific estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create an Estimate

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/estimates`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates?api_token={api_token}
```

**Description**: To insert a new estimate record

**Request Body**:
```json
{
  "Summary": "<string>",
  "Contact": "<string>",
  "Company": "<string>",
  "Email": "<string>",
  "Service_Address": "<number>",
  "Service_Line_Items": "<array>"
}
```

---

#### Add Parts to a Service of an Estimate

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/estimates/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates/record_id?api_token={api_token}
```

**Description**: To add parts to a service of an existing estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### List Estimate Transitions

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/estimates/record_id/actions/blueprint/transitions`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates/record_id/actions/blueprint/transitions?api_token={api_token}
```

**Description**: List all the possible transitions that can be performed on an estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Perform an Estimate Transition

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/estimates/record_id/actions/blueprint`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/estimates/record_id/actions/blueprint?api_token={api_token}
```

**Description**: To perform a transition on an estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "key": "value"
}
```

---

### Category: Files

#### Upload a file to ZFS (Zoho File System)

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/files`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/files?api_token={api_token}
```

**Description**: To upload a file to the Zoho File System (ZFS)

---

#### Download a file

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/files`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/files?file_id={file_id}&api_token={api_token}
```

**Description**: To download or fetch a file added as an attachment to a Note

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`file_id` | string | No | The encrypted file ID ($file_id) of the attachment in a note |

---

### Category: Invoice 

#### List Invoices

**Method**: `GET` | **LowCodeAPI Path**: `to fetch the list of all available invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsmto fetch the list of all available invoices?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: The built-in integration with Zoho Books/Invoice allows you to conveniently and quickly create invoices for your work orders

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records. The default value is 1 |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Create Invoices

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/invoices?api_token={api_token}
```

**Description**: To insert a new invoice record

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Send Invoice

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/invoices/record_id/actions/send_invoice`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/invoices/record_id/actions/send_invoice?api_token={api_token}
```

**Description**: Email an invoice to the desired recipients

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "to_mail_ids": "<array>"
}
```

---

### Category: Notes

#### List Notes

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/notes`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/notes?api_token={api_token}
```

**Description**: Use Notes to add any additional information you might want to include in your record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |

---

#### Get a Note

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/notes/note_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/notes/note_id?api_token={api_token}
```

**Description**: To fetch a specific Note from a record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |
|`note_id` | string | Yes | Note ID |

---

#### Create a Note

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/notes`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/notes?api_token={api_token}
```

**Description**: To create a note in a record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Edit a Note

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/notes/note_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/notes/note_id?api_token={api_token}
```

**Description**: To edit a particular note in a record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |
|`note_id` | string | Yes | Note ID |

---

#### Add an Attachment

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/notes/note_id/attachments`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/notes/note_id/attachments?api_token={api_token}
```

**Description**: To attach a file to a specific Note. The file should first be uploaded to ZFS

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`note_id` | string | Yes | Note ID |

**Request Body**:
```json
{
  "File_Id": "<string>",
  "File_Name": "<string>"
}
```

---

### Category: Notification

#### Create a Notification

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/notifications/actions/send`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/notifications/actions/send?api_token={api_token}
```

**Description**: To create custom push notifications for the web and mobile app

**Request Body**:
```json
{
  "title": "<string>",
  "message": "<string>",
  "userids": "<string>",
  "type": "<string>"
}
```

---

### Category: Records

#### Search Records

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/search`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/search?api_name={api_name}&value={value}&comparator={comparator}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To search records using field values

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`api_name` | string | Yes | API name of field to be searched on |
|`value` | string | Yes | Field value with which to perform the search |
|`comparator` | string | No | Use this parameter to determine how the search should be performed |
|`page` | number | No | To get the list of records from the respective pages |
|`per_page` | number | No | To get the list of records available per page |

---

#### Get Related Records

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/related_list_api_name`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/related_list_api_name?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the related records of a module

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |
|`related_list_api_name` | string | Yes | Related List API Name |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | To get the list of records from the respective pages |
|`per_page` | number | No | To get the list of records available per page |

---

#### Associate Records with Integrated Service

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/actions/process_sync`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/actions/process_sync?api_token={api_token}
```

**Description**: To either link, or unlink a Zoho FSM record w.r.t a record in an integrated Zoho service

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "sync_service": "<string>"
}
```

---

#### Download a record

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/module_api_name/record_id/actions/download`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/module_api_name/record_id/actions/download?api_token={api_token}
```

**Description**: To download a record in PDF or HTML format

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`module_api_name` | string | Yes | Module API Name |
|`record_id` | string | Yes | Record ID |

---

### Category: Requests

#### List Requests

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/requests`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/requests?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: Requests are initiated to render services to customers

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get a Request

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/requests/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/requests/record_id?api_token={api_token}
```

**Description**: To fetch a specific request

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Request

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/requests`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/requests?api_token={api_token}
```

**Description**: To insert a new request record

**Request Body**:
```json
{
  "Contact": "<string>",
  "Company": "<string>"
}
```

---

### Category: Scheduled Maintenance

#### List Scheduled Maintenances

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the list of all scheduled maintenances

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | To get the list of records from the respective pages |
|`per_page` | number | No | To get the list of records available per page |

---

#### Get a Scheduled Maintenance

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances/record_id?api_token={api_token}
```

**Description**: To fetch a specific scheduled maintenance

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Scheduled Maintenance

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances?api_token={api_token}
```

**Description**: To create a new scheduled maintenance record

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Edit a Scheduled Maintenance

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances?api_token={api_token}
```

**Description**: To update a scheduled maintenance record

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Enable a Scheduled Maintenance

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances/record_id/enable`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances/record_id/enable?api_token={api_token}
```

**Description**: To change the status of a scheduled maintenance record to active

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Disable a Scheduled Maintenance

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/scheduled_maintenances/record_id/disable`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/scheduled_maintenances/record_id/disable?api_token={api_token}
```

**Description**: To change the status of a scheduled maintenance record to inactive

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: Service Appointment

#### List Service Appointments

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/service_appointments`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: A Service Appointment is a job created for carrying out the services in a work order

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | Integer | No | The number of records you want to fetch in a page |

---

#### Get a Service Appointment

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/service_appointments/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments/record_id?api_token={api_token}
```

**Description**: To fetch a specific service appointment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Service Appointment

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/service_appointments`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments?api_token={api_token}
```

**Description**: To insert a new service appointment record

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Edit a Service Appointment

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/service_appointments`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments?api_token={api_token}
```

**Description**: To update a service appointment record

---

#### Reschedule a Service Appointment

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/service_appointments/record_id/actions/reschedule`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments/record_id/actions/reschedule?api_token={api_token}
```

**Description**: To reschedule a service appointment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List Service Appointment Transitions

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/service_appointments/record_id/actions/blueprint/transitions`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments/record_id/actions/blueprint/transitions?api_token={api_token}
```

**Description**: List all the possible transitions that can be performed on a service appointment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Dispatch a Service Appointment

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/service_appointments/record_id/actions/blueprint/`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments/record_id/actions/blueprint/?api_token={api_token}
```

**Description**: Dispatch a Service Appointment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "transition_id ": "<string>"
}
```

---

#### Terminate a Service Appointment

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/service_appointments/record_id/actions/blueprint`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_appointments/record_id/actions/blueprint?api_token={api_token}
```

**Description**: To terminate a service appointmen

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "transition_id": "<String>",
  "data": "<string>"
}
```

---

#### Complete Work for Service Appointment

**Method**: `PUT` | **LowCodeAPI Path**: `fsm/v1/service_appointments/record_id/actions/blueprint`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsmfsm/v1/service_appointments/record_id/actions/blueprint?api_token={api_token}
```

**Description**: To complete work for an in progress service appointment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "transition_id": "<string>"
}
```

---

### Category: Service Territories

#### List Service Territories

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/territories`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/territories?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the list of all service territories

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get a Service Territory

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/territories/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/territories/record_id?api_token={api_token}
```

**Description**: To fetch a specific service territory

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Search Service Territories

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/territories/search`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/territories/search?api_name={api_name}&value={value}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To search service territories using specific criteria

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`api_name` | string | Yes | API name of the criteria to search by |
|`value` | string | Yes | Search string |
|`page` | number | No | To get the list of records from the respective pages |
|`per_page` | number | No | To get the list of records available per page |

---

### Category: Services/Parts

#### List Services/Parts

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/service_and_parts`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_and_parts?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To fetch the list of all available services/parts

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get a Service/Part

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/service_and_parts/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_and_parts/record_id?api_token={api_token}
```

**Description**: To fetch a specific service/part

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Service/Part

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/service_and_parts`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_and_parts?api_token={api_token}
```

**Description**: To insert a new service/part record

**Request Body**:
```json
{
  "Name": "<string>",
  "Unit_Price": "<number>",
  "Type": "<string>",
  "Taxable": "<boolean>",
  "Tax_Name": "<string>",
  "Tax_Exemption_Code": "<string>",
  "Inter_State_Tax_Rate": "<string>",
  "Intra_State_Tax_Rate": "<string>"
}
```

---

#### Edit a Service/Part

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/service_and_parts/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/service_and_parts/record_id?api_token={api_token}
```

**Description**: To update a service/part record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: User

#### Get an User

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/users/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/users/record_id?api_token={api_token}
```

**Description**: To fetch a specific user

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

### Category: Users 

#### List Users

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/users?api_token={api_token}
```

**Description**: To fetch the list of all available users

---

#### Create a User

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/users?api_token={api_token}
```

**Description**: To create a user record. The user will be listed under Invited Users

**Request Body**:
```json
{
  "last_name": "<string>",
  "email": "<string>",
  "profile": "<string>"
}
```

---

#### Edit a User

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/users?api_token={api_token}
```

**Description**: To update a user record

---

#### List Profiles

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/settings/profiles`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/settings/profiles?api_token={api_token}
```

**Description**: List all profiles in your Zoho FSM organization

---

### Category: Work

#### List Work Orders

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/work_orders`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_orders?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: A Work Order is a record created for executing a customer service request

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | The page from which you want to fetch the records |
|`per_page` | number | No | The number of records you want to fetch in a page |

---

#### Get a Work Order

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/work_orders/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_orders/record_id?api_token={api_token}
```

**Description**: To fetch a specific work order

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Create a Work Order

**Method**: `POST` | **LowCodeAPI Path**: `/fsm/v1/work_orders`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_orders?api_token={api_token}
```

**Description**: To insert a new work order record

**Request Body**:
```json
{
  "Type": "<string>",
  "Contact": "<string>",
  "Company": "<string>"
}
```

---

#### Edit a Work Order

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/work_orders/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_orders/record_id?api_token={api_token}
```

**Description**: To update a work order record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### List Work Order Transitions

**Method**: `GET` | **LowCodeAPI Path**: `fsm/v1/work_orders/record_id/actions/blueprint/transitions`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsmfsm/v1/work_orders/record_id/actions/blueprint/transitions?api_token={api_token}
```

**Description**: List all the possible transitions (actions) that can be performed on a work order

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

#### Perform a Work Order Transition

**Method**: `PUT` | **LowCodeAPI Path**: `/fsm/v1/work_orders/record_id/actions/blueprint`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_orders/record_id/actions/blueprint?api_token={api_token}
```

**Description**: To perform a transition on a work order

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

**Request Body**:
```json
{
  "key": "value"
}
```

---

### Category: Work Types

#### List Work Types

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/work_types`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_types?api_token={api_token}
```

**Description**: To fetch the list of all work types

---

#### Get a Work Type

**Method**: `GET` | **LowCodeAPI Path**: `/fsm/v1/work_types/record_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohofsm/fsm/v1/work_types/record_id?api_token={api_token}
```

**Description**: To fetch the details of a specific Work Type record

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`record_id` | string | Yes | Record ID |

---

## Complete Endpoint Reference

For a complete list of all 72 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohofsm/definition`
- **Official Provider Documentation**: https://www.zoho.com/fsm/developer/help/api