Migration Guide for Freshservice API v1 to Freshservice API v2

This document lists the mapping of endpoints between Freshservice API v1 and Freshservice API v2. We hope this will help developers using API v1 to migrate their applications to use the corresponding API v2 endpoints.

Tickets

Create ticket

Version Method Endpoint
v1 POST /helpdesk/tickets.json
v2 POST /api/v2/tickets

Create ticket with attachment

Version Method Endpoint
v1 POST /helpdesk/tickets/{ticket_id}.json
v2 POST /api/v2/tickets

View a Ticket

Version Method Endpoint
v1 GET /helpdesk/tickets/{ticket_id}
v2 GET /api/v2/tickets/{ticket_id}

View list of Tickets

Version Method Endpoint
v1 GET /helpdesk/tickets.json
v2 GET /api/v2/tickets

Update a Ticket

Version Method Endpoint
v1 PUT /helpdesk/tickets/{ticket_id}.json
v2 PUT /api/v2/tickets/{ticket_id}

Delete a Ticket

Version Method Endpoint
v1 DELETE /helpdesk/tickets/{ticket_id}.json
v2 DELETE /api/v2/tickets/{ticket_id}

Get all Ticket Fields

Version Method Endpoint
v1 GET /ticket_fields.json
v2 GET /api/v2/ticket_fields
/api/v2/ticket_form_fields

Add a note to a Ticket

Version Method Endpoint
v1 POST /helpdesk/tickets/{ticket_id}/conversations/note.json
v2 POST /api/v2/tickets/{ticket_id}/notes

Add a note with an attachment

Version Method Endpoint
v1 POST /helpdesk/tickets/{ticket_id}/conversations/note.json
v2 POST /api/v2/tickets/{ticket_id}/notes

Associate a CI/Asset to a Ticket

Version Method Endpoint
v1 POST /helpdesk/tickets.json
v2 POST /api/v2/tickets

Problems

Create a Problem

Version Method Endpoint
v1 POST /itil/problems.json
v2 POST /api/v2/problems

View a Problem

Version Method Endpoint
v1 GET /itil/problems/{problem_id}.json
v2 GET /api/v2/problems/{problem_id}

View list of Problems

Version Method Endpoint
v1 GET /itil/problems.json
v2 GET /api/v2/problems

Update a Problem

Version Method Endpoint
v1 PUT /itil/problems/{problem_id}.json
v2 PUT /api/v2/problems/{problem_id}

Delete a Problem

Version Method Endpoint
v1 DELETE /itil/problems/{problem_id}.json
v2 DELETE /api/v2/problems/{problem_id}

Get all Problem Fields

Version Method Endpoint
v1 GET /itil/problem_fields.json
v2 GET /api/v2/problem_form_fields

Add a note to a Problem

Version Method Endpoint
v1 POST /itil/problems/{problem_id}/notes.json
v2 POST /api/v2/problems/{problem_id}/notes

Detach Asset from a Problem

Version Method Endpoint
v1 PUT /itil/problems/{problem_id}/detach_ci.json
v2 PUT /api/v2/problems/{problem_id}

Changes

Create a Change

Version Method Endpoint
v1 POST /itil/changes.json
v2 POST /api/v2/changes

View a Change

Version Method Endpoint
v1 GET /itil/changes/{change_id}.json
v2 GET /api/v2/changes/{change_id}

View list of Changes

Version Method Endpoint
v1 GET /itil/changes.json
v2 GET /api/v2/changes

Update a Change

Version Method Endpoint
v1 PUT /itil/changes/{change_id}.json
v2 PUT /api/v2/changes/{change_id}

Delete a Change

Version Method Endpoint
v1 DELETE /itil/changes/{change_id}.json
v2 DELETE /api/v2/changes/{change_id}

Get all Change Fields

Version Method Endpoint
v1 GET /itil/changes_fields.json
v2 GET /api/v2/change_fields
/api/v2/change_form_fields

Add a note to a Change

Version Method Endpoint
v1 POST /itil/changes/{change_id}/notes.json
v2 POST /api/v2/changes/{change_id}/notes

Detach an asset from a Change

Version Method Endpoint
v1 PUT /itil/changes/{change_id}/detach_ci.json
v2 PUT /api/v2/changes/{change_id}

Releases

Create a Release

Version Method Endpoint
v1 POST /itil/releases.json
v2 POST /api/v2/releases

View a Release

Version Method Endpoint
v1 GET /itil/releases/{release_id}.json
v2 GET /api/v2/releases/{release_id}

View list of Releases

Version Method Endpoint
v1 GET /itil/releases.json
v2 GET /api/v2/releases

Update a Release

Version Method Endpoint
v1 PUT /itil/releases/{release_id}.json
v2 PUT /api/v2/releases/{release_id}

Delete a Release

Version Method Endpoint
v1 DELETE /itil/releases/{release_id}.json
v2 DELETE /api/v2/releases/{release_id}

Get all Release Fields

Version Method Endpoint
v1 GET /itil/release_fields.json
v2 GET /api/v2/release_form_fields

Add a note to a Release

Version Method Endpoint
v1 POST /itil/releases/{release_id}/notes.json
v2 POST /api/v2/releases/{release_id}/notes

Detach asset from a Release

Version Method Endpoint
v1 PUT /itil/releases/{release_id}/detach_ci.json
v2 PUT /api/v2/releases/{release_id}

Time Entries

Create Time Entry

Version Method Endpoint
v1 POST /itil/{module_name}/{module_item_id}/time_sheets.json
v2 POST /api/v2/tickets/{ticket_id}/time_entries
/api/v2/problems/{problem_id}/time_entries
/api/v2/changes/{change_id}/time_entries
/api/v2/releases/{release_id}/time_entries

View by Module Time Entry

Version Method Endpoint
v1 GET /itil/{module_name}/{module_item_id}/time_sheets.json
v2 GET /api/v2/tickets/{ticket_id}/time_entries
/api/v2/problems/{problem_id}/time_entries
/api/v2/changes/{change_id}/time_entries
/api/v2/releases/{release_id}/time_entries

Update Time Entry

Version Method Endpoint
v1 PUT /itil/{module_name}/{module_item_id}/time_sheets/{time_entry_id}.json
v2 PUT /api/v2/tickets/{ticket_id}/time_entries/{time_entry_id}
/api/v2/problems/{problem_id}/time_entries/{time_entry_id}
/api/v2/changes/{change_id}/time_entries/{time_entry_id}
/api/v2/releases/{release_id}/time_entries/{time_entry_id}

Start/stop Timer

Version Method Endpoint
v1 PUT /itil/{module_name}/{module_item_id}/time_sheets/{time_entry_id}/toggle_timer.json
v2 PUT /api/v2/tickets/{ticket_id}/time_entries/{time_entry_id}
/api/v2/problems/{problem_id}/time_entries/{time_entry_id}
/api/v2/changes/{change_id}/time_entries/{time_entry_id}
/api/v2/releases/{release_id}/time_entries/{time_entry_id}

Delete Time Entry

Version Method Endpoint
v1 DELETE /itil/{module_name}/{module_item_id}/time_sheets/{time_entry_id}.json
v2 DELETE /api/v2/tickets/{ticket_id}/time_entries/{time_entry_id}

Tasks

Create a Task

Version Method Endpoint
v1 POST /itil/{module_name}/{module_item_id/it_tasks.json
v2 POST /api/v2/tickets/{ticket_id}/tasks
/api/v2/problems/{problem_id}/tasks
/api/v2/changes/{change_id}/tasks
/api/v2/releases/{release_id}/tasks

View my Tasks

Version Method Endpoint
v1 POST /itil/it_tasks.json
v2 Not available in v2

View a specific Task

Version Method Endpoint
v1 GET /itil/{module_name}/{module_item_id}/it_tasks/{task_id}.json
v2 GET /api/v2/tickets/{ticket_id}/tasks/{task_id}
/api/v2/problems/{problem_id}/tasks/{task_id}
/api/v2/changes/{change_id}/tasks/{task_id}
/api/v2/releases/{release_id}/tasks/{task_id}

View Task by Module Item

Version Method Endpoint
v1 GET /itil/{module_name}/{module_item_id}/it_tasks.json
v2 GET /api/v2/tickets/{ticket_id}/tasks
/api/v2/problems/{problem_id}/tasks
/api/v2/changes/{change_id}/tasks
/api/v2/releases/{release_id}/tasks

Update a Task

Version Method Endpoint
v1 PUT /itil/{module_name}/{module_item_id}/it_tasks/{task_id}.json
v2 PUT /api/v2/tickets/{ticket_id}/tasks/{task_id}
/api/v2/problems/{problem_id}/tasks/{task_id}
/api/v2/changes/{change_id}/tasks/{task_id}
/api/v2/releases/{release_id}/tasks/{task_id}

Delete a Task

Version Method Endpoint
v1 DELETE /itil/{module_name}/{module_item_id}/it_tasks/{task_id}.json
v2 DELETE /api/v2/tickets/{ticket_id}/tasks/{task_id}
/api/v2/problems/{problem_id}/tasks/{task_id}
/api/v2/changes/{change_id}/tasks/{task_id}
/api/v2/releases/{release_id}/tasks/{task_id}

Agents

View an Agent

Version Method Endpoint
v1 GET /agents/{agent_id}.json
v2 GET /api/v2/agents/{agent_id}

View all Agents

Version Method Endpoint
v1 GET /agents.json
v2 GET /api/v2/agents

Users

Create a User

Version Method Endpoint
v1 POST /itil/requesters.json
v2 POST /api/v2/requesters

View a User

Version Method Endpoint
v1 GET /itil/requesters/{requester_id}.json
v2 GET /api/v2/requesters/{requester_id}

View list of Users

Version Method Endpoint
v1 GET /itil/requesters.json
v2 GET /api/v2/requesters

Update a User

Version Method Endpoint
v1 PUT /itil/requesters/{requester_id}.json
v2 PUT /api/v2/requesters/{requester_id}

Deactivate a User

Version Method Endpoint
v1 DELETE /itil/requesters/{requester_id}.json
v2 DELETE /api/v2/requesters/{requester_id}

Departments

Create a Department

Version Method Endpoint
v1 POST /itil/departments.json
v2 POST /api/v2/departments

View a Department

Version Method Endpoint
v1 GET /itil/departments/{department_id}.json
v2 GET /api/v2/departments/{department_id}

View list of Departments

Version Method Endpoint
v1 GET /itil/departments.json
v2 GET /api/v2/departments

Update a Department

Version Method Endpoint
v1 PUT /itil/departments/{department_id}.json
v2 PUT /api/v2/departments/{department_id}

Delete a Department

Version Method Endpoint
v1 DELETE /itil/departments/{department_id}.json
v2 DELETE /api/v2/departments/{department_id}

Assets

Create an Asset

Version Method Endpoint
v1 POST /cmdb/items.json
v2 POST /api/v2/assets

Get all CI/Asset Types

Version Method Endpoint
v1 GET /cmdb/ci_types.json
v2 GET /api/v2/asset_types

Get all CI/Asset Type Fields

Version Method Endpoint
v1 POST /cmdb/ci_types/{asset_type_id}.json
v2 POST /api/v2/assets_types/{asset_type_id}/fields

View an Asset

Version Method Endpoint
v1 GET /cmdb/items/{asset_id}.json
v2 GET /api/v2/assets/{display_id}

View list of Assets

Version Method Endpoint
v1 GET /cmdb/items.json
v2 GET /api/v2/assets

Update an Asset

Version Method Endpoint
v1 PUT /cmdb/items/{asset_id}.json
v2 PUT /api/v2/assets/{display_id}

Delete an Asset

Version Method Endpoint
v1 DELETE /cmdb/items/{asset_id}.json
v2 DELETE /api/v2/assets/{display_id}

Restore an Asset

Version Method Endpoint
v1 PUT /cmdb/items/{asset_id}/restore.json
v2 PUT /api/v2/assets/{display_id}/restore

Search Assets

Version Method Endpoint
v1 GET /cmdb/items/list.json?field=[field_param]&q=[query_param]
v2 GET /api/v2/assets?search=[query]

Relationship Types

List Relationship Types

Version Method Endpoint
v1 GET /cmdb/relationship_types/list.json
v2 GET /api/v2/relationship_types

Create a Relationship

Version Method Endpoint
v1 POST /cmdb/items/{item_id}/associate.json
v2 POST /api/v2/relationships/bulk-create

Delete a Relationship

Version Method Endpoint
v1 DELETE /cmdb/items/{item_id}/detach_relationship.json
v2 DELETE /api/v2/relationships?ids={item_ids}

View Relationships

Version Method Endpoint
v1 GET /cmdb/items/{item_id}/relationships.json
v2 GET /api/v2/relationships/{item_id}

Solution Category

Create a Solution Category

Version Method Endpoint
v1 POST /solution/categories.json
v2 POST /api/v2/solutions/categories

View a Solution Category

Version Method Endpoint
v1 GET /solution/categories/{category_id}.json
v2 GET /api/v2/solutions/categories/{category_id}

View all Solution Categories

Version Method Endpoint
v1 GET /solution/categories.json
v2 GET /api/v2/solutions/categories

Update a Solution Category

Version Method Endpoint
v1 PUT /solution/categories/{category_id}.json
v2 PUT /api/v2/solutions/categories/{category_id}

Delete a Solution Category

Version Method Endpoint
v1 DELETE /solution/categories/{category_id}.json
v2 DELETE /api/v2/solutions/categories/{category_id}

Solution Folder

Create a Solution Folder

Version Method Endpoint
v1 POST /solution/categories/{category_id}/folders.json
v2 POST /api/v2/solutions/folders

Update a Solution Folder

Version Method Endpoint
v1 PUT /solution/categories/{category_id}/folders/{folder_id}.json
v2 PUT /api/v2/solutions/folders/{folder_id}

View a Solution Folder

Version Method Endpoint
v1 GET /solution/categories/{category_id}.json
v2 GET /api/v2/solutions/folders/{folder_id}

Delete a Solution Folder

Version Method Endpoint
v1 DELETE /solution/categories/{category_id}/folders/{folder_id}.json
v2 DELETE /api/v2/solutions/folders/{folder_id}

Solution Article

Create a Solution Article

Version Method Endpoint
v1 POST /solution/categories/{category_id}/folders/{folder_id}/articles.json
v2 POST /api/v2/solutions/articles

Update a Solution Article

Version Method Endpoint
v1 PUT /solution/categories/{category_id}/folders/{folder_id}/articles/{article_id}.json
v2 PUT /api/v2/solutions/articles/{article_id}

View a Solution Article

Version Method Endpoint
v1 GET /solution/categories/{category_id}/folders/{folder_id}/articles/{article_id}.json
v2 GET /api/v2/solutions/articles/{article_id}

View all Solution Articles

Version Method Endpoint
v1 GET /solution/categories/{category_id}/folders/{folder_id}.json
v2 GET /api/v2/solutions/articles?folder_id={folder_id}

Delete a Solution Article

Version Method Endpoint
v1 DELETE /solution/categories/{category_id}/folders/{folder_id}/articles/{article_id}.json
v2 DELETE /api/v2/solutions/articles/{article_id}

Service Catalog

Create a Service Request

Version Method Endpoint
v1 POST /catalog/request_items/{item_display_id}/service_request.json
v2 POST /api/v2/service_catalog/items/{item_display_id}/place_request

View all Service Items

Version Method Endpoint
v1 GET /catalog/items.json
v2 GET /api/v2/service_catalog/items

View all Service Categories

Version Method Endpoint
v1 GET /catalog/categories.json
v2 GET /api/v2/service_catalog/categories

View all items in a category

Version Method Endpoint
v1 GET /catalog/categories/{category_id}/items.json
v2 GET /api/v2/service_catalog/items

View item details for a particular item

Version Method Endpoint
v1 GET /catalog/items/{item_display_id}.json
v2 GET /api/v2/service_catalog/items/{item_display_id}

Contracts

Create a Contract

Version Method Endpoint
v1 POST /cmdb/contracts.json
v2 POST /api/v2/contracts

Create a Contract with attachment

Version Method Endpoint
v1 POST /cmdb/contracts.json
v2 POST /api/v2/contracts

View a Contract

Version Method Endpoint
v1 GET /cmdb/contracts/{contract_id}.json
v2 GET /api/v2/contracts/{contract_id}

View list of Contracts

Version Method Endpoint
v1 GET /cmdb/contracts.json
v2 GET /api/v2/contracts

Update a Contract

Version Method Endpoint
v1 PUT /cmdb/contracts/{contract_id}.json
v2 PUT /api/v2/contracts/{contract_id}

Submit for approval

Version Method Endpoint
v1 PUT /cmdb/contracts/{contract_id}/submit_for_approval.json
v2 PUT /api/v2/contracts/{contract_id}?operation=submit-for-approval

Approve a Contract

Version Method Endpoint
v1 PUT /cmdb/contracts/{contract_id}/approve.json
v2 PUT /api/v2/contracts/{contract_id}?operation=approve

Reject a Contract

Version Method Endpoint
v1 PUT /cmdb/contracts/{contract_id}/reject.json
v2 PUT /api/v2/contracts/{contract_id}?operation=reject
4 Likes