Create Job Sheet Record

Purpose

All the job sheet forms associated with the services added to a service appointment will be listed as job sheet records under the Job sheets tab of service appointments. Use this API to fill a specific job sheet record that is in the Yet To Start status.

Request URL

https://fsm.zoho.com/fsm/v1/Job_Sheets

Request Method

POST

Scope

scope=ZohoFSM.modules.JobSheets.CREATE

Input JSON Keys

NameDescriptionTypeMandatory
Form_Id

The unique ID of the job sheet form you want to use. You can obtain this ID from:

StringYes
Service_Line_ItemThe ID of the service line item for whose job sheet record you want to fill in the details. Use the id in the $Service_Line_Item key present in the Get Job Sheet Records of a Service Appointment API response.StringYes
Service_AppointmentThe ID of the service appointment whose job sheet record you want to fill in the details. You can obtain this ID from the List Service Appointments API.StringYes
Status

Use this to update the status of the job sheet record. The acceptable values are Draft, Completed.

String 
<field_api_name>

The api_name of the field you want to fill. You can obtain this from the Get Job Sheet Form Fields API.

Details of how to provide values for each field type are mentioned in the following table.

String 
Field TypeData Type To Use
Single LineString
Multi Line

String

NumberInteger
Long Integer

Long

DecimalFloat
PhoneString
EmailString
Date

String

Provide the value in the format YYYY-MM-DD.

Date Time

String

The value must be in the ISO format YYYY-MM-DDThh:mm:ssTZD

CheckboxBoolean
Pick ListString
The pick list values will be present as actual_value in the pick_list_values key present in the Get Job Sheet Form Fields API.
Radio ChoiceString
The radio choice values will be present as actual_value in the pick_list_values key present in the Get Job Sheet Form Fields API.
URLString
CurrencyFloat
Multi Select

Array of Strings

The values of the multi select field will be present as actual_value in the pick_list_values key present in the Get Job Sheet Form Fields API.

Check List

Array of Strings

The check list values will be present as actual_value in the pick_list_values key present in the Get Job Sheet Form Fields API.

Image Upload

Array of JSON of the form

{

  "file_Id": "1746XXXX0dGr",

  "sequence": 0

}

 

file_Id to be obtained from the Upload a file to ZFS (Zoho File System) API

 

sequence is the number based on which the image will be displayed in the UI

RatingInteger

Sample Request

Copiedcurl --request POST 'https://fsm.zoho.com/fsm/v1/Job_Sheets' \
--header 'Authorization: Zoho-oauthtoken 1000.26xxxxxxxxxx.xxxxxxxxxx0' \
--header 'content-type: application/json' \
--data "{"field1":"value1","field2":"value2"}"

Sample Input

Copied{
    "data": [
        {
            "Form_Id": "1003000001859054",
            "Service_Line_Item": "1003000002621244",
            "Service_Appointment": "1003000002621122",
            "Description": "Test",
            "Single_Line_1__C": "Test",
            "Multi_Line_2__C": "Test",
            "Number_1__C": 123,
            "Long_Integer_1__C": 123,
            "Decimal_1__C": 123,
            "Phone_1__C": "111-111-1111",
            "Email_1__C": "lucy@noemail.com",
            "Date_1__C": "2025-05-08",
            "Date_Time_3__C": "2025-05-08T14:45:49+05:30",
            "Checkbox_12__C": true,
            "Pick_List_1__C": "Option 1",
            "Radio_Choice_11__C": "Option 2",
            "Url_1__C": "https://www.zoho.com/fsm/",
            "Currency_1__C": 10,
            "Multi_Select_11__C": [
                "Option 1",
                "Option 2"
            ],
            "Image_Upload_12__C": [
                {
                    "file_Id": "1746699547645GW01UtqDGgLo10bqiBOIkzumM",
                    "sequence": 0
                }
            ],
            "Rating_12__C": 4,
            "Check_List_11__C": [
                "Option 1",
                "Option 2"
            ],
            "Status": "Draft"
        }
    ]
}

Sample Success Response

Copied{
    "result": "success",
    "code": "SUCCESS",
    "data": {
        "Job_Sheets": [
            {
                "UID": "Job_Sheets_0",
                "Modified_Time": "2025-05-08T15:49:13+05:30",
                "Modified_By": {
                    "name": "Marianne Sheehan",
                    "id": "1003000000208001"
                },
                "Created_Time": "2025-05-08T15:49:13+05:30",
                "id": "1003000002621276",
                "Created_By": {
                    "name": "Marianne Sheehan",
                    "id": "1003000000208001"
                },
                "TabName": "JobSheets"
            }
        ],
        "Jobsheet_X_Services": [
            {
                "Modified_Time": "2025-05-08T15:49:13+05:30",
                "Modified_By": {
                    "name": "Marianne Sheehan",
                    "id": "1003000000208001"
                },
                "Created_Time": "2025-05-08T15:49:13+05:30",
                "id": "1003000002621285",
                "Created_By": {
                    "name": "Marianne Sheehan",
                    "id": "1003000000208001"
                },
                "TabName": "JobsheetServicesRel"
            }
        ]
    },
    "status": "success"
}

Sample Failure Response

Copied//If the job sheet record ( line item) is already filled
{
 "code": "INVALID_DATA",
 "details": {
 "id": [
 1003000002531012
 ]
 },
 "message": "Given Service Line Items Already has Job Sheet",
 "status": "error"
}

Sample Failure Response

Copied//If an invalid job sheet form ID is provided
{
    "code": "INVALID_DATA",
    "details": {
        "Form_Id": "100300000188408"
    },
    "message": "invalid jobsheet form id",
    "status": "error"
}

Sample Failure Response

Copied//If invalid data is provided in any field
{
 "code": "INVALID_DATA",
 "details": {
 "Job_Sheets": [
 {
 "UID": "Job_Sheets_0",
 "code": "INVALID_DATA",
 "details": {
 "expected_data_type": "datetime",
 "api_name": "Date_Time_3__C",
 "field_label": "Date Time 3"
 },
 "message": "invalid data",
 "status": "error"
 }
 ]
 },
 "message": "invalid data",
 "status": "error"
}