This call returns a list of Companies based on the filters specified. The fields parameter allows you to choose which data fields to return for each Company.
fields
contactdetails
apifields
apifieldsmode
divisionid
id
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchcode
searchemail
searchname
tagid
type
pagenumber
pagesize
sortby
sortorder
This call adds one or more Companies.
Show Sample POST data
{
"name":"ABC Ltd",
"type":"client"
}
[
{
"name":"ABC Ltd",
"type":"client"
},
{
"name":"DEF Co",
"type":"client"
},
{
"name":"GHI Inc",
"type":"contractor"
}
]
name
type
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
code
country
email
facebook
fax
imagecontent
linkedin
phone
state
tagid
twitter
website
zipcode
This call deletes a Company and optionally the associated Contacts, if you do not delete the Contacts then you must assign them to a new Company afterwards or they will not be usable in the main application.
deletecontacts
This call returns details of a single Company.
This call updates a single Company.
IMPORTANT: If the Company Type is changed then all Contacts belonging to the Company will be changed as well. (This is only possible when the Contacts are not assigned to any existing Projects/Tasks.)
Show Sample PUT data
{
"name":"ABC Ltd",
"code":"ABC"
}
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
code
country
email
facebook
fax
imagecontent
linkedin
name
phone
state
twitter
website
zipcode
This call returns a list of Contacts for a Company. The fields parameter allows you to choose which data fields to return for each Contact.
fields
allowlogin
apifields
apifieldsmode
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call adds one or more Contacts to a Company.
Show Sample POST data
{
"firstname":"Adam",
"lastname":"West"
}
[
{
"firstname":"Adam",
"lastname":"West"
},
{
"firstname":"Bob",
"lastname":"East"
},
{
"firstname":"Charles",
"lastname":"South"
}
]
firstname
lastname
address1
address2
address3
allowlogin
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
country
email
facebook
fax
groupid
linkedin
mobilephone
password
roleid
state
tagid
title
twitter
username
workphone
zipcode
This call returns a list of Invoices for a Company based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of invoiced amounts. The fields parameter allows you to return individual Invoices and choose which data fields to return for each Invoice. This call does not return details of the individual lines for each Invoice, you can use the specific Invoice call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
duedatefrom
duedateto
grandtotal
idfrom
idto
invoiceddatefrom
invoiceddateto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
paiddatefrom
paiddateto
searchnumber
searchtitle
status
subtotal
taxable
taxtotal
pagenumber
pagesize
sortby
sortorder
This call returns a list of Notes for a Company.
search
pagenumber
pagesize
sortby
sortorder
This call adds a Note to a Company.
Show Sample POST data
{
"content":"Example Content"
}
content
This call deletes a Note from a Company.
This call returns a single Note for a Company.
This call returns a list of Projects for a Company based on the specified filters. The fields parameter allows you to choose which data fields to return for each Project.
fields
accountedfor
apifields
apifieldsmode
categoryid
completedatefrom
completedateto
contacts
contactsmode
customfields
customfieldsmode
customstatusid
duedatefrom
duedateto
groupid
idfrom
idto
invoiced
invoicetotal
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
paid
priority
quotetotal
search
searchcustomform
searchdescription
searchnumber
searchtitle
startdatefrom
startdateto
status
teamid
timeallocated
timebillable
timetracked
timetrackedby
timetrackedfrom
timetrackedto
pagenumber
pagesize
sortby
sortorder
This call adds a Project for a Company. In the Advanced Plan you may specify templateid to use a Project Template (any values you provide will override those in the Project Template). In the Advanced Plan you must specify groupid if the managerid belongs to more than 1 group.
Show Sample POST data
{
"title":"Sample Project",
"number":"auto",
"description":"Sample Project Description",
"managerid":"me",
"staff":"2,3,5",
"clients":"6,7",
"contractors":"9,10",
"priority":2,
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
title
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
autonumberid
categoryid
clientaccess
clients
completedate
contractors
customfields
"customfields":
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
customformcontent
customformtitle
customstatusid
description
duedate
emailalerts
groupid
invoicetotal
managerid
number
priority
privatenotes
quotetotal
staff
startdate
templateid
timeallocated
This call returns a list of Quotes for a Company based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of quoted amounts. The fields parameter allows you to return individual Quotes and choose which data fields to return for each Quote. This call does not return details of the individual lines for each Quote, you can use the specific Quote call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
approveddatefrom
approveddateto
grandtotal
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
quoteddatefrom
quoteddateto
search
searchnumber
searchtitle
status
subtotal
taxable
taxtotal
type
validtodatefrom
validtodateto
pagenumber
pagesize
sortby
sortorder
This call returns a list of Contacts, Invoices, Projects, Quotes and Tasks for the specified Company. Limited data is returned for each item and this call is not intended to replace the individual calls which offer much more extensive options.
Instead, this call is designed to be used when you need to fetch a summary of contacts and current activity for a Company.
By default this will return the first 10 results for each of the following (assuming the user has the relevant permission):
Contacts: Name, Company, Email, Phone and ID - Client/Contractor/Staff Companies
Invoices: Number, Title, Company, Totals and ID (Unpaid Invoices) - Client Companies Only
Projects: Number, Title, Company and ID (Active Projects) - Client Companies Only
Quotes: Number, Title, Company, Totals and ID (Pending Quotes) - Client Companies Only
Tasks: Name, Order, Project and ID (Active Tasks) - Client Companies Only
types
pagenumber
pagesize
This call returns a list of tags for a Company.
This call adds or removes tags for a Company.
tagid
remove
This call returns a list of Tasks for a Company based on the specified filters. The fields parameter allows you to choose which data fields to return for each Task.
fields
apifields
apifieldsmode
billable
categoryid
completedatefrom
completedateto
contacts
contactsmode
dependentstatus
duedatefrom
duedateto
generaltasks
idfrom
idto
lastmodifiedfrom
lastmodifiedto
managerid
priority
projectcategoryid
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projectstatus
projecttasks
searchdescription
searchname
startdatefrom
startdateto
status
timeallocated
timetracked
timetrackedby
timetrackedfrom
timetrackedto
type
pagenumber
pagesize
sortby
sortorder
This call returns a the Total time tracked by a Contact based on the filters specified. The subtotals parameter allows you to return Sub Totals of time tracked. The fields parameter allows you to return individual Time Records and choose which data fields to return for each Time Record.
trackedfrom
trackedto
fields
subtotals
apifields
apifieldsmode
approvalstatus
billable
categoryid
contacts
generaltasks
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projecttasks
taskcompletedatefrom
taskcompletedateto
taskduedatefrom
taskduedateto
taskid
taskstartdatefrom
taskstartdateto
sortby
sortorder
This call returns a list of Client Companies based on the specified filters. The fields parameter allows you to choose which data fields to return for each Company.
fields
apifields
apifieldsmode
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchcode
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call returns a list of Contractor Companies based on the specified filters. The fields parameter allows you to choose which data fields to return for each Company.
fields
apifields
apifieldsmode
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchcode
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call returns a list of Staff Companies. The fields parameter allows you to choose which data fields to return for each Company.
fields
apifields
apifieldsmode
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchcode
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call returns a list of Contacts based on the filters specified. The fields parameter allows you to choose which data fields to return for each Contact. Clients can only view limited details about Staff and Contacts in their Company. Contractors can only view limited details about Staff and themselves.
fields
allowlogin
apifields
apifieldsmode
companyid
divisionid
id
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
roleid
search
searchemail
searchname
tagid
type
pagenumber
pagesize
sortby
sortorder
This call adds one or more Contacts.
Show Sample POST data
{
"firstname":"Adam",
"lastname":"West",
"type":"client",
"companyid":1
}
[
{
"firstname":"Adam",
"lastname":"West",
"type":"client",
"companyid":1
},
{
"firstname":"Bob",
"lastname":"East",
"type":"client",
"companyid":2
},
{
"firstname":"Charles",
"lastname":"South",
"type":"contractor",
"companyid":3
}
]
companyid
firstname
lastname
type
addprojectrequest
address1
address2
address3
allowlogin
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
country
email
facebook
fax
groupid
imagecontent
linkedin
mobilephone
password
roleid
state
tagid
title
twitter
username
viewallcompanyprojects
viewallprojecttasks
viewarchivedprojects
viewcalendar
viewquotesandinvoices
viewtimeinformation
viewtimeline
workphone
zipcode
This call deletes a Contact, historic information will be preserved, if you need to delete historic information then please delete the contact in the main PWF application.
This call returns details of a single Contact.
permissions
This call updates a single Contact.
Show Sample PUT data
{
"firstname":"Adam",
"lastname":"West"
}
addprojectrequest
address1
address2
address3
allowlogin
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
companyid
country
email
facebook
fax
firstname
groupid
imagecontent
lastname
linkedin
mobilephone
password
roleid
state
tagid
title
twitter
username
viewallcompanyprojects
viewallprojecttasks
viewarchivedprojects
viewcalendar
viewquotesandinvoices
viewtimeinformation
viewtimeline
workphone
zipcode
This call returns a list of Teams & Groups for a Contact.
This call adds or removes a Contact to/from a Group. Team membership will be automatically updated.
groupid
remove
This call returns latitude, longitude and locationtime (when the location was last updated) of a single Contact's Location.
IMPORTANT: Location is not the same as a Contact's Address. Location is used when you need to track a Contact.
This call updates the location of a single Contact, you can specify either Latitude/Longitude OR an Address to be geocoded (converted to a latitude/longitude), an error will be returned if the geocoding fails.
Show Sample POST data
{
"latitude":43.689060,
"longitude":-20.182721
}
address
latitude
longitude
This call returns a list of Notes for a Contact.
datefrom
dateto
search
pagenumber
pagesize
sortby
sortorder
This call adds a Note to a Contact.
Show Sample POST data
{
"content":"Example Content"
}
content
This call deletes a Note from a Contact.
This call returns a single Note for a Contact.
This call returns all permissions for a Contact.
This call checks a single permission for a Staff contact, use the 'settings/contacts/permissions' call to view a list of permissionids.
permissionsetting
This call returns a list of Projects for a Contact based on the specified filters. The fields parameter allows you to choose which data fields to return for each Project.
fields
accountedfor
apifields
apifieldsmode
categoryid
completedatefrom
completedateto
customfields
customfieldsmode
customstatusid
duedatefrom
duedateto
groupid
idfrom
idto
invoiced
invoicetotal
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
paid
priority
quotetotal
search
searchcustomform
searchdescription
searchnumber
searchtitle
startdatefrom
startdateto
status
teamid
timeallocated
timebillable
timetracked
timetrackedby
timetrackedfrom
timetrackedto
pagenumber
pagesize
sortby
sortorder
This call adds a Project for a Contact. In the Advanced Plan you may specify templateid to use a Project Template (any values you provide will override those in the Project Template). In the Advanced Plan you must specify groupid if the managerid belongs to more than 1 group.
Show Sample POST data
{
"title":"Sample Project",
"number":"auto",
"description":"Sample Project Description",
"managerid":"me",
"staff":"2,3,5",
"clients":"6,7",
"contractors":"9,10",
"priority":2,
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":
[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
title
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
autonumberid
categoryid
clientaccess
clients
completedate
contractors
customfields
"customfields":
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
customformcontent
customformtitle
customstatusid
description
duedate
emailalerts
groupid
invoicetotal
managerid
number
priority
privatenotes
quotetotal
staff
startdate
templateid
timeallocated
This call returns a list of roles for a Contact.
This call adds or removes roles for a Contact.
roleid
remove
This call returns a list of Contacts, Invoices, Projects, Quotes and Tasks for the specified Contact. Limited data is returned for each item and this call is not intended to replace the individual calls which offer much more extensive options.
Instead, this call is designed to be used when you need to fetch a summary of current activity for a Contact.
By default this will return the first 10 results for each of the following (assuming the user has the relevant permission):
Projects: Number, Title, Company and ID (Active Projects)
Tasks: Name, Order, Project and ID (Active Tasks)
types
pagenumber
pagesize
This call returns a list of tags for a Contact.
This call adds or removes tags for a Contact.
tagid
remove
This call returns a list of Tasks for a Contact based on the specified filters. The fields parameter allows you to choose which data fields to return for each Task.
fields
apifields
apifieldsmode
billable
categoryid
companyid
completedatefrom
completedateto
dependentstatus
divisionid
duedatefrom
duedateto
generaltasks
idfrom
idto
internalclientgroupid
internalclientteamid
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
priority
projectcategoryid
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projectstatus
projecttasks
searchdescription
searchname
startdatefrom
startdateto
status
timeallocated
timetracked
timetrackedby
timetrackedfrom
timetrackedto
type
pagenumber
pagesize
sortby
sortorder
This call returns a the Total time tracked by a Contact based on the filters specified. The subtotals parameter allows you to return Sub Totals of time tracked. The fields parameter allows you to return individual Time Records and choose which data fields to return for each Time Record.
trackedfrom
trackedto
fields
subtotals
apifields
apifieldsmode
approvalstatus
billable
categoryid
companyid
generaltasks
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projecttasks
taskcompletedatefrom
taskcompletedateto
taskduedatefrom
taskduedateto
taskid
taskstartdatefrom
taskstartdateto
sortby
sortorder
This call returns a list of Client Contacts based on the specified filters. The fields parameter allows you to choose which data fields to return for each Contact.
fields
allowlogin
apifields
apifieldsmode
companyid
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call returns a list of Contractor Contacts based on the specified filters. The fields parameter allows you to choose which data fields to return for each Contact.
fields
allowlogin
apifields
apifieldsmode
companyid
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
search
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call sends an email to supplied address with details on how to reset their password.
If no matching address is found, this will return a 404 response code
email
This call returns latitude, longitude and locationtime (when the location was last updated) of all Contacts.
IMPORTANT: Location is not the same as a Contact's Address. Location is used when you need to track a Contact. Contacts who have never updated their location will not be returned.
divisionid
locationtimefrom
locationtimeto
This call adds one or more Contacts.
IMPORTANT: Advanced Plan Only - Contact/Company will be added to Division ID 1.
Show Sample POST data
{
"firstname":"Adam",
"lastname":"West",
"email":"noreply@proworkflow.com",
"type":"client",
"companyname":"ABC"
}
companyname
email
firstname
lastname
type
This call returns a list of Staff Contacts based on the specified filters. The fields parameter allows you to choose which data fields to return for each Contact. Clients & Contractors can only view limited details about Staff.
fields
allowlogin
apifields
apifieldsmode
companyid
divisionid
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
pending
roleid
search
searchemail
searchname
tagid
pagenumber
pagesize
sortby
sortorder
This call returns a list of Events based on the filters specified. The fields parameter allows you to choose which data fields to return for each Event.
fields
contactdetails
contacts
contactsmode
divisionid
endtimefrom
endtimeto
id
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
searchdescription
searchtitle
starttimefrom
starttimeto
pagenumber
pagesize
sortby
sortorder
This call adds a single Event.
Show Sample POST data
{
"contacts":"1,2",
"title":"New Event",
"description":"Event Description",
"starttime":"2014-03-20T13:00",
"endtime":"2014-03-20T14:00"
}
contacts
endtime
starttime
title
description
This call deletes a single Event.
This call returns details of a single Event.
This call updates a single Event.
Show Sample PUT data
{
"contacts":"1,2",
"title":"New Event",
"description":"Event Description",
"starttime":"2014-03-20T13:00",
"endtime":"2014-03-20T14:00"
}
contacts
description
endtime
starttime
title
This call returns a list of Expenses based on the filters specified. The fields parameter allows you to choose which data fields to return for each Expense.
fields
categoryid
companyid
contacts
datefrom
dateto
divisionid
id
idfrom
idto
invoiced
projectid
projectstatus
search
taxable
pagenumber
pagesize
sortby
sortorder
This call adds a single Expense.
Show Sample POST data
{
"projectid":1,
"name":"New Expense",
"description":"Event Description",
"date":"2014-03-28",
"cost":100.00
}
cost
name
projectid
date
description
invoiced
taxable
This call deletes a single Expense.
This call returns details of a single Expense.
This call updates a single Expense.
Show Sample PUT data
{
"date":"2014-03-28",
"cost":100.00
"invoiced":true
}
cost
name
date
description
invoiced
taxable
This call returns a list of Files based on the filters specified. The fields parameter allows you to choose which data fields to return for each File.
fields
datefrom
dateto
divisionid
folderid
id
idfrom
idto
projectid
projectstatus
search
taskid
taskstatus
pagenumber
pagesize
sortby
sortorder
This call adds a single File.
Show Sample POST data
{
"projectid":1,
"name":"filename.txt",
"content":"U29tZSB0ZXh0"
}
content
folderid
name
projectid
taskid
This call returns deletes a single File.
This call returns details of a single File.
content
This call returns a list of Custom Folders based on the filters specified. The fields parameter allows you to choose which data fields to return for each Custom Folder.
fields
divisionid
id
idfrom
idto
projectid
projectstatus
search
pagenumber
pagesize
sortby
sortorder
This call adds a single Custom Folder.
Show Sample POST data
{
"projectid":1,
"name":"New Folder",
"contacts":"1,2,3"
}
contacts
name
projectid
This call returns details of a single Custom Folder.
This call returns a list of Invoices based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of invoiced amounts. The fields parameter allows you to return individual Invoices and choose which data fields to return for each Invoice. This call does not return details of the individual lines for each Invoice, you can use the specific Invoice call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
companyid
divisionid
duedatefrom
duedateto
grandtotal
id
idfrom
idto
invoiceddatefrom
invoiceddateto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
paiddatefrom
paiddateto
projectcategoryid
projectid
projectstatus
search
searchnumber
searchtitle
status
subtotal
taxable
taxtotal
pagenumber
pagesize
sortby
sortorder
This call adds a simple Invoice..
Show Sample POST data
{
"title":"New Invoice",
"number":"auto",
"description":"Invoice Description",
"contactid":1,
"projectid":2,
"lines":
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
}
companyid
contactid
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
projectid
title
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
companyname
contactname
country
description
discountdescription
discountvalue
duedate
footer
invoiceddate
markprojectasinvoiced
number
purchaseordernumber
showcostbreakdown
state
taxable
taxrate
terms
zipcode
This call deletes a single Invoice.
This call returns details of a single Invoice.
IMPORTANT: For Task/Staff Rate Lines, the 'rate' value is cost/hour, the 'time' value is the time in minutes.
This call updates details of a single Invoice.
IMPORTANT: If you specify any 'lines' then all existing lines will be replaced, if you want to add/edit/remove individual lines then use the dedicated 'invoice/lines' or 'invoice/line' calls instead.
Show Sample PUT data
{
"status":"paid",
"discountvalue":100,
"discountdescription":"Discount Description",
}
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
companyname
contactname
country
description
discountdescription
discountvalue
duedate
footer
invoiceddate
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
number
paiddate
projectid
purchaseordernumber
showcostbreakdown
state
status
taxable
taxrate
title
zipcode
This call returns details of Line Items in an Invoice.
This call adds Line/s to an Invoice.
The 'type' must be specified, the following must then be specified depending on the 'type':
Show Sample POST data
{
"type":"lineitem",
"name":"Line Item 1",
"description":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
}
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
type
description
displayorder
name
quantity
rate
taxable
time
This call delete a single Line in an Invoice.
This call returns details of a single Line in an Invoice.
This call updates a single Line in an Invoice.
Show Sample PUT data
{
"rate":100.00,
"taxable":false
}
description
displayorder
name
quantity
rate
taxable
time
This call will mark a single Invoice as paid. You can specify 'paiddate' otherwise the current user's time is used.
Show Sample PUT data
{
"paiddate":"2014-04-28"
}
paiddate
This call will mark a single Invoice as unpaid.
This call returns a list of overdue Invoices based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of invoiced amounts. The fields parameter allows you to return individual Invoices and choose which data fields to return for each Invoice. This call does not return details of the individual lines for each Invoice, you can use the specific Invoice call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
companyid
divisionid
grandtotal
idfrom
idto
invoiceddatefrom
invoiceddateto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
projectid
search
searchnumber
searchtitle
subtotal
taxable
taxtotal
pagenumber
pagesize
sortby
sortorder
returns details about the user making the request and the account they are accessing. If you don't know your API key then you can use this call to return it by providing your Account URL (as well as using a Basic Authorization header).
url
This call returns details of the Contact making the request.
This call updatesthe Contact making the request.
Show Sample PUT data
{
"firstname":"Adam",
"lastname":"West"
}
address1
address2
address3
city
country
email
firstname
lastname
mobilephone
password
state
title
username
workphone
zipcode
This call returns a list of Messages based on the filters specified. The fields parameter allows you to choose which data fields to return for each Message.
IMPORTANT: We recommend using the datefrom option to return only messages added in the timeframe you require.
fields
contactdetails
contacts
datefrom
dateto
divisionid
id
idfrom
idto
originalmessageid
projectid
projectstatus
search
taskid
taskstatus
pagenumber
pagesize
sortby
sortorder
This call adds a single message. A new discussion can be started by using the projectid or taskid parameter, a reply can be added by using the originalmessageid parameter. To attach files, they must first be uploaded and can then be attached to a message using the fileid parameter.
Show Sample POST data
{
"contacts":"1,2",
"projectid":1,
"title":"New Message",
"content":"Message Content",
"fileid":"15"
}
contacts
content
originalmessageid
projectid
taskid
title
files
notifications
public
This call deletes a single Message or Discussion, this is only available for messages added by the user making the request.
NOTE: Deleting the first message in a discussion will also delete all replies in that discussion.
This call returns details of a single Message.
projectcontacts
This call updates settings for a single Message, this is only available for messages added by the user making the request and that started a new discussion.
NOTE: The title or content of a message cannot be changed.
contacts
notifications
public
This call returns a list of Notes. The fields parameter allows you to choose which data fields to return for each Note.
fields
contactdetails
categoryid
contacts
datefrom
dateto
divisionid
id
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
search
pagenumber
pagesize
sortby
sortorder
This call adds a Note.
Show Sample POST data
{
"title":"New Note",
"content":"Note Description",
"categoryid":1,
"contacts":"1,2,3"
}
categoryid
contacts
content
title
This call deletes a single Note.
This call returns a single Note.
This call updates a Note.
Show Sample PUT data
{
"title":"New Note",
"content":"Note Description"
}
categoryid
contacts
content
title
This call returns a list of Project Requests based on the filters specified. The fields parameter allows you to choose which data fields to return for each Request.
fields
apifields
apifieldsmode
budget
clientid
clienttype
companyid
customfields
customfieldsmode
divisionid
duedatefrom
duedateto
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
recipientid
searchcustomform
searchdescription
searchtitle
startdatefrom
startdateto
submitteddatefrom
submitteddateto
templateid
pagenumber
pagesize
sortby
sortorder
This call adds a Project Request. Files can be added subsequently using the Add Files call with projectid set to the ID of the Project Request. In the Advanced Plan you may specify templateid to use a Project Template (any values you provide will override those in the Project Template). In the Advanced Plan you may specify contactid or divisionid (if neither is provided then the request will be submitted to the default contact for the same division as the user making the request). In the Advanced Plan you must specify groupid if the contactid you are submitting to belongs to more than 1 group.
Show Sample POST data
{
"title":"Sample Request",
"description":"Sample Request Description",
"contactid":1,
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":
[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
title
apifields
budget
contactid
customfields
customformcontent
customformtitle
description
divisionid
duedate
groupid
startdate
submitterid
templateid
This call deletes a single Project Request, only the contact who submitted a Request is allowed to delete it. This call is NOT used to decline a Request, use the decline call instead.
This call returns details of a single Project Request.
This call updatesa single Project Request, only the contact who submitted a Request is allowed to edit it.
IMPORTANT - This call is NOT used to approve or decline a Request, use the specific approve and decline calls instead.
Show Sample PUT data
{
"title":"Sample Request",
"description":"Sample Request Description",
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":
[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
apifields
budget
customfields
customformcontent
customformtitle
description
duedate
startdate
title
This call approves a single Project Request. In the Solo and Professional plan, the contact approving the new Project is assigned as the Project Manager; in the Advanced plan the new Project is assigned to the contact the Request was submitted to.
autonumberid
clientaccess
emailalerts
number
This call declines a single Project Request.
This call returns a list of Projects based on the filters specified. The fields parameter allows you to choose which data fields to return for each Project.
fields
timetrackedcomparisonoption
accountedfor
apifields
apifieldsmode
categoryid
companyid
completedatefrom
completedateto
contacts
contactsmode
customfieldoptionid
customfields
customfieldsmode
customstatusid
divisionid
duedatefrom
duedateto
groupid
id
idfrom
idto
internalclientgroupid
internalclientteamid
invoiced
invoicetotal
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
paid
priority
quotetotal
search
searchcustomform
searchdescription
searchnumber
searchtitle
startdatefrom
startdateto
status
tagid
teamid
timeallocated
timebillable
timetracked
timetrackedby
timetrackedfrom
timetrackedto
upcomingdatefrom
upcomingdateto
pagenumber
pagesize
sortby
sortorder
This call adds a Project. In the Advanced Plan you may specify templateid to use a Project Template (any values you provide will override those in the Project Template). In the Advanced Plan you may specify either companyid (for external Projects) or internalclientcontactid (for internal Projects). If the internalclientcontactid belongs to more than 1 group you must also specify internalclientgroupid. In the Advanced Plan you must also specify groupid if the managerid belongs to more than 1 group.
Show Sample POST data
{
"title":"Sample Project",
"number":"auto",
"description":"Sample Project Description",
"companyid":1,
"managerid":"me",
"staff":"2,3,5",
"clients":"6,7",
"contractors":"9,10",
"priority":2,
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":
[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
companyid
internalclientcontactid
internalclientgroupid
title
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
autonumberid
categoryid
clientaccess
clients
completedate
contractors
customfields
"customfields":
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"2020-07-21"
}
]
customformcontent
customformtitle
customstatusid
description
duedate
emailalerts
groupid
invoicetotal
managerid
number
priority
privatenotes
purchaseordernumber
quotetotal
staff
startdate
tagid
templateid
timeallocated
This call deletes a single Project, this will also delete all Tasks, Files, Messages & Time Records for the Project.
This call returns details of a single Project. Detailed information about tasks, time, messages, files, quotes and invoices can be returned by setting the associated options.
contactdetails
files
folders
invoices
messages
messagescontacts
quotes
tasks
timerecords
timebillable
timetrackedby
timetrackedfrom
timetrackedto
This call updates a single Project. In the Advanced Plan you may specify either companyid (for external Projects) or internalclientcontactid (for internal Projects). If the internalclientcontactid belongs to more than 1 group you must also specify internalclientgroupid. In the Advanced Plan you must also specify groupid if the managerid belongs to more than 1 group. It is not possible to change an External Project to an Internal Project (or vice-versa) via the API.
IMPORTANT - This call is NOT used to complete or reactivate a Project, use the specific complete and reactivate calls instead.
Show Sample PUT data
{
"title":"Sample Project",
"description":"Sample Project Description",
"priority":2,
"startdate":"2014-04-18",
"duedate":"2014-04-28",
"customfields":
[
{
"id":1,
"value":"Europe"
},
{
"id":2,
"value":"Industrial"
}
]
}
accountedfor
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
categoryid
clients
companyid
completedate
contractors
customfields
customformcontent
customformtitle
customstatusid
description
duedate
groupid
internalclientcontactid
internalclientgroupid
invoiced
invoicetotal
managerid
number
paid
priority
privatenotes
purchaseordernumber
quotetotal
staff
startdate
tagid
timeallocated
title
Check whether a contact can view the Project.
contactid
This call adjusts the dates for a single Project and/or its Tasks, by default this will adjust the start AND due dates of the Project, you can use the 'dates' option to adjust just the start or due date or omit it to adjust neither (if you only want to adjust Tasks). If you want to adjust the dates of Tasks in the Project then set the 'tasks' and 'taskdates' options accordingly. Set the 'adjustment' option to set the number of calendar days/weeks/months/years to adjust the Project/Tasks by.
IMPORTANT: A positive value defers a Project/Tasks, a negative value advances a Project/Tasks.
Use this call with care as running it multiple times by mistake will adjust dates multiple times.
Show Sample PUT data
{
"adjustment":"+1w",
"dates":"all",
"tasks":"active",
"taskdates":"due"
}
adjustment
dates
taskdates
tasks
This call returns details of the Bookmarks for a Project.
This call adds a single Bookmark.
Show Sample POST data
{
"title":"New Bookmark",
"link":"http://www.proworkflow.com"
}
link
title
This call deletes a single Project Bookmark.
This call returns details of a single Project Bookmark.
This call updates a single Project Bookmark.
Show Sample PUT data
{
"title":"Sample Title"
"link":"http://www.proworkflow.com"
}
link
title
This call completes a single Project, this will also complete any active Tasks in the Project. You can specify 'completedate' otherwise the current user's time is used.
Show Sample PUT data
{
"completedate":"2014-04-28"
}
completedate
This call returns details of the Contacts assigned to a Project (including Manager).
This call adds or removes Contacts to/from a single Project (use the 'remove' option to REMOVE Contacts, default is to ADD Contacts. When adding contacts you can use the 'assigntotasks' option to assign the added Contacts to ALL Tasks in the Project. This call cannot be used to change the Project Manager, use the 'projects/projectid' call instead.
IMPORTANT - This call is NOT used to complete or reactivate a Project, use the specific complete and reactivate calls instead.
Show Sample PUT data
{
"staff":"1,2",
"assigntotasks":true
}
assigntotasks
clients
contractors
remove
staff
This call returns details of the Expenses for a Project based on the specified filters. The fields parameter allows you to choose which data fields to return for each Expense.
fields
contacts
datefrom
dateto
invoiced
search
taxable
pagenumber
pagesize
sortby
sortorder
This call adds a single Expense to a Project.
Show Sample POST data
{
"name":"New Expense",
"description":"Event Description",
"date":"2014-03-28",
"cost":100.00
}
cost
name
date
description
invoiced
taxable
This call returns details of Files for a Project based on the specified filters. The fields parameter allows you to choose which data fields to return for each File.
fields
datefrom
dateto
search
taskstatus
pagenumber
pagesize
sortby
sortorder
This call adds a single File to a Project. To add a File to a Custom Folder, use the '/files' call with the 'folderid' option.
Show Sample POST data
{
"name":"filename.txt",
"content":"U29tZSB0ZXh0"
}
content
name
This call returns a list of Invoices for a Project based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of invoiced amounts. The fields parameter allows you to return individual Invoices and choose which data fields to return for each Invoice. This call does not return details of the individual lines for each Invoice, you can use the specific Invoice call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
duedatefrom
duedateto
grandtotal
invoiceddatefrom
invoiceddateto
paiddatefrom
paiddateto
searchnumber
searchtitle
status
subtotal
taxable
taxtotal
pagenumber
pagesize
sortby
sortorder
This call adds a simple Invoice to a Project. You must specify ONE of lineitems or taskrates or staffrates.
Show Sample POST data
{
"title":"New Invoice",
"number":"auto",
"description":"Invoice Description",
"contactid":1,
"lines":
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
}
companyid
contactid
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
title
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
companyname
contactname
country
description
discountdescription
discountvalue
duedate
invoiceddate
markprojectasinvoiced
number
showcostbreakdown
state
taxable
taxrate
terms
zipcode
This call returns details of Messages for a Project. The fields parameter allows you to choose which data fields to return for each Message.
fields
contacts
datefrom
dateto
divisionid
originalmessageid
search
taskid
taskstatus
pagenumber
pagesize
sortby
sortorder
This call starts a new discussion in a Project. To attach files, they must first be uploaded and can then be attached to a message using the fileid parameter. To reply to an existing discussion, use the '/messsages' call with the 'originalmessageid' option.
Show Sample POST data
{
"contacts":"1,2",
"title":"New Message",
"content":"Message Content",
"fileid":"15"
}
contacts
content
title
files
notifications
public
This call returns a list of Quotes for a Project based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of quoted amounts. The fields parameter allows you to return individual Quotes and choose which data fields to return for each Quote. This call does not return details of the individual lines for each Quote, you can use the specific Quote call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
approveddatefrom
approveddateto
grandtotal
quoteddatefrom
quoteddateto
searchnumber
searchtitle
status
subtotal
taxable
taxtotal
type
validtodatefrom
validtodateto
pagenumber
pagesize
sortby
sortorder
This call adds a simple Quote to a Project. You must specify ONE of lineitems or taskrates or staffrates.
Show Sample POST data
{
"title":"New Quote",
"number":"auto",
"description":"Quote Description",
"contactid":1,
"lines":
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
}
contactid
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
title
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
clientview
companyname
contactname
country
customfieldvalue
description
discountdescription
discountvalue
number
quotedby
quoteddate
showcostbreakdown
state
taxable
taxrate
type
validtodate
zipcode
This call reactivates a single Project, this does NOT reactivate Tasks in the Project.
This call returns the Settings of a single Project, most settings refer to whether that module is enabled, some refer to specific settings such as whether Client Access is enabled.
This call updates the Settings of a single Project.
bookmarks
clientaccess
clientviewalltasks
clientviewtime
customfields
customform
description
emailalerts
expenses
files
invoices
messages
privatenotes
quotes
sharednotes
smartordering
staffviewallmessages
staffviewalltasks
tasks
timeline
timesummary
This call returns details of the Tasks for a Project.
fields
apifields
apifieldsmode
billable
completedatefrom
completedateto
contacts
contactsmode
divisionid
duedatefrom
duedateto
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
priority
projectstatus
searchdescription
searchname
startdatefrom
startdateto
status
timeallocated
timetracked
timetrackedby
timetrackedfrom
timetrackedto
type
pagenumber
pagesize
sortby
sortorder
This call adds a Task/s to a Project.
You must either provide details for one or more Tasks or specify a Task Template ID.
If 'order' is not specified then the Task/s will be added as the last Task/s on the Project. Please refer to the 'order' parameter for further details on available options.
When specifying a Task Template ID you can specify 'startdate' to set the date corresponding to day 1 in the Template or 'duedate' to set the date corresponding to the latest day in the Template. If Smart Ordering is enabled for the Project then you can use the 'order' setting to choose where to insert the Template. When using a Template you can set the 'addtemplatecontacts' option to choose whether Contacts in the Template who are not assigned to the Project should be added or ignored.
IMPORTANT: When adding multiple Tasks each Task must have the same 'order' option or have a specific order number. When multiple Tasks are added using 'auto/after/before' 'order' options then they are added to the project in the order they are provided in your data.
Show Sample POST data
{
"name":"Adam",
"contacts":"1,2",
"startdate":"2014-01-18"
}
[
{
"name":"Adam",
"priority":2,
"contacts":"me",
"startdate":"2014-01-18"
},
{
"name":"Bob",
"contacts":"allstaff",
"startdate":"2014-01-23"
},
{
"name":"Charles",
"contacts":"1,2,3",
"startdate":"2014-01-28"
}
]
{
"templateid":1,
"startdate":"2014-01-18",
"addtemplatecontacts":false
}
contacts
name
servicename
templateid
addtemplatecontacts
apifields
billable
completedate
description
duedate
order
orderlevel
prerequisites
priority
servicedescription
servicerate
startdate
taxable
timeallocated
type
This call returns details of Time for a Project based on the filters specified. The subtotals parameter allows you to return Sub Totals of time tracked. The fields parameter allows you to return individual Time Records and choose which data fields to return for each Time Record.
trackedfrom
trackedto
fields
subtotals
approvalstatus
billable
contacts
taskcompletedatefrom
taskcompletedateto
taskduedatefrom
taskduedateto
taskstartdatefrom
taskstartdateto
sortby
sortorder
This call returns a list of Active Overdue Projects based on the filters specified. The fields parameter allows you to choose which data fields to return for each Project.
fields
accountedfor
apifields
apifieldsmode
categoryid
companyid
contacts
contactsmode
customfields
customfieldsmode
customstatusid
divisionid
groupid
invoiced
invoicetotal
managerid
paid
priority
quotetotal
search
searchcustomform
searchdescription
searchnumber
searchtitle
startdatefrom
startdateto
tagid
teamid
timeallocated
timebillable
timetracked
timetrackedby
timetrackedfrom
timetrackedto
pagenumber
pagesize
sortby
sortorder
This call returns a list of Overtime Projects based on the filters specified. The fields parameter allows you to choose which data fields to return for each Project.
fields
accountedfor
apifields
apifieldsmode
categoryid
companyid
completedatefrom
completedateto
contacts
contactsmode
customfields
customfieldsmode
customstatusid
divisionid
duedatefrom
duedateto
groupid
invoiced
invoicetotal
managerid
paid
priority
quotetotal
search
searchcustomform
searchdescription
searchnumber
searchtitle
startdatefrom
startdateto
status
tagid
teamid
timeallocated
timebillable
timetrackedby
timetrackedfrom
timetrackedto
pagenumber
pagesize
sortby
sortorder
This call returns a list of Quotes based on the filters specified and optionally subtotals based on the grouping options specified, it also returns the totals of all the returned quotes. The subtotals parameter allows you to return Sub Totals of quoted amounts. The fields parameter allows you to return individual Quotes and choose which data fields to return for each Quote. This call does not return details of the individual lines for each Quote, you can use the specific Quote call to return that information.
fields
subtotals
subtotalsdateoption
apifields
apifieldsmode
approveddatefrom
approveddateto
companyid
divisionid
grandtotal
id
idfrom
idto
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
projectcategoryid
projectid
projectstatus
quoteddatefrom
quoteddateto
search
searchdescription
searchnumber
searchquotedby
searchtitle
status
subtotal
taxable
taxtotal
type
validtodatefrom
validtodateto
pagenumber
pagesize
sortby
sortorder
This call adds a simple quote.
Show Sample POST data
{
"title":"New Quote",
"number":"auto",
"description":"Quote Description",
"contactid":1,
"projectid":2,
"lines":
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
}
contactid
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
title
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
city
clientview
companyname
contactname
country
customfieldvalue
description
discountdescription
discountvalue
number
projectid
quotedby
quoteddate
showcostbreakdown
state
taxable
taxrate
type
validtodate
zipcode
This call deletes a single Quote.
This call returns details of a single Quote.
IMPORTANT: For Task/Staff Rate Lines, the 'rate' value is cost/hour, the 'time' value is the time in minutes.
This call updates details of a single Quote.
IMPORTANT: If you specify any 'lines' then all existing lines will be replaced, if you want to add/edit/remove individual lines then use the dedicated 'quote/lines' or 'quote/line' calls instead.
Show Sample PUT data
{
"status":"approved",
"discountvalue":100,
"discountdescription":"Discount Description",
}
address1
address2
address3
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
approveddate
city
clientview
companyname
contactname
country
customfieldvalue
description
discountdescription
discountvalue
lines
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"name":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
number
projectid
quotedby
quoteddate
showcostbreakdown
state
status
taxable
taxrate
title
type
validtodate
zipcode
This call will approve a quote. This is currently done by a staff user on behalf of a client. You can specify 'approveddate' otherwise the current user's time is used, you can also optionally attach the Quote to a project by specifying 'projectid'.
Show Sample PUT data
{
"approveddate":"2014-04-28"
}
approveddate
projectid
This call will decline a quote. This is currently done by a staff user on behalf of a client.
This call returns details of Lines in a Quote.
IMPORTANT: For Task/Staff Rate Lines, the 'rate' value is cost/hour, the 'time' value is the time in minutes.
This call adds Line/s to a Quote.
The 'type' must be specified, the following must then be specified depending on the 'type':
Show Sample POST data
{
"type":"lineitem",
"name":"Line Item 1",
"description":"Line Item 1 Description",
"quantity":1,
"rate":100.00,
"taxable":true
}
[
{
"type":"heading",
"name":"Redesign Work"
},
{
"type":"lineitem",
"name":"Line Item 1",
"quantity":1,
"rate":100.00,
"taxable":true
},
{
"type":"taskrate",
"name":"Task Rate",
"time":60,
"rate":100.00,
"taxable":false
},
{
"type":"staffrate",
"name":"Alex Trip",
"time":60,
"rate":100.00,
"taxable":false
}
]
type
description
displayorder
name
quantity
rate
taxable
time
This call delete a single Line in a Quote.
This call returns details of a single Line in a Quote.
This call updates a single Line in a Quote.
Show Sample PUT data
{
"rate":100.00,
"taxable":false
}
description
displayorder
name
quantity
rate
taxable
time
This call will mark a quote as pending (reverts it from an approved or declined state).
This call returns a list of Lines from Quotes based on the filters specified. The fields parameter allows you to choose which data fields to return for each Line.
NOTE: The totals will NOT reflect any discount that might be part of the Quote that the line belongs to, if you want to report on Quote Totals then use the 'quotes' call instead.
fields
approveddatefrom
approveddateto
companyid
divisionid
id
idfrom
idto
projectid
quoteddatefrom
quoteddateto
quotestatus
searchdescription
searchname
taxable
type
validtodatefrom
validtodateto
pagenumber
pagesize
sortby
sortorder
This call returns Account settings, including plan details, plugin status, currency, project variable, time and look & feel.
divisionid
This call returns details of the available, used and total licenses.
This call returns Look & Feel Settings including logo, title and color scheme.
divisionid
This call returns details of the Plan (solo/professional/advanced) and Plugins status (invoicesplugin/quotesplugin - true/false) for Staff/Clients.
This call returns a list of API Fields.
divisionid
type
This call adds an API Field, you must provide a name for the field and the type (the data you want to add this field to). You may optionally set the field to be 'private' so it is only visible to Staff. You cannot have two fields with the same name for the same type.
Show Sample POST data
{
"name":"New API Field",
"type":"company"
}
name
type
private
This call deletes an API Field.
NOTE: If you delete an API Field by mistake please contact ProWorkflow's Support team.
This call returns a single API Field.
This call updates an API Field.
NOTE: You cannot change the 'type' of an API Field.
Show Sample PUT data
{
"name":"API Field",
"private":true
}
name
private
This call returns a list of Divisions including Teams in the Division, the Groups in each Team and Contacts in each Group.
This call deletes a single Division.
This call returns details of a single Division including the Teams in each Division, Groups in each Team and Contacts in each Group.
This call updates a single Division.
Show Sample PUT data
{
"name":"Europe",
"code":"EURO"
}
address1
address2
address3
city
code
country
email
fax
name
phone
state
zipcode
This call returns a list of Groups including Contacts in each Group.
divisionid
teamid
This call adds a Group.
Show Sample POST data
{
"teamid":1,
"name":"Europe"
}
name
teamid
This call deletes a single Group.
This call returns details of a single Group including the Contacts in the Group.
This call updates a single Group.
Show Sample PUT data
{
"name":"Europe"
}
name
teamid
This call returns a list of available Permissions in ProWorkflow.
This call returns a list of Roles including the Permissions for each Role.
divisionid
teamid
This call returns details of a single Role including the Permissions for that Role.
This call returns a list of Contact/Company Tags.
divisionid
This call adds a Contact/Company Tag
Show Sample POST data
{
"name":"New Tag"
}
name
color
This call deletes a single Contact Tag.
This call returns details of a single Contact Tag.
This call updates a single Contact Tag.
Show Sample PUT data
{
"name":"New Tag"
}
color
name
This call returns a list of Teams including the Groups in each Team and Contacts in each Group.
divisionid
This call adds a Team.
Show Sample POST data
{
"divisionid":1,
"name":"Europe",
"code":"EURO"
}
divisionid
name
address1
address2
address3
city
code
country
email
fax
filespaceemail
filespacelimit
phone
state
zipcode
This call deletes a single Team.
This call returns details of a single Team including the Groups in the Team and Contacts in each Group.
This call updates a single Team.
Show Sample PUT data
{
"name":"Europe",
"code":"EURO"
}
address1
address2
address3
city
code
country
email
fax
filespaceemail
filespacelimit
name
phone
state
zipcode
This call returns a list of Fixed Cost Items.
divisionid
This call adds Fixed Cost Item/s to the Item Library.
Show Sample POST data
{
"name":"Item 1",
"description":"Item 1 Description",
"rate":100.00,
"taxable":true
}
[
{
"name":"Item 1",
"rate":100.00,
"taxable":true
},
{
"name":"Item 2",
"description":Item 2 Description,
"rate":100.00,
"taxable":false
}
]
name
rate
description
displayorder
taxable
This call returns the status of Invoices Autonumbering (true/false).
divisionid
This call returns a list of Hourly Rate Services.
divisionid
This call returns a list of Staff Rates.
divisionid
This call returns a simple list of Invoice Templates. This call does not return full details or a breakdown of the individual lines for each Invoice Template, you can use the specific Invoice Template call to return that information.
This call returns details of a single Invoice Template.
IMPORTANT: For Task/Staff Rate Lines, the 'rate' value is cost/hour, the 'time' value is the time in minutes.
This call returns a list of Note Categories.
divisionid
This call adds a single Note Category.
Show Sample POST data
{
"name":"Sample Name"
}
name
color
This call deletes a single Note Category.
This call returns details of a single Note Category.
This call updates a single Note Category.
Show Sample PUT data
{
"name":"Category Name"
}
color
name
This call returns Default Project settings, these can be changed from the main ProWorkflow application.
divisionid
This call returns the status of Projects Autonumbering (true/false).
For Advanced accounts, this call will also return projectsmode (simple/advanced), if the advanced mode is enabled then projectsoptions will be returned containing the available autonumbering options.
divisionid
teamid
This call returns a list of Project Categories.
divisionid
This call adds a Project Category/ies.
Show Sample POST data
{
"name":"New Category",
"color":"ff6600"
}
[
{
"name":"New Category 1"
},
{
"name":"New Category 2"
}
]
name
color
This call deletes a single Project Category.
NOTE: A Category can only be deleted via the API if it is not being used by ANY Projects, Requests or Templates (including Completed Projects).
This call returns details of a single Project Category.
This call updates a single Project Category.
Show Sample PUT data
{
"name":"New Category"
}
color
name
This call returns a list of Custom Fields including the Options for each Field.
divisionid
This call returns a list of Custom Statuses.
divisionid
teamid
This call adds a Project Custom Status.
Show Sample POST data
{
"teamid":"1"
"name":"Planning"
"color":"FF6600"
}
color
name
teamid
This call deletes a single Custom Status.
This call returns a single Custom Status.
This call updates a single Custom Status.
Show Sample PUT data
{
"name":"New Custom Status"
"color":"FF6600"
}
color
name
This call returns a list of Project Tags.
divisionid
This call adds a Project Tag
Show Sample POST data
{
"name":"New Tag"
}
name
color
This call deletes a single Project Tag.
This call returns details of a single Project Tag.
This call updates a single Project Tag.
Show Sample PUT data
{
"name":"New Tag"
}
color
name
This call returns a list of Project Templates, for Staff contacts this will include 'externalclient', 'internalclient' and 'internalstaff' which specify respectively whether the request can be used by external/internal clients making a request and by staff creating a new Project.
This call returns details of a single Project Template.
This call returns Default Quote settings, these can be changed from the main ProWorkflow application.
divisionid
This call returns the status of Quotes Autonumbering (true/false).
divisionid
This call returns a list of Hourly Rate Services.
divisionid
This call returns a list of Staff Rates.
divisionid
This call returns a simple list of Quote Templates. This call does not return full details or a breakdown of the individual lines for each Quote Template, you can use the specific Quote Template call to return that information.
This call returns details of a single Quote Template.
IMPORTANT: For Task/Staff Rate Lines, the 'rate' value is cost/hour, the 'time' value is the time in minutes.
This call returns a list of Service Rates.
divisionid
This call returns a list of Staff Rates.
divisionid
This call returns a list of Task Categories (available for General Tasks only).
divisionid
This call adds a Task Category.
Show Sample POST data
{
"name":"New Category"
}
name
color
This call deletes a single Task Category.
This call returns details of a single Task Category.
This call updates a single Task Category.
Show Sample PUT data
{
"name":"Sample Name"
}
color
name
This call returns a list of Task Tags.
divisionid
This call adds a Task Tag
Show Sample POST data
{
"name":"New Tag"
}
name
color
This call deletes a single Task Tag.
This call returns details of a single Task Tag.
This call updates a single Task Tag.
Show Sample PUT data
{
"name":"New Tag"
}
color
name
This call returns a list of Task Templates
divisionid
This call adds a Task Template, to add Tasks to a Template use the 'settings/tasks/template/templateid/tasks' call.
Show Sample POST data
{
"name":"New Template",
"smartordering":"true"
}
excludeweekends
name
smartordering
This call deletes a single Task Template.
This call returns a single Task Template
This call updates a Task Template.
Show Sample PUT data
{
"name":"New Name",
"excludeweekends":"true"
}
excludeweekends
name
smartordering
This call returns Tasks in a single Task Template
This call adds a Task/s to a Task Template.
If 'order' is not specified then the Task/s will be added as the last Task/s on the Template. Please refer to the 'order' parameter for further details on available options.
If Smart Ordering is enabled for the Template then you can use the 'order' setting to choose where to insert the Template.
IMPORTANT: When adding multiple Tasks they must have the same 'order' option or have a specific order number. When multiple Tasks are added using 'auto/after/before' for the 'order' options then they are added to the Template in the order they are provided in your data.
Show Sample POST data
{
"name":"Adam",
"contacts":"1,2",
"startday":"1"
}
[
{
"name":"Adam",
"priority":2,
"contacts":"me",
"startday":"1"
},
{
"name":"Bob",
"contacts":"1,2,3",
"startday":"4"
},
{
"name":"Charles",
"contacts":"1,2,3",
"startday":"10"
}
]
contacts
name
servicename
billable
description
dueday
order
orderlevel
prerequisites
priority
servicedescription
servicerate
startday
taxable
timeallocated
type
This call deletes a Task in a Task Template, this will also delete all Files for the Task.
This call returns details of a single Task in a Task Template.
This call updates a Task in a Task Template.
Show Sample PUT data
{
"name":"Sample Task",
"description":"Sample Task Description",
"priority":2,
"startday":"1",
"dueday":"2"
}
contacts
name
servicename
billable
description
dueday
order
orderlevel
prerequisites
priority
servicedescription
servicerate
startday
taxable
timeallocated
type
This call returns a list of Active Web Hooks.
divisionid
event
This call adds a Web Hook, you must provide an event to trigger from and a URL that will receive a POST request when the event occurs. The POST request will contain the ID of the added/updated object and a url to use in a GET request to return the details of the object unless the object was deleted.
IMPORTANT: Some actions will fire multiple events (e.g. stopping a timer will fire stoptimer and newtime) so take care when subscribing to both events to ensure you only act on them once.
Show Sample POST data
{
"event":"addproject",
"url":"https://yourapi.net/webhook"
}
event
url
This call deletes a Web Hook
This call returns a single Web Hook.
This call updates a Web Hook.
NOTE: You cannot change the 'event' of a Web Hook, if you need to do so then you can delete the existing Hook and create a new one.
Show Sample PUT data
{
"url":"https://yourapi.net/resthook",
}
url
This call returns a list of Web Hook Requests for debugging purposes. Requests older than 7 days are automatically deleted.
For each request, this call returns:
divisionid
event
resthookid
status
This call returns a list of Tasks based on the filters specified. The fields parameter allows you to choose which data fields to return for each Task.
fields
apifields
apifieldsmode
billable
categoryid
companyid
completedatefrom
completedateto
contacts
contactsmode
dependentstatus
divisionid
duedatefrom
duedateto
generaltasks
id
idfrom
idto
internalclientgroupid
internalclientteamid
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
priority
projectcategoryid
projectcompletedatefrom
projectcompletedateto
projectcustomfieldoptionid
projectcustomfields
projectcustomfieldsmode
projectcustomstatusid
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projectstatus
projecttasks
projectteamid
searchdescription
searchname
startdatefrom
startdateto
status
tagid
taxable
timeallocated
timetracked
timetrackedby
timetrackedfrom
timetrackedto
type
upcomingdatefrom
upcomingdateto
pagenumber
pagesize
sortby
sortorder
This call adds a Task/s, you must provide either 'projectid' (to add a Task/s to a Project) or 'categoryid' (to add a General Task/s).
You must either provide details for one or more Tasks OR specify a Task Template ID.
If 'order' is not specified then the Task/s will be added as the last Task/s on the Project. Please refer to the 'order' parameter for further details on available options.
When specifying a Task Template ID that includes relative dates you can specify 'startdate' to set the date corresponding to day 1 in the Template OR specify 'duedate' to set the date corresponding to the latest day in the Template.
If Smart Ordering is enabled for the Project then you can use the 'order' setting to choose where to insert the Template.
When using a Template you can set the 'addtemplatecontacts' option to choose whether Contacts in the Template who are not assigned to the Project should be added to the Project or removed from the Tasks.
IMPORTANT: When adding multiple Tasks they must all have the same 'categoryid' or 'projectid'. Each Task must also have the same 'order' option or have a specific order number. When multiple Tasks are added using 'auto/after/before' for the 'order' options then they are added to the project in the order they are provided in your data.
Show Sample POST data
{
"name":"Adam",
"projectid":1,
"contacts":"1,2",
"startdate":"2014-01-18"
}
[
{
"name":"Adam",
"projectid":1,
"priority":2,
"contacts":"me",
"startdate":"2014-01-18"
},
{
"name":"Bob",
"projectid":1,
"contacts":"allstaff",
"startdate":"2014-01-23"
},
{
"name":"Charles",
"projectid":1,
"contacts":"1,2,3",
"startdate":"2014-01-28"
}
]
{
"templateid":1,
"projectid":1,
"startdate":"2014-01-18"
}
categoryid
contacts
name
projectid
servicename
templateid
addtemplatecontacts
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
billable
completedate
description
duedate
order
orderlevel
prerequisites
priority
servicedescription
servicerate
startdate
tagid
tasklistid
taxable
timeallocated
type
This call deletes a Task, this will also delete all Files, Messages & Time Records for the Task.
This call returns details of a single Task.
contactdetails
files
messages
messagescontacts
timerecords
timetrackedby
timetrackedfrom
timetrackedto
This call updates a Task.
IMPORTANT - This call is NOT used to complete or reactivate a Task, use the specific complete and reactivate calls instead.
Show Sample PUT data
{
"name":"Sample Task",
"description":"Sample Task Description",
"priority":2,
"startdate":"2014-04-18",
"duedate":"2014-04-28"
}
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
billable
categoryid
completedate
contacts
description
duedate
name
order
orderlevel
prerequisites
priority
servicedescription
servicename
servicerate
startdate
tagid
tasklistid
taxable
timeallocated
type
This call adjusts the dates for a single Task, by default this will adjust the start AND due dates of the Task, you can use the 'dates' option to adjust just the start or due date. Set the 'adjustment' option to set the number of calendar days/weeks/months/years to adjust the Task by.
IMPORTANT: A positive value defers a Task, a negative value advances a Task.
Use this call with care as running it multiple times by mistake will adjust dates multiple times.
Show Sample PUT data
{
"adjustment":"+1w",
"dates":"all"
}
adjustment
dates
This call completes a single Task. You can specify 'completedate' otherwise the current user's time is used.
Show Sample PUT data
{
"completedate":"2014-04-28"
}
completedate
This call returns details of the Contacts assigned to a Task.
This call adds or removes Contacts to/from a single Task (use the 'remove' option to REMOVE Contacts, default is to ADD Contacts.
IMPORTANT: For Project Tasks you can only assign Contacts already assigned to the Project. For General Tasks you can only assign Staff.
Show Sample PUT data
{
"contacts":"1,2",
"remove":true
}
contacts
remove
This call returns details of Files for a Task based on the specified filters. The fields parameter allows you to choose which data fields to return for each File.
fields
datefrom
dateto
search
pagenumber
pagesize
sortby
sortorder
This call adds a single File to a Task. To add a File to a Custom Folder, use the '/files' call with the 'folderid' option.
Show Sample POST data
{
"name":"filename.txt",
"content":"U29tZSB0ZXh0"
}
content
name
This call returns details of Messages for a Task. The fields parameter allows you to choose which data fields to return for each Message.
fields
contacts
datefrom
dateto
divisionid
originalmessageid
search
pagenumber
pagesize
sortby
sortorder
This call starts a new discussion in a Task. To attach files, they must first be uploaded and can then be attached to a message using the fileid parameter. To reply to an existing discussion, use the '/messsages' call with the 'originalmessageid' option.
Show Sample POST data
{
"contacts":"1,2",
"title":"New Message",
"content":"Message Content",
"fileid":"15"
}
contacts
content
title
files
notifications
public
This call reactivates a single Task.
This call starts a timer for a Task. If another timer is already running then it will be stopped.
Show Sample PUT data
{
"notes":"Sample notes"
}
notes
This call stops a timer for a Task.
Show Sample PUT data
{
"notes":"Sample notes"
}
notes
This call returns details of Time for a Task based on the filters specified. The subtotals parameter allows you to return Sub Totals of time tracked. The fields parameter allows you to return individual Time Records and choose which data fields to return for each Time Record.
trackedfrom
trackedto
fields
subtotals
approvalstatus
billable
contacts
sortby
sortorder
This call adds a single Time Record to a Task. The following combinations of starttime, endtime and timetracked can be specified:
Show Sample POST data
{
"starttime":"2014-03-20T13:00",
"timetracked":60,
"notes":"Sample notes"
}
endtime
starttime
timetracked
apifields
contactid
notes
This call deletes multiple Project Tasks, this will also delete all Files, Messages & Time Records for the Tasks. The Task IDs must all belong to the same Project. Please use this endpoint with caution.
taskid
This call returns a list of Overdue Tasks based on the specified filters. The fields parameter allows you to choose which data fields to return for each Project.
fields
apifields
apifieldsmode
billable
categoryid
companyid
contacts
contactsmode
dependentstatus
divisionid
generaltasks
managerid
priority
projectcategoryid
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projecttasks
searchdescription
searchname
startdatefrom
startdateto
tagid
timeallocated
timetracked
timetrackedby
timetrackedfrom
timetrackedto
type
pagenumber
pagesize
sortby
sortorder
This call returns a list of Overtime Tasks based on the specified filters. The fields parameter allows you to choose which data fields to return for each Project.
fields
apifields
apifieldsmode
billable
categoryid
companyid
completedatefrom
completedateto
contacts
contactsmode
dependentstatus
divisionid
duedatefrom
duedateto
generaltasks
managerid
priority
projectcategoryid
projectcompletedatefrom
projectcompletedateto
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projectstatus
projecttasks
searchdescription
searchname
startdatefrom
startdateto
status
tagid
timeallocated
timetrackedby
timetrackedfrom
timetrackedto
type
pagenumber
pagesize
sortby
sortorder
This call returns the time tracked and/or time records based on the filters specified, it also returns the total time tracked based on the filters specified. The subtotals parameter allows you to return Sub Totals of time tracked. Specifying the fields parameter will return a list of Time Records with the specified data fields.
trackedfrom
trackedto
fields
subtotals
apifields
apifieldsmode
approvalstatus
billable
categoryid
companyid
contacts
divisionid
generaltasks
groupid
id
idfrom
idto
internalclientcontactid
internalclientgroupid
internalclientteamid
lastmodifiedfrom
lastmodifiedto
lastmodifiedutcfrom
lastmodifiedutcto
managerid
projectcompletedatefrom
projectcompletedateto
projectcustomfieldoptionid
projectcustomfields
projectcustomfieldsmode
projectcustomstatusid
projectduedatefrom
projectduedateto
projectid
projectstartdatefrom
projectstartdateto
projectstatus
projecttasks
searchnotes
searchtask
taskcompletedatefrom
taskcompletedateto
taskduedatefrom
taskduedateto
taskid
taskstartdatefrom
taskstartdateto
taskstatus
taxable
teamid
sortby
sortorder
This call adds a single Time Record to a Task. The following combinations of starttime, endtime and timetracked can be specified:
Show Sample POST data
{
"taskid":1,
"starttime":"2014-03-20T13:00",
"timetracked":60,
"notes":"Sample notes"
}
endtime
starttime
taskid
timetracked
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
contactid
notes
This call deletes a single Time Record.
This call returns details of a single Time Record.
If the Time Record is running then the active field will be returned as true and timetrackedseconds will return the number of seconds tracked so far and timetracked will return the number of minutes tracked so far.
If the Time Record is complete then active will be returned as false and timetracked will return the number of minutes tracked
This call updates a single Time Record. The following combinations of starttime, endtime and timetracked can be specified:
Show Sample PUT data
{
"starttime":"2014-03-20T13:00",
"timetracked":60,
"notes":"Sample notes"
}
apifields
[
{
"id":1, "value":"Europe"
},
{
"id":2, "value":"Industrial"
}
]
contactid
endtime
notes
starttime
timetracked
This call stops a timer.
Show Sample PUT data
{
"notes":"Sample notes"
}
notes
This call returns a list of Active Timers.
Staff without Show Info permission will only be able to view their own Timer.
timetrackedseconds is the number of seconds tracked so far, timetracked is the number of whole minutes tracked so far.
contacts
divisionid
This call returns upcoming workload or availability in minutes for one or more users for every day in the specified date range. Weekends are automatically excluded from calculations but are included in the return data to make it easier to work with.
Overdue Tasks are NOT included in the Workload calculation
datefrom
dateto
availableminutes
mode
categoryid
companyid
contacts
divisionid