Trips

Trips AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

A trip entity allows you to maintain information about the trips of your employees.

Download Trips OpenAPI Document
End Points
Create a trip
Retrieve list of all trips
Update a trip
Retrieve details of a trip
Delete a trip request
Approve a trip request
Reject a trip request
Cancel a trip
Close a trip

Attribute

trip_id
string
Unique ID generated by the server. This is used as a identifier.
travel_type
string
Whether the trip is an international or domestic trip.
trip_name
string
Name for the trip request.
destination_country_code
string
Two-letter ISO country code for the destination country. Required when travel_type is international
policy_id
string
Unique ID of the policy applied to the trip request.
policy_name
string
Name of the Policy.
is_visa_required
boolean
Whether visa is required for the trip. Can only be specified when travel_type is international.
start_date
string
Start date of the trip.
end_date
string
End date of the trip.
trip_number
string
Trip's unique number
business_purpose
string
Purpose of the trip.
departure
string
Place of departure.
destination_country
string
Destination Country of the trip.
destination_city
string
Destination City of the trip.
is_billable
boolean
Whether the customer needs to be billed for the trip.
customer_id
string
Unique ID of the customer associated with the trip.
project_id
string
Unique ID of the project associated with the trip.
project_name
string
Name of the project associated with the trip.
customer_name
string
Name of the customer associated with the trip.
budget
object
Budget amount for the trip.
Show Sub-Attributes arrow
amount
double
(Required)
Budget amount for the trip.
currency_id
string
(Required)
Unique ID for currency.
exchange_rate
double
Exchange rate of the currency with respect to base currency.
status
string
Status of the trip.
custom_fields
array
Custom field added.
Show Sub-Attributes arrow
customfield_id
string
Unique ID for the Custom Field.
data_type
string
Data Type of the Custom Field.
is_active
boolean
Whether the Custom Field is Active. It can either be true or false.
is_mandatory
boolean
Whether the Custom Field is Mandatory. It can either be true or false.
label
string
Label for the Custom Field.
value
string
Value entered in the Custom Field.
submitted_date
string
Date of trip submission.
last_submitted_date
string
Date of previous submission.
approved_date
string
Date of trip Approval.
approver_id
string
Unique ID for the current approver.
approver_name
string
Current approver name.
approver_email
string
Email ID of the current approver.
submitted_to_id
string
Unique ID of the person to whom the trip was submitted first.
submitted_to_name
string
Name of the person to whom the trip was submitted first.
submitted_to_email
string
Email ID of the person to whom the trip was submitted first.
submitted_to_employee_no
string
Employee Number of the person to whom the trip was submitted first.
submitted_to_department_name
string
Department Name of the person to whom the trip was submitted first.
submitted_by
string
Unique ID of the submitter.
submitter_name
string
Name of the submitter.
submitter_email
string
Email ID of the submitter.
submitter_employee_no
string
Employee Number of the submitter.
submitter_department_name
string
Department Name of the submitter.
employee_number
string
Employee Number of the owner of the trip.
department_id
string
Unique ID of the department.
department_name
string
Name of the department.
next_approver_id
string
Unique ID of the Next Approver.
next_approver_email
string
Email Id of Next Approver.
next_approver_name
string
Name of the Next Approver.
approver_employee_no
string
Employee Number of the Approver.
approver_department_name
string
Department Name of the Approver.
previous_approver_id
string
Unique ID of Previous Approver.
previous_approver_name
string
Name of the Previous Approver.
previous_approver_email
string
Email ID of the Previous Approver.
previous_approver_employee_no
string
Employee Number of the Previous Approver.
previous_approver_department_name
string
Department Name of the Previous Approver.
other_travellers
array
Co-travellers on the trip. Returned only in GET detail.
Show Sub-Attributes arrow
user_id
long
(Required)
Unique ID of the co-traveller of the trip.
itineraries
array
A list of itineraries for the trip.
Show Sub-Attributes arrow
itinerary_id
long
Unique ID of the trip itinerary. When provided, the existing itinerary with this ID is updated. When omitted, a new itinerary is created.
travel_mode
string
(Required)
The mode of travel and accommodation for this itinerary. Accepted values:
  • flight
  • hotel
  • car
  • train
  • bus
  • ferry
Each itinerary object must include only the sub-object that matches its travel_mode. For example, include the flight object when travel_mode is flight, the hotel object when travel_mode is hotel, and so on. Including a mismatched sub-object will result in an error.
is_personal_travel
boolean
Whether it is a personal itinerary booking.
description
string
Any comments about the trip itinerary.
flight
object
Flight itinerary details. Required when travel_mode is flight . Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_airport_code
string
(Required)
Unique three-letter geocode used to identify the departure airport location.
departure_date
date
(Required)
Date of departure of the flight.
arrival_airport_code
string
(Required)
Unique three-letter geocode used to identify the arrival airport location.
meal_type
string
Meal preference for the traveller in flight. Allowed values: avml (Asian Vegetarian Meal), vgml (Vegetarian Meal (non-dairy)), vlml (Vegetarian Meal (lacto-ovo)), vjml (Vegetarian Jain Meal), bbml (Baby Meal), chml (Child Meal), dbml (Diabetic Meal), blml (Bland Meal), fpml (Fruit Platter), gfml (Gluten-free Meal), hnml (Hindu (Non-Vegetarian) Meal), ksml (Kosher Meal), moml (Muslim Meal), lfml (Low cholesterol/ Low Fat Meal), lsml (Low Sodium Meal (no salt)), nlml (Non-Lactose Meal), lcml (Low Calories Meal).
seat_type
string
Seat preference for the traveller in flight. Allowed values: window, aisle, middle.
class
string
Class preference for the traveller in flight. Allowed values: none, first, economy, premium_economy, business.
time_preference
string
Time preference for the traveller in flight. Allowed values: morning, afternoon, evening, night.
car
object
Car itinerary details. Required when travel_mode is car. Must not be included for any other travel mode.
Show Sub-Attributes arrow
pick_up_location
string
(Required)
Pickup location for the car.
pick_up_date
date
(Required)
Pickup date for car rental.
drop_off_location
string
(Required)
Drop-off location for car rental.
drop_off_date
date
(Required)
Drop-off date for car rental.
car_type
string
Car type preference for the traveller. Allowed values: small, medium, large, estate, premium, people_carrier, suv.
driver_type
string
Whether a driver is required. Allowed values: not_available (No), available_free (Yes).
bus
object
Bus itinerary details. Required when travel_mode is bus. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the bus.
departure_date
date
(Required)
Departure date of the bus.
arrival_city
string
(Required)
Arrival point of the bus.
train
object
Train itinerary details. Required when travel_mode is train. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the train.
departure_date
date
(Required)
Departure date of the train.
arrival_city
string
(Required)
Arrival point of the train.
hotel
object
Hotel itinerary details. Required when travel_mode is hotel. Must not be included for any other travel mode.
Show Sub-Attributes arrow
check_in_date
date
(Required)
Check-in date for the hotel.
check_out_date
date
(Required)
Check-out date for the hotel.
city
string
(Required)
Location of the hotel.
ferry
object
Ferry itinerary details. Required when travel_mode is ferry. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the ferry.
departure_date
date
(Required)
Departure date of the ferry.
arrival_city
string
(Required)
Arrival point of the ferry.
no_of_days
integer
Number of days of the trip.
comments
array
List of comments associated with the trip.
Show Sub-Attributes arrow
description
string
Any comments about the trip.
commented_by_id
string
Unique ID of the person who commented.
commented_by
string
Name of the User Commented.
created_time
string
Time when the trip was created.
created_date
string
Date when the trip was created.
last_modified_time
string
Time when the trip was last modified.
documents
array
Details of Documents attached.
Show Sub-Attributes arrow
file_name
string
Name of the Document.
file_size_formatted
string
Formatted value of File Size.
attachment_order
integer
Order of the Attached Document.
document_id
string
Unique Id for the Document.
created_by_id
string
Unique ID of the person who created the trip.
created_by_name
string
Name of the person who created the trip.
user_id
string
Unique ID of the owner of the trip.
user_name
string
Name of the User.
user_email
string
Email Id of the User.
created_by_email
string
Email ID of the person who created the trip.

Example

{ "trip_id": "34017000000000103", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "policy_id": "30082000000003588", "policy_name": "Official Trips", "is_visa_required": true, "start_date": "2017-02-21", "end_date": "2017-02-27", "trip_number": "TRIP-00001", "business_purpose": "Meeting with client", "departure": "ABC International Airport", "destination_country": "Australia", "destination_city": "melbourne", "is_billable": false, "customer_id": "16367000000096001", "project_id": "16367000000096055", "project_name": "Brochure Design - Spa", "customer_name": "Kenny Digital", "budget": { "amount": 100, "currency_id": "238277000000000097", "exchange_rate": 94.482237 }, "status": "draft", "custom_fields": [ { "customfield_id": "16367000000093005", "data_type": "string", "is_active": true, "is_mandatory": false, "label": "Nick Name", "value": "Tric" } ], "submitted_date": "2017-02-28", "last_submitted_date": "2017-02-28", "approved_date": "2017-03-01", "approver_id": "16367000000073001", "approver_name": "PATRICIA BOYLE", "approver_email": "patriciab@zillum.com", "submitted_to_id": "16367000000073001", "submitted_to_name": "PATRICIA BOYLE", "submitted_to_email": "patriciab@zillum.com", "submitted_to_employee_no": "E001", "submitted_to_department_name": "Finance", "submitted_by": "34017000000091001", "submitter_name": "Will Smith", "submitter_email": "will.smith@gmail.com", "submitter_employee_no": "E002", "submitter_department_name": "Maintenance", "employee_number": "E003", "department_id": "16367000000093001", "department_name": "Finance", "next_approver_id": "16367000000073001", "next_approver_email": "patriciab@zillum.com", "next_approver_name": "PATRICIA BOYLE", "approver_employee_no": "E001", "approver_department_name": "Finance", "previous_approver_id": "16367000000073001", "previous_approver_name": "Will Smith", "previous_approver_email": "will.smith@gmail.com", "previous_approver_employee_no": "E008", "previous_approver_department_name": "Marketing", "other_travellers": [ { "user_id": "238277000000129433" } ], "itineraries": [ { "itinerary_id": 0, "travel_mode": "flight", "is_personal_travel": true, "description": "string", "flight": { "departure_airport_code": "DEL", "departure_date": "2025-09-01", "arrival_airport_code": "JFK", "meal_type": "avml", "seat_type": "window", "class": "none", "time_preference": "morning" }, "car": { "pick_up_location": "New York", "pick_up_date": "2025-09-02", "drop_off_location": "New Jersey", "drop_off_date": "2025-09-02", "car_type": "small", "driver_type": "not_available" }, "bus": { "departure_city": "New York", "departure_date": "2025-09-04", "arrival_city": "New Rochelle" }, "train": { "departure_city": "New York", "departure_date": "2025-09-08", "arrival_city": "New Philadelphia" }, "hotel": { "check_in_date": "2025-08-01", "check_out_date": "2025-08-14", "city": "New York" }, "ferry": { "departure_city": "Ahuas", "departure_date": "2025-09-24", "arrival_city": "Agrinion" } } ], "no_of_days": 45, "comments": [ { "description": "Regarding business proposal", "commented_by_id": "34017000000091216", "commented_by": "Will Smith" } ], "created_time": "2017-02-28T18:18:03+0530", "created_date": "2017-02-28", "last_modified_time": "2017-02-28T18:31:09+0530", "documents": [ { "file_name": "receipt1.jpg", "file_size_formatted": "35.6 KB", "attachment_order": 1, "document_id": "16367000000078085" } ], "created_by_id": "16367000000073071", "created_by_name": "Will Smith", "user_id": "16367000000073001", "user_name": "Will Smith", "user_email": "will.smith@gmail.com", "created_by_email": "will.smith@gmail.com" }

Create a trip AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Create a new trip.
OAuth Scope : ZohoExpense.trip.CREATE

Arguments

policy_id
string
Unique ID of the policy applied to the trip request.
trip_name
string
(Required)
Name for the trip request.
travel_type
string
(Required)
Whether the trip is an international or domestic trip.
destination_country_code
string
Two-letter ISO country code for the destination country. Required when travel_type is international
is_visa_required
boolean
Whether visa is required for the trip. Can only be specified when travel_type is international.
business_purpose
string
Purpose of the trip.
budget
object
Budget amount for the trip.
Show Sub-Attributes arrow
amount
double
(Required)
Budget amount for the trip.
currency_id
string
(Required)
Unique ID for currency.
exchange_rate
double
Exchange rate of the currency with respect to base currency.
other_travellers
array
Co-travellers on the trip.
Show Sub-Attributes arrow
user_id
long
(Required)
Unique ID of the co-traveller of the trip.
customer_id
string
Unique ID of the customer associated with the trip.
project_id
string
Unique ID of the project associated with the trip.
is_billable
boolean
Whether the customer needs to be billed for the trip.
custom_fields
array
Custom fields for the trip.
Show Sub-Attributes arrow
customfield_id
long
(Required)
Unique ID for the Custom Field.
value
string
(Required)
Value entered in the Custom Field.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips") .post(body) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/expense/v1/trips', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/expense/v1/trips", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url https://www.zohoapis.com/expense/v1/trips \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "policy_id": "30082000000003588", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "business_purpose": "Meeting with client", "budget": { "amount": 100, "currency_id": "238277000000000097", "exchange_rate": 94.482237 }, "other_travellers": [ { "user_id": "238277000000129433" }, { "user_id": "238277000000129513" } ], "customer_id": "238277000000138461", "project_id": "238277000000313928", "is_billable": false, "custom_fields": [ { "customfield_id": "238277000000641078", "value": 1599 }, { "customfield_id": "238277000000641085", "value": 1200 }, { "customfield_id": "238277000000702009", "value": "PO-MKT-250825-0047" } ] }

Response Example

{ "code": 0, "message": "trip created successfully", "trip": { "trip_id": "34017000000000103", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "policy_id": "30082000000003588", "policy_name": "Official Trips", "is_visa_required": true, "start_date": "2017-02-21", "end_date": "2017-02-27", "trip_number": "TRIP-00001", "business_purpose": "Meeting with client", "departure": "ABC International Airport", "destination_country": "Australia", "destination_city": "melbourne", "is_billable": false, "customer_id": "16367000000096001", "project_id": "16367000000096055", "project_name": "Brochure Design - Spa", "customer_name": "Kenny Digital", "budget": { "amount": 100, "currency_id": "238277000000000097", "exchange_rate": 94.482237 }, "status": "draft", "custom_fields": [ { "customfield_id": "16367000000093005", "data_type": "string", "is_active": true, "is_mandatory": false, "label": "Nick Name", "value": "Tric" } ], "submitted_date": "2017-02-28", "last_submitted_date": "2017-02-28", "approved_date": "2017-03-01", "approver_id": "16367000000073001", "approver_name": "PATRICIA BOYLE", "approver_email": "patriciab@zillum.com", "submitted_to_id": "16367000000073001", "submitted_to_name": "PATRICIA BOYLE", "submitted_to_email": "patriciab@zillum.com", "submitted_to_employee_no": "E001", "submitted_to_department_name": "Finance", "submitted_by": "34017000000091001", "submitter_name": "Will Smith", "submitter_email": "will.smith@gmail.com", "submitter_employee_no": "E002", "submitter_department_name": "Maintenance", "employee_number": "E003", "department_id": "16367000000093001", "department_name": "Finance", "next_approver_id": "16367000000073001", "next_approver_email": "patriciab@zillum.com", "next_approver_name": "PATRICIA BOYLE", "approver_employee_no": "E001", "approver_department_name": "Finance", "previous_approver_id": "16367000000073001", "previous_approver_name": "Will Smith", "previous_approver_email": "will.smith@gmail.com", "previous_approver_employee_no": "E008", "previous_approver_department_name": "Marketing", "other_travellers": [ { "user_id": "238277000000129433" } ], "itineraries": [ { "itinerary_id": 0, "travel_mode": "flight", "is_personal_travel": true, "description": "string", "flight": { "departure_airport_code": "DEL", "departure_date": "2025-09-01", "arrival_airport_code": "JFK", "meal_type": "avml", "seat_type": "window", "class": "none", "time_preference": "morning" }, "car": { "pick_up_location": "New York", "pick_up_date": "2025-09-02", "drop_off_location": "New Jersey", "drop_off_date": "2025-09-02", "car_type": "small", "driver_type": "not_available" }, "bus": { "departure_city": "New York", "departure_date": "2025-09-04", "arrival_city": "New Rochelle" }, "train": { "departure_city": "New York", "departure_date": "2025-09-08", "arrival_city": "New Philadelphia" }, "hotel": { "check_in_date": "2025-08-01", "check_out_date": "2025-08-14", "city": "New York" }, "ferry": { "departure_city": "Ahuas", "departure_date": "2025-09-24", "arrival_city": "Agrinion" } } ], "no_of_days": 45, "comments": [ { "description": "Regarding business proposal", "commented_by_id": "34017000000091216", "commented_by": "Will Smith" } ], "created_time": "2017-02-28T18:18:03+0530", "created_date": "2017-02-28", "last_modified_time": "2017-02-28T18:31:09+0530", "documents": [ { "file_name": "receipt1.jpg", "file_size_formatted": "35.6 KB", "attachment_order": 1, "document_id": "16367000000078085" } ], "created_by_id": "16367000000073071", "created_by_name": "Will Smith", "user_id": "16367000000073001", "user_name": "Will Smith", "user_email": "will.smith@gmail.com", "created_by_email": "will.smith@gmail.com" } }

Retrieve list of all trips AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

List all existing trips.
OAuth Scope : ZohoExpense.trip.READ

Query Parameters

filter_by
object
For filtering trips based on status.
Show Sub-Attributes arrow
Type.Trip%2CStatus.Submitted
string
List all submitted trip requests
Type.Trip%2CStatus.Approved
string
List all approved trip requests
Type.Trip%2CStatus.Rejected
string
List all rejected trip requests
Type.Trip%2CStatus.Closed
string
List all closed trips
Type.Trip%2CStatus.Cancelled
string
List all the cancelled trips.
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips") .get() .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/expense/v1/trips', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/expense/v1/trips", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url https://www.zohoapis.com/expense/v1/trips \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695'

Response Example

{ "code": 0, "message": "success", "trips": [ { "trip_id": "34017000000000103", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "policy_id": "30082000000003588", "policy_name": "Official Trips", "is_visa_required": true, "start_date": "2017-02-21", "end_date": "2017-02-27", "trip_number": "TRIP-00001", "business_purpose": "Meeting with client", "description": "Regarding business proposal", "departure": "ABC International Airport", "destination_country": "Australia", "destination_city": "melbourne", "is_billable": false, "customer_id": "16367000000096001", "project_id": "16367000000096055", "project_name": "Brochure Design - Spa", "customer_name": "Kenny Digital", "status": "draft", "custom_fields": [ { "customfield_id": "16367000000093005", "data_type": "string", "is_active": true, "is_mandatory": false, "label": "Nick Name", "value": "Tric" } ], "submitted_date": "2017-02-28", "last_submitted_date": "2017-02-28", "approved_date": "2017-03-01", "approver_id": "16367000000073001", "approver_name": "PATRICIA BOYLE", "approver_email": "patriciab@zillum.com", "submitted_to_id": "16367000000073001", "submitted_to_name": "PATRICIA BOYLE", "submitted_to_email": "patriciab@zillum.com", "submitted_to_employee_no": "E001", "submitted_to_department_name": "Finance", "submitted_by": "34017000000091001", "submitter_name": "Will Smith", "submitter_email": "will.smith@gmail.com", "submitter_employee_no": "E002", "submitter_department_name": "Maintenance", "employee_number": "E003", "department_id": "16367000000093001", "department_name": "Finance", "next_approver_id": "16367000000073001", "next_approver_email": "patriciab@zillum.com", "next_approver_name": "PATRICIA BOYLE", "approver_employee_no": "E001", "approver_department_name": "Finance", "previous_approver_id": "16367000000073001", "previous_approver_name": "Will Smith", "previous_approver_email": "will.smith@gmail.com", "previous_approver_employee_no": "E008", "previous_approver_department_name": "Marketing", "comments": [ { "description": "Regarding business proposal", "commented_by_id": "34017000000091216", "commented_by": "Will Smith" } ], "created_time": "2017-02-28T18:18:03+0530", "created_date": "2017-02-28", "last_modified_time": "2017-02-28T18:31:09+0530", "created_by_id": "16367000000073071", "created_by_name": "Will Smith", "created_by_email": "will.smith@gmail.com", "user_id": "16367000000073001", "user_name": "Will Smith", "user_email": "will.smith@gmail.com", "user_employee_no": "E002", "user_department_name": "Maintenance", "documents": [ { "file_name": "receipt1.jpg", "file_size_formatted": "35.6 KB", "attachment_order": 1, "document_id": "16367000000078085" } ] }, {...}, {...} ], "page_context": { "page": 1, "per_page": 50, "has_more_page": false } }

Update a trip AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Updates an existing trip with the provided details. Fields not included in the request will retain their current values.
OAuth Scope : ZohoExpense.trip.UPDATE

Arguments

trip_id
string
Unique ID generated by the server. This is used as a identifier.
policy_id
string
Unique ID of the policy applied to the trip request.
trip_name
string
Name for the trip request.
travel_type
string
Whether the trip is an international or domestic trip.
destination_country_code
string
Two-letter ISO country code for the destination country. Required when travel_type is international
is_visa_required
boolean
Whether visa is required for the trip. Can only be specified when travel_type is international.
business_purpose
string
Purpose of the trip.
budget
object
Budget amount for the trip.
Show Sub-Attributes arrow
amount
double
(Required)
Budget amount for the trip.
currency_id
string
(Required)
Unique ID for currency.
exchange_rate
double
Exchange rate of the currency with respect to base currency.
other_travellers
array
Co-travellers on the trip.
Show Sub-Attributes arrow
user_id
long
(Required)
Unique ID of the co-traveller of the trip.
customer_id
string
Unique ID of the customer associated with the trip.
project_id
string
Unique ID of the project associated with the trip.
is_billable
boolean
Whether the customer needs to be billed for the trip.
custom_fields
array
Custom fields for the trip.
Show Sub-Attributes arrow
customfield_id
long
(Required)
Unique ID for the Custom Field.
value
string
(Required)
Value entered in the Custom Field.
itineraries
array
(Required)
A list of itineraries for the trip.
  • Delete an existing itinerary: Remove it from the list. Any itinerary not included in the request will be permanently removed from the trip.
  • Add a new itinerary: Include the new itinerary details in the list. The server will automatically create it as part of the trip.
  • Update an existing itinerary: Include the itinerary with the fields you want to change. Only the provided fields will be updated; the rest will remain as they are.
Include all itineraries you want to retain in the trip. Not including an existing itinerary will result in its deletion.
Show Sub-Attributes arrow
itinerary_id
long
Unique ID of the trip itinerary. When provided, the existing itinerary with this ID is updated. When omitted, a new itinerary is created.
travel_mode
string
(Required)
The mode of travel and accommodation for this itinerary. Accepted values:
  • flight
  • hotel
  • car
  • train
  • bus
  • ferry
Each itinerary object must include only the sub-object that matches its travel_mode. For example, include the flight object when travel_mode is flight, the hotel object when travel_mode is hotel, and so on. Including a mismatched sub-object will result in an error.
is_personal_travel
boolean
Whether it is a personal itinerary booking.
description
string
Any comments about the trip itinerary.
flight
object
Flight itinerary details. Required when travel_mode is flight . Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_airport_code
string
(Required)
Unique three-letter geocode used to identify the departure airport location.
departure_date
date
(Required)
Date of departure of the flight.
arrival_airport_code
string
(Required)
Unique three-letter geocode used to identify the arrival airport location.
meal_type
string
Meal preference for the traveller in flight. Allowed values: avml (Asian Vegetarian Meal), vgml (Vegetarian Meal (non-dairy)), vlml (Vegetarian Meal (lacto-ovo)), vjml (Vegetarian Jain Meal), bbml (Baby Meal), chml (Child Meal), dbml (Diabetic Meal), blml (Bland Meal), fpml (Fruit Platter), gfml (Gluten-free Meal), hnml (Hindu (Non-Vegetarian) Meal), ksml (Kosher Meal), moml (Muslim Meal), lfml (Low cholesterol/ Low Fat Meal), lsml (Low Sodium Meal (no salt)), nlml (Non-Lactose Meal), lcml (Low Calories Meal).
seat_type
string
Seat preference for the traveller in flight. Allowed values: window, aisle, middle.
class
string
Class preference for the traveller in flight. Allowed values: none, first, economy, premium_economy, business.
time_preference
string
Time preference for the traveller in flight. Allowed values: morning, afternoon, evening, night.
car
object
Car itinerary details. Required when travel_mode is car. Must not be included for any other travel mode.
Show Sub-Attributes arrow
pick_up_location
string
(Required)
Pickup location for the car.
pick_up_date
date
(Required)
Pickup date for car rental.
drop_off_location
string
(Required)
Drop-off location for car rental.
drop_off_date
date
(Required)
Drop-off date for car rental.
car_type
string
Car type preference for the traveller. Allowed values: small, medium, large, estate, premium, people_carrier, suv.
driver_type
string
Whether a driver is required. Allowed values: not_available (No), available_free (Yes).
bus
object
Bus itinerary details. Required when travel_mode is bus. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the bus.
departure_date
date
(Required)
Departure date of the bus.
arrival_city
string
(Required)
Arrival point of the bus.
train
object
Train itinerary details. Required when travel_mode is train. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the train.
departure_date
date
(Required)
Departure date of the train.
arrival_city
string
(Required)
Arrival point of the train.
hotel
object
Hotel itinerary details. Required when travel_mode is hotel. Must not be included for any other travel mode.
Show Sub-Attributes arrow
check_in_date
date
(Required)
Check-in date for the hotel.
check_out_date
date
(Required)
Check-out date for the hotel.
city
string
(Required)
Location of the hotel.
ferry
object
Ferry itinerary details. Required when travel_mode is ferry. Must not be included for any other travel mode.
Show Sub-Attributes arrow
departure_city
string
(Required)
Departure point of the ferry.
departure_date
date
(Required)
Departure date of the ferry.
arrival_city
string
(Required)
Arrival point of the ferry.

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103") .put(body) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/expense/v1/trips/34017000000000103", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103 \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "trip_id": "238277000000820025", "policy_id": "30082000000003588", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "is_visa_required": false, "business_purpose": "Meeting with client", "budget": { "amount": 100, "currency_id": "238277000000000097", "exchange_rate": 94.482237 }, "other_travellers": [ { "user_id": "238277000000129433" }, { "user_id": "238277000000129513" } ], "customer_id": "238277000000138461", "project_id": "238277000000313928", "is_billable": false, "custom_fields": [ { "customfield_id": "238277000000641078", "value": 1599 }, { "customfield_id": "238277000000641085", "value": 1200 }, { "customfield_id": "238277000000702009", "value": "PO-MKT-250825-0047" } ], "itineraries": [ { "itinerary_id": "238277000000820086", "travel_mode": "flight", "is_personal_travel": false, "description": "Flights at 8AM is most preferred", "flight": { "departure_airport_code": "DEL", "departure_date": "2025-09-01", "arrival_airport_code": "JFK", "meal_type": "avml", "seat_type": "window", "class": "premium_economy", "time_preference": "morning" } }, { "travel_mode": "flight", "is_personal_travel": false, "description": "10PM flights are most preferred", "flight": { "departure_airport_code": "JFK", "departure_date": "2025-09-14", "arrival_airport_code": "DEL", "meal_type": "gfml", "seat_type": "aisle", "class": "business", "time_preference": "afternoon" } }, { "travel_mode": "hotel", "is_personal_travel": false, "hotel": { "check_in_date": "2025-08-01", "check_out_date": "2025-08-14", "city": "New York" } }, { "travel_mode": "car", "is_personal_travel": false, "description": "Travel for the business meeting venue", "car": { "pick_up_location": "New York", "pick_up_date": "2025-09-02", "drop_off_location": "New Jersey", "drop_off_date": "2025-09-02", "car_type": "small", "driver_type": "not_available" } }, { "travel_mode": "bus", "is_personal_travel": true, "description": "", "bus": { "departure_city": "New York", "departure_date": "2025-09-04", "arrival_city": "New Rochelle" } }, { "travel_mode": "train", "is_personal_travel": false, "description": "Travel to the meeting venue with the customer", "train": { "departure_city": "New York", "departure_date": "2025-09-08", "arrival_city": "New Philadelphia" } }, { "travel_mode": "ferry", "is_personal_travel": false, "ferry": { "departure_city": "Ahuas", "departure_date": "2025-09-24", "arrival_city": "Agrinion" } } ] }

Response Example

{ "code": 0, "message": "Trip details updated successfully", "trip": { "trip_id": "34017000000000103", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "policy_id": "30082000000003588", "policy_name": "Official Trips", "is_visa_required": false, "start_date": "2017-02-21", "end_date": "2017-02-27", "trip_number": "TRIP-00001", "business_purpose": "Meeting with client", "departure": "ABC International Airport", "destination_country": "Australia", "destination_city": "melbourne", "is_billable": false, "status": "approved", "budget": { "currency_id": "238277000000000097", "currency_code": "USD", "exchange_rate": 94.482237, "amount": 100, "amount_formatted": "$100.00", "price_precision": 2, "bcy_amount": 9448.22, "bcy_amount_formatted": "₹9,448.22" }, "no_of_days": 45, "itineraries": [ { "itinerary_id": "238277000000820086", "travel_mode": "flight", "is_personal_travel": false, "description": "Flights at 7AM is most preferred", "flight": { "departure_airport_code": "DEL", "departure_date": "2025-09-01", "arrival_airport_code": "JFK", "meal_type": "avml", "seat_type": "window", "class": "premium_economy", "time_preference": "morning" } }, { "itinerary_id": "238277000000820088", "travel_mode": "flight", "is_personal_travel": false, "description": "10PM flights are most preferred", "flight": { "departure_airport_code": "JFK", "departure_date": "2025-09-14", "arrival_airport_code": "DEL", "meal_type": "gfml", "seat_type": "aisle", "class": "business", "time_preference": "afternoon" } }, { "itinerary_id": "238277000000820090", "travel_mode": "hotel", "is_personal_travel": false, "hotel": { "check_in_date": "2025-08-01", "check_out_date": "2025-08-14", "city": "New York" } }, { "itinerary_id": "238277000000820092", "travel_mode": "car", "is_personal_travel": false, "description": "Travel for the business meeting venue", "car": { "pick_up_location": "New York", "pick_up_date": "2025-09-02", "drop_off_location": "New Jersey", "drop_off_date": "2025-09-02", "car_type": "small", "driver_type": "not_available" } }, { "itinerary_id": "238277000000820094", "travel_mode": "bus", "is_personal_travel": true, "description": "", "bus": { "departure_city": "New York", "departure_date": "2025-09-04", "arrival_city": "New Rochelle" } }, { "itinerary_id": "238277000000820096", "travel_mode": "train", "is_personal_travel": false, "description": "Travel to the meeting venue with the customer", "train": { "departure_city": "New York", "departure_date": "2017-09-08", "arrival_city": "New Philadelphia" } }, { "itinerary_id": "238277000000820098", "travel_mode": "ferry", "is_personal_travel": false, "description": "", "ferry": { "departure_city": "Ahuas", "departure_date": "2025-09-24", "arrival_city": "Agrinion" } } ] } }

Retrieve details of a trip AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Retrieve details of an existing trip.
OAuth Scope : ZohoExpense.trip.READ

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103") .get() .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/expense/v1/trips/34017000000000103", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103 \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695'

Response Example

{ "code": 0, "message": "success", "trip": { "trip_id": "34017000000000103", "travel_type": "international", "trip_name": "Delhi to New York", "destination_country_code": "US", "policy_id": "30082000000003588", "policy_name": "Official Trips", "is_visa_required": false, "start_date": "2017-02-21", "end_date": "2017-02-27", "trip_number": "TRIP-00001", "business_purpose": "Meeting with client", "departure": "ABC International Airport", "destination_country": "Australia", "destination_city": "melbourne", "is_billable": false, "status": "approved", "budget": { "currency_id": "238277000000000097", "currency_code": "USD", "exchange_rate": 94.482237, "amount": 100, "amount_formatted": "$100.00", "price_precision": 2, "bcy_amount": 9448.22, "bcy_amount_formatted": "₹9,448.22" }, "no_of_days": 45, "itineraries": [ { "itinerary_id": "238277000000820086", "travel_mode": "flight", "is_personal_travel": false, "description": "Flights at 7AM is most preferred", "flight": { "departure_airport_code": "DEL", "departure_date": "2025-09-01", "arrival_airport_code": "JFK", "meal_type": "avml", "seat_type": "window", "class": "premium_economy", "time_preference": "morning" } }, { "itinerary_id": "238277000000820088", "travel_mode": "flight", "is_personal_travel": false, "description": "10PM flights are most preferred", "flight": { "departure_airport_code": "JFK", "departure_date": "2025-09-14", "arrival_airport_code": "DEL", "meal_type": "gfml", "seat_type": "aisle", "class": "business", "time_preference": "afternoon" } }, { "itinerary_id": "238277000000820090", "travel_mode": "hotel", "is_personal_travel": false, "hotel": { "check_in_date": "2025-08-01", "check_out_date": "2025-08-14", "city": "New York" } }, { "itinerary_id": "238277000000820092", "travel_mode": "car", "is_personal_travel": false, "description": "Travel for the business meeting venue", "car": { "pick_up_location": "New York", "pick_up_date": "2025-09-02", "drop_off_location": "New Jersey", "drop_off_date": "2025-09-02", "car_type": "small", "driver_type": "not_available" } }, { "itinerary_id": "238277000000820094", "travel_mode": "bus", "is_personal_travel": true, "description": "", "bus": { "departure_city": "New York", "departure_date": "2025-09-04", "arrival_city": "New Rochelle" } }, { "itinerary_id": "238277000000820096", "travel_mode": "train", "is_personal_travel": false, "description": "Travel to the meeting venue with the customer", "train": { "departure_city": "New York", "departure_date": "2017-09-08", "arrival_city": "New Philadelphia" } }, { "itinerary_id": "238277000000820098", "travel_mode": "ferry", "is_personal_travel": false, "description": "", "ferry": { "departure_city": "Ahuas", "departure_date": "2025-09-24", "arrival_city": "Agrinion" } } ] } }

Delete a trip request AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Delete a trip request. Approved, Closed and Cancelled trips cannot be deleted.
OAuth Scope : ZohoExpense.trip.DELETE

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103" type: DELETE headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103") .delete(null) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/expense/v1/trips/34017000000000103", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103 \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695'

Response Example

{ "code": 0, "message": "Trip(s) deleted successfully" }

Approve a trip request AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Approve a submitted trip request.
OAuth Scope : ZohoExpense.approval.CREATE

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103/approve" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103/approve") .post(null) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103/approve', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/expense/v1/trips/34017000000000103/approve", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103/approve", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103/approve \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695'

Response Example

{ "code": 0, "message": "Trip approved successfully" }

Reject a trip request AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Reject a submitted trip request.
OAuth Scope : ZohoExpense.approval.CREATE

Arguments

comments
array
List of comments associated with the trip.
Show Sub-Attributes arrow
description
string
Any comments about the trip.
commented_by_id
string
Unique ID of the person who commented.
commented_by
string
Name of the User Commented.

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103/reject" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103/reject") .post(body) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103/reject', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/expense/v1/trips/34017000000000103/reject", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103/reject", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103/reject \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "comments": [ { "description": "Regarding business proposal", "commented_by_id": "34017000000091216", "commented_by": "Will Smith" } ] }

Response Example

{ "code": 0, "message": "Trip has been rejected." }

Cancel a trip AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Cancel a trip.
OAuth Scope : ZohoExpense.trip.CREATE

Arguments

comments
array
List of comments associated with the trip.
Show Sub-Attributes arrow
description
string
Any comments about the trip.
commented_by_id
string
Unique ID of the person who commented.
commented_by
string
Name of the User Commented.

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103/cancel" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103/cancel") .post(body) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103/cancel', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/expense/v1/trips/34017000000000103/cancel", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103/cancel", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103/cancel \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "comments": [ { "description": "Regarding business proposal", "commented_by_id": "34017000000091216", "commented_by": "Will Smith" } ] }

Response Example

{ "code": 0, "message": "Trip has been marked 'Cancelled'." }

Close a trip AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Close an approved trip.
OAuth Scope : ZohoExpense.trip.CREATE

Path Parameters

trip_id
string
(Required)
Unique identifier of the trip.

Headers

X-com-zoho-expense-organizationid
string
(Required)
ID of the organization

Request Example

Click to copy
headers_data = Map(); headers_data.put("X-com-zoho-expense-organizationid", "10234695"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/expense/v1/trips/34017000000000103/close" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/expense/v1/trips/34017000000000103/close") .post(null) .addHeader("X-com-zoho-expense-organizationid", "10234695") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { 'X-com-zoho-expense-organizationid': '10234695', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/expense/v1/trips/34017000000000103/close', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'X-com-zoho-expense-organizationid': "10234695", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/expense/v1/trips/34017000000000103/close", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/expense/v1/trips/34017000000000103/close", "headers": { "X-com-zoho-expense-organizationid": "10234695", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url https://www.zohoapis.com/expense/v1/trips/34017000000000103/close \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-com-zoho-expense-organizationid: 10234695'

Response Example

{ "code": 0, "message": "Trip closed successfully" }