# 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