IntroductionWorking with recordsActivity reportsWebhook managementExamplesBatching Requests

Activity Reports

Preamble

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.

Interface Summary

https://secure.solve360.com/
URI HTTP Methods
/report/nextactions/ [GET]
/report/calendar/ [GET]
/report/followups/ [GET]
/report/opportunities/ [GET]
/report/activities/ [GET]
/report/timetracking/ [GET]

Methods

Show

GET https://secure.solve360.com/{uri}

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>

Parameters

/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 types

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