openapi: 3.1.0
info:
title: Freshdesk REST Agents Business Hours API
description: The Freshdesk REST API (v2) provides programmatic access to helpdesk data and operations within Freshdesk, a customer support platform by Freshworks. It exposes endpoints for managing tickets, contacts, companies, agents, groups, conversations, products, email configurations, SLA policies, business hours, time entries, satisfaction ratings, solution categories, solution folders, solution articles, and more. The API uses JSON for request and response payloads, supports API key-based authentication, and follows RESTful conventions for CRUD operations.
version: '2.0'
contact:
name: Freshdesk Support
url: https://support.freshdesk.com/
termsOfService: https://www.freshworks.com/terms/
servers:
- url: https://{domain}.freshdesk.com/api/v2
description: Freshdesk Production Server
variables:
domain:
default: yourdomain
description: Your Freshdesk subdomain, e.g. if your helpdesk URL is acme.freshdesk.com, use acme.
security:
- basicAuth: []
tags:
- name: Business Hours
description: Manage business hour schedules used in SLA calculations.
paths:
/business_hours:
get:
operationId: listBusinessHours
summary: List all business hours
description: Retrieves a list of all business hour schedules.
tags:
- Business Hours
responses:
'200':
description: Successfully retrieved business hours.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BusinessHour'
'401':
$ref: '#/components/responses/Unauthorized'
/business_hours/{business_hour_id}:
get:
operationId: getBusinessHour
summary: View a business hour schedule
description: Retrieves the details of a specific business hour schedule by ID.
tags:
- Business Hours
parameters:
- $ref: '#/components/parameters/businessHourId'
responses:
'200':
description: Successfully retrieved business hour schedule.
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessHour'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Authentication failed or credentials were not provided.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
BusinessHour:
type: object
properties:
id:
type: integer
format: int64
description: Unique identifier of the business hour schedule.
name:
type: string
description: Name of the business hour schedule.
description:
type: string
nullable: true
description: Description of the business hour schedule.
is_default:
type: boolean
description: Whether this is the default business hour schedule.
time_zone:
type: string
description: Time zone of the business hours, e.g. America/New_York.
business_hours:
type: object
additionalProperties: true
description: Day-by-day business hour configuration with start and end times.
created_at:
type: string
format: date-time
description: Timestamp when the schedule was created.
updated_at:
type: string
format: date-time
description: Timestamp when the schedule was last updated.
Error:
type: object
properties:
description:
type: string
description: Human-readable error description.
errors:
type: array
items:
type: object
properties:
field:
type: string
description: Field that caused the error.
message:
type: string
description: Error message for the field.
code:
type: string
description: Error code.
parameters:
businessHourId:
name: business_hour_id
in: path
required: true
description: Unique identifier of the business hour schedule.
schema:
type: integer
format: int64
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Freshdesk uses API key-based authentication. Pass your API key as the username with any string (e.g. X) as the password using HTTP Basic Authentication.
externalDocs:
description: Freshdesk API Documentation
url: https://developers.freshdesk.com/api/