The Solve External API is implemented over HTTP and is RESTful. Every item has its own URI and is manipulated in isolation.
You will normally send your Request data in XML format, but we understand JSON and form encoded data just as well. If you want to use a non-XML request format, simply set the HTTP “Content-type” header to either application/json or application/x-www-form-urlencoded. Conversely, we will normally send response data in XML form, unless you set the HTTP “Accept” header to application/json.
Unless otherwise specified, date/time is always reported in UTC and formatted according to ISO 8601. When saving date/time data, values must first be converted from local time to UTC and follow one of these formats: 2004-02-12T15:19:21+00:00 (ISO 8601), 2004-02-12 15:19:21, or just 2004-02-12.
Please note, access to features and data is limited to the actual user account being used to access the API. Likewise, admin actions cannot be performed via API (i.e. granting workgroup permissions, etc.). The admin has to do this from within the main system.
URI | HTTP Methods |
---|---|
/report/nextactions/ | [GET] |
/report/calendar/ | [GET] |
/report/followups/ | [GET] |
/report/opportunities/ | [GET] |
/report/activities/ | [GET] |
/report/timetracking/ | [GET] |
Example request
https://secure.solve360.com/report/timetracking/?start=2009-08-02&end=2009-08-08
Or
curl -u '{userEmail}:{userApiToken}' -v -X GET -H 'Content-Type: application/xml' -o 'result.xml' -d '<request><start>2009-08-02</start><end>2009-08-08</end></request>' https://secure.solve360.com/report/timetracking/
Or
curl -u '{userEmail}:{userApiToken}' -v -X GET -o 'result.xml' 'https://secure.solve360.com/report/timetracking/?start=2009-08-02&end=2009-08-08'
Example response
… <response> <timerecords> <timerecord> <id>137875</id> <type>15</type> <itemid>137302</itemid> <itemtype>1</itemtype> <tasklistid>137853</tasklistid> <taskid>137854</taskid> <owner>137201</owner> <created>2009-08-18T21:31:18+00:00</created> <billable>1</billable> <person>137201</person> <hours>2.5</hours> <date>2009-08-02T00:00:00+00:00</date> <invoiced>42263</invoiced> <details>Integrated Solve with billing system</details> <itemname>John Smith</itemname> <tasklistname>tasklist</tasklistname> <taskname>one test task</taskname> </timerecord> … </timerecords> <status>success</status> </response>
/report/nextactions | List tasks, events and milestones filter (integer [user id, group id]), or filter (integer [no one=0, anyone=<empty>]) due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
/report/calendar | List tasks, events and milestones start (date) end (date) filter (integer [user id, group id]), or filter (integer [without attendees=0, anyone=<empty>] itemsdata (integer [0=do not include parent data, 1=include parent data]) |
/report/followups | List open follow-ups responsible (integer [user id, group id]), or responsible (integer [no one=0, anyone=<empty>] due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
/report/opportunities | Lists opportunities by user and status criteria filter (integer [user id, group id]), or filter (integer [no one=0, anyone=<empty>] status (string [discussion, pending, won, lost, on-hold]) due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
/report/activities | List activities that have been created, modified created or modified, or when specifying only tasks, completed, matching many different criteria start (date) end (date) last (string [created, updated, changed, completed]) types (integer [3, 4, 6, 14, 23, 24, 32, 73, 88]) users (integer [group id, user id]) categories (integer) itemtypes (integer [1, 2, 40]) itemsdata (integer [0=do not include parent data, 1=include parent data]) |
/report/timetracking | Lists time records matching a specific date range and status start (date) end (date) filter (string, [invoiced, billable, non-billable] itemtypes (integer [1, 2, 40]) itemsdata (integer [0=do not include parent data, 1=include parent data]) |
Required field
Multiple values supported separated by comma
Activity | Type ID |
---|---|
note | 3 |
event | 4 |
followup | 6 |
task | 14 |
file | 23 |
photo | 24 |
opportunity | 32 |
event (non-linked) | 61 |
call log | 73 |
scheduled email | 88 |