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

Staff

Staff are your employees.

Notice: Do not Create Staff Here!

Staff created via this endpoint are only Accounting representations of the staff members of your business, for the purpose of ownership of invoices, expenses, etc. Staff created here will not be able to log in or work with you.

To create staff members for actual use (which will also create them in sync here), please use the Staff Invitation flow in the new FreshBooks’ web interface.

Access Requirements

AccessRequires Authorization
Scopesuser:teams:read

Includes

Include NameDescription
projectidsinclude related projectids in staff

Filters

Filter TypeNameFieldDescription
Equalsuseriduseridmatches exact userid
Inuseridsuseridmatches list of userids, one specified per query arg
Exactuser_levelsspecialexact match for ‘admin’ or ‘staff’ to filter for that type of user
Likeuser_likespecialmatches staff with lname, fname, or organization containing parameter
Likenote_likenotenote containing the parameter
PhoneLikephone_likeNonephone number containing the parameter
Likeemail_likeemailemail containing the parameter

Field Descriptions

underlined fields are required on creation

FieldTypeDescription
faxstringfax number
ratedecimalrate this staff is billed at
num_loginsinthow many times staff has logged in
api_tokenstringtoken used for deprecated FreshBooks Classic API
idintunique to this business id for staff
notestringnotes about staff
display_namestringname chosen by staff member to display
lnamestringlast name
mob_phonestringmobile phone number
last_logindatetimedate staff account was last logged in to, YYYY-MM-DD HH:MM:SS format
home_phonestringhome phone number
emailstringemail address for staff
usernamestringusername for staff; randomly assigned if none specified at creation time
updateddatetimedate staff object was last updated, YYYY-MM-DD HH:MM:SS format
p_provincestringbilling address province
p_citystringbilling address city
p_codestringbilling address zip code
p_countrystringbilling address country
accounting _systemidstringunique identifier of business staff exists on
bus_phonestringbusiness phone number
signup_datedatetimedate staff account was created, YYYY-MM-DD HH:MM:SS format
languagestringstaff’s selected language
levelintdeprecated description of access level
useridintduplicate of id
p_street2stringbilling address secondary street info
vis_stateint“visibility state”, active, deleted, or archived
fnamestringfirst name
organizationstringorganization staff member is affiliated with
p_streetstringbilling address primary street info
currency_codestring3-letter shortcode for preferred currency

Get Single Staff

Request: GET https://api.freshbooks.com/accounting/account/<accountid>/users/staffs/<id>

Response:

{
  "response": {
    "result": {
      "staff": {
        "fax": "",
        "rate": null,
        "num_logins": 0,
        "api_token": null,
        "id": 2194844,
        "note": null,
        "display_name": "",
        "lname": "",
        "mob_phone": "",
        "last_login": "2016-08-05 10:38:41",
        "home_phone": null,
        "email": "[email protected]",
        "username": "MHzxqDerKq",
        "updated": "2016-08-05 10:38:41",
        "p_province": "",
        "p_city": "",
        "p_code": "",
        "p_country": "",
        "accounting_systemid": "KAG77",
        "bus_phone": "",
        "signup_date": "2016-08-05 10:38:41",
        "language": "en",
        "level": 1,
        "userid": 2194844,
        "p_street2": "",
        "vis_state": 0,
        "fname": "",
        "organization": "",
        "p_street": "",
        "currency_code": null
      },
    }
  }
}

Create Single Staff (deprecated)

Create

Do not create Staff using this endpoint!

Staff created via this endpoint are only Accounting representations of the staff members of your business, for the purpose of ownership of invoices, expenses, etc. Staff created here will not be able to log in or work with you.

To create staff members for actual use (which will also create them in sync here), please use the Staff Invitation flow in the new FreshBooks’ web interface.

Update Single Staff

Request: PUT https://api.freshbooks.com/accounting/account/<accountid>/users/staffs/<id>

{
  "staff": {
    "email": "[email protected]"
  }
}

Response:

{
  "response": {
    "result": {
      "staff": {
        "fax": "",
        "rate": null,
        "num_logins": 0,
        "api_token": null,
        "id": 2194844,
        "note": null,
        "display_name": "",
        "lname": "",
        "mob_phone": "",
        "last_login": "2016-08-05 10:38:41",
        "home_phone": null,
        "email": "[email protected]",
        "username": "MHzxqDerKq",
        "updated": "2016-08-05 10:38:41",
        "p_province": "",
        "p_city": "",
        "p_code": "",
        "p_country": "",
        "accounting_systemid": "KAG77",
        "bus_phone": "",
        "signup_date": "2016-08-05 10:38:41",
        "language": "en",
        "level": 1,
        "userid": 2194844,
        "p_street2": "",
        "vis_state": 0,
        "fname": "",
        "organization": "",
        "p_street": "",
        "currency_code": null
      },
    }
  }
}

Delete Single Staff

Request: PUT https://api.freshbooks.com/accounting/account/<accountid>/users/staffs/<id>

{
  "staff": {
    "vis_state": 1
  }
}

Response:

{
  "response": {}
}

List Staff

Request: GET https://api.freshbooks.com/accounting/account/<accountid>/users/staffs

Response:

{
  "response": {
    "result": {
      "per_page": 15,
      "pages": 1,
      "total": 3,
      "page": 1,
      "staff": [
        {
          // same format as single staff
        },
        {
          // same format as single staff
        },
        {
          // same format as single staff
        }
      ]
    }
  }
}

Get Single Staff

Request: GET
https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt


url = "https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt"
headers = {'Authorization': 'Bearer &ltBearer Token&gt', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)

Response:


{
  "response": {
    "result": {
      "staff": {
        "fax": "",
        "rate": null,
        "num_logins": 0,
        "api_token": null,
        "id": 2194844,
        "note": null,
        "display_name": "",
        "lname": "",
        "mob_phone": "",
        "last_login": "2016-08-05 10:38:41",
        "home_phone": null,
        "email": "[email protected]",
        "username": "MHzxqDerKq",
        "updated": "2016-08-05 10:38:41",
        "p_province": "",
        "p_city": "",
        "p_code": "",
        "p_country": "",
        "accounting_systemid": "KAG77",
        "bus_phone": "",
        "signup_date": "2016-08-05 10:38:41",
        "language": "en",
        "level": 1,
        "userid": 2194844,
        "p_street2": "",
        "vis_state": 0,
        "fname": "",
        "organization": "",
        "p_street": "",
        "currency_code": null
      },
    }
  }
}

Create Single Staff(deprecated)

Do not create staff using this endpoint!

Staff created via this endpoint are only Accounting representations of the staff members of your business, for the purpose of ownership of invoices, expenses, etc. Staff created here will not be able to log in or work with you.

To create staff members for actual use (which will also create them in sync here), please use the staff invitation flow in the new FreshBooks’ web interface.

Update Single Staff

Request: PUT
https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt


url = "https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt"
headers = {'Authorization': 'Bearer &ltBearer Token&gt', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
  "staff": {
    "email": "[email protected]"
  }
}
res = requests.put(url, data=json.dumps(payload), headers=headers)

Delete Single Staff

Request: PUT
https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt


url = "https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs/&ltid&gt"
headers = {'Authorization': 'Bearer &ltBearer Token&gt', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
  "vis_state": 1
}
res = requests.put(url, data=json.dumps(payload), headers=headers)

Response:


{
  "response": {}
}

List Staff

Request: GET
https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs


url = "https://api.freshbooks.com/accounting/account/&ltaccountid&gt/users/staffs"
headers = {'Authorization': 'Bearer &ltBearer Token&gt', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)

Response:


{
  "response": {
    "result": {
      "per_page": 15,
      "pages": 1,
      "total": 3,
      "page": 1,
      "staff": [
        {
          // same format as single staff
        },
        {
          // same format as single staff
        },
        {
          // same format as single staff
        }
      ]
    }
  }
}