× FreshBooks App Logo
FreshBooks
Official App
Free - Google Play
Get it
You're currently on our US site. Select your regional site here:

Services

In Freshbooks services represent things that your business offers to clients. Services are added to projects to to allow tracking of time entries by type of work. Services keep track of details such as hourly rate. Services automatically get converted to tasks for inclusion on invoices.

Access Requirements

AccessRequires Authorization
Scopesuser:billable_items:read
user:billable_items:write

Important Note

When using GET calls for Projects and Time Tracking, please leave out the Content Type from your header.

Includes

IncludeDescription
include_task_idInclude the accounting task_id in the response

Filters

There are no filters for services.

Field Descriptions

underlined fields are required on creation

FieldTypeDescription
business_idintunique id for business
iditunique id of the service 
namestringdescriptive name of service
billableboolwhether the service is billable to clients or not
project_defaultboolwhether the service will be automatically added to new projects in the FreshBooks UI (will not be automatically added in API calls)
vis_stateint0 for active, 1 for deleted

Get Single Service

Request: GET https://api.freshbooks.com/comments/business/<businessid>/service/<serviceid>

Response:

{
   "service" : {
     "business_id": 25,
     "id": 4054453,
     "name": "Document Review",
     "billable": true,
     "vis_state": 0
     }
}

Get Single Service Rate

Request: GET https://api.freshbooks.com/comments/business/<businessid>/service/<serviceid>/rate

Response:

{
   "service_rate" : {
     "rate": "10.00",
     "business_id": 25,
     "service_id": 4054453
    }
}

Create a Service

Request: POST https://api.freshbooks.com/comments/business/<businessid>/service

{
   "service" : {
     "name": "Research"
    }
}


Response:


{
   "service" : {
     "business_id": 25,
     "id": 4054453,
     "name": "Research",
     "billable": false,
     "vis_state": 0
     }
}

Add a Service Rate

Request: POST https://api.freshbooks.com/comments/business/<businessid>/service/<serviceid>/rate

{
   "service_rate" : {
     "rate": "10.00"
    }
}

Update a Service Rate

Request: PUT https://api.freshbooks.com/comments/business/<businessid>/service/<service_id>/rate

{
   "service_rate" : {
     "rate": "10.00"
    }
}

List Services

Request: GET 

https://api.freshbooks.com/comments/business/<businessid>/services



Response:

{
   "services" : [
     {
     "business_id": 25,
     "id": 4054453,
     "name": "Document Review",
     "billable": true,
     "vis_state": 0
     },
     {
     "business_id": 1,
     "id": 4054451,
     "name": "Administration",
     "billable": false,
     "vis_state": 0
     }
   ], 
  "meta": {
       "total": 2,
       "per_page": 50,
       "page": 1,
       "pages": 1
  }
}

List Services

Request: GET

https://api.freshbooks.com/comments/business/<businessid>/services


url = "https://api.freshbooks.com/comments/business/<businessid>/services"
headers = {'Authorization': 'Bearer &ltBearer Token&gt', 'Api-Version': 'alpha'}
res = requests.get(url, data=None, headers=headers)


Response:


{
   "services" : [
     {
     "business_id": 25,
     "id": 4054453,
     "name": "Document Review",
     "billable": true,
     "vis_state": 0
     },
     {
     "business_id": 1,
     "id": 4054451,
     "name": "Administration",
     "billable": false,
     "vis_state": 0
     }
   ], 
  "meta": {
       "total": 2,
       "per_page": 50,
       "page": 1,
       "pages": 1
  }
}