Items
Items are stored from invoice lines to make invoicing easier in the future.
Access Requirements
| Access | Requires Authorization |
| Scopes | user:billable_items:read |
Includes
There are no includes to specify for items.
Filters
| Filter Type | Name | Field | Description |
|---|---|---|---|
| Equals | itemid | itemid | matches exact itemid |
| Equals | sku | sku | matches exact SKU |
| In | itemids | itemid | matches list of itemids, one specified per query arg |
| Like | description | description | descriptions containing the parameter |
| Between | unit_cost_min | unit_cost | unit costs greater than parameter |
| Between | unit_cost_max | unit_cost | unit costs less than parameter |
| Between | inventory_min | inventory | inventory count greater than parameter |
| Between | inventory _max | inventory | inventory count less than parameter |
| Between | updated_min | updated | date greater than or equal to parameter, YYYY-MM-DD format |
| Between | updated_max | updated | date less than parameter, YYYY-MM-DD format |
| Between | qty_min | qty | quantity greater than parameter |
| Between | qty_max | qty | quantity less than parameter |
Field Descriptions
underlined fields are required on creation
| Field | Type | Description |
|---|---|---|
| id | int | unique id of item within this business |
| itemid | int | duplicate of id |
| accounting _systemid | string | unique id of business client exists on |
| description | string | descriptive text for item |
| inventory | string | decimal-string count of inventory |
| name | string | descriptive name of item |
| qty | string | decimal-string number to multiply unit cost by |
| sku | string | id for a specific item or product, used in inventory management. Note the sku is not currently available in the FreshBooks UI. |
| tax1 | int | id of default tax for the item |
| tax2 | int | id of second default tax for the item |
| unit_cost | object | subfields: amount and code |
| – amount | string | decimal-string of amount per unit |
| – code | string | three-letter currency code |
| updated | datetime | date item was last updated |
| vis_state | int | 0 for active, 1 for deleted, 2 archived |
Get Single Item
Request: GET https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>
Response:
{
"response": {
"result": {
"item": {
"itemid": 201225,
"accounting_systemid": "zDmNq",
"updated": "2016-07-20 15:36:09",
"name": "Monkeys",
"qty": "21",
"sku": "FB0192374221",
"inventory": null,
"unit_cost": {
"amount": "1234.00",
"code": "USD"
},
"tax1": 58730,
"vis_state": 0,
"tax2": 58729,
"id": 201225,
"description": "monkey descriptor"
}
}
}
}
Create Single Item
Request: POST "https://api.freshbooks.com/accounting/account/<accountid>/items/items"
{
"item": {
"name": "some item"
}
}
Response:
{
"response": {
"result": {
"item": {
"itemid": 257880,
"accounting_systemid": "zDmNq",
"updated": "2016-09-29 22:05:59",
"name": "some item",
"qty": "0",
"sku": null,
"inventory": null,
"unit_cost": {
"amount": "0.00",
"code": "USD"
},
"tax1": 0,
"vis_state": 0,
"tax2": 0,
"id": 257880,
"description": null
}
}
}
}
Update Single Item
Request: PUT "https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
{
"item": {
"name": "other item"
}
}
Response:
{
"response": {
"result": {
"item": {
"itemid": 257880,
"accounting_systemid": "zDmNq",
"updated": "2016-09-29 22:05:59",
"name": "other item",
"qty": "0",
"sku": "FB0192374221",
"inventory": null,
"unit_cost": {
"amount": "0.00",
"code": "USD"
},
"tax1": 0,
"vis_state": 0,
"tax2": 0,
"id": 257880,
"description": null
}
}
}
}
Delete Single Item
Request: PUT https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>
{
"item": {
"vis_state": 1
}
}
Response:
{
"response": {}
}
List Items
Request: GET https://api.freshbooks.com/accounting/account/<accountid>/items/items
Response:
{
"response": {
"result": {
"items": [
{
// same format as single item
},
{
// same format as single item
},
{
// same format as single item
}
],
"pages": 1,
"total": 3,
"page": 1,
"per_page": 15
}
}
}
Get Single Item
Request: GET
"https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
url = "https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)
Response:
{
"response": {
"result": {
"item": {
"itemid": 201225,
"accounting_systemid": "zDmNq",
"updated": "2016-07-20 15:36:09",
"name": "Monkeys",
"qty": "21",
"inventory": null,
"unit_cost": {
"amount": "1234.00",
"code": "USD"
},
"tax1": 58730,
"vis_state": 0,
"tax2": 58729,
"id": 201225,
"description": "monkey descriptor"
}
}
}
}
Create Single Item
Request: POST
https://api.freshbooks.com/accounting/account/<accountid>/items/items
url = "https://api.freshbooks.com/accounting/account/<accountid>/items/items"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
"item": {
"name": "some item"
}
}
res = requests.post(url, data=json.dumps(payload), headers=headers)
Update Single Item
Request: PUT
"https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
url = "https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
"item": {
"name": "other item"
}
}
res = requests.put(url, data=json.dumps(payload), headers=headers)
Response:
{
"response": {
"result": {
"item": {
"itemid": 257880,
"accounting_systemid": "zDmNq",
"updated": "2016-09-29 22:05:59",
"name": "other item",
"qty": "0",
"inventory": null,
"unit_cost": {
"amount": "0.00",
"code": "USD"
},
"tax1": 0,
"vis_state": 0,
"tax2": 0,
"id": 257880,
"description": null
}
}
}
}
Delete Single Item
Request: PUT
https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>
url = "https://api.freshbooks.com/accounting/account/<accountid>/items/items/<id>"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
payload = {
"item": {
"vis_state": 1
}
}
res = requests.put(url, data=json.dumps(payload), headers=headers)
Response:
{
"response": {}
}
List items
Request: GET
https://api.freshbooks.com/accounting/account/<accountid>/items/items
url = "https://api.freshbooks.com/accounting/account/<accountid>/items/items"
headers = {'Authorization': 'Bearer <Bearer Token>', 'Api-Version': 'alpha', 'Content-Type': 'application/json'}
res = requests.get(url, data=None, headers=headers)
Response:
{
"response": {
"result": {
"items": [
{
// same format as single item
},
{
// same format as single item
},
{
// same format as single item
}
],
"pages": 1,
"total": 3,
"page": 1,
"per_page": 15
}
}
}
