Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns XML-encoded(by default) OR JSON-encoded(if set parameter retType=json) responses, and uses standard HTTP response codes, authentication, and verbs.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without
authentication will also fail.
Authentication signIn
[GET] /api/v2/service/get/authentication/signIn
/api/v2/service/get/authentication/signIn?login=<login>&password=<password>
Arguments
-
login
string
User login.
-
password
string
User password.
Returns
-
sessionId
string
Authorization token.
Authentication signOut
[GET] /api/v2/service/get/authentication/signOut
/api/v2/service/get/authentication/signOut
Get Authorized User
[GET] /api/v2/service/get/authentication/getAuthorizedUser
/api/v2/service/get/authentication/getAuthorizedUser?login=<login>&password=<password>
OR
/api/v2/service/get/authentication/getAuthorizedUser?sessionId=<sessionId>
Get Status list
[GET] /api/v2/service/get/metainfo/getStatuses
/api/v2/service/get/metainfo/getStatuses?login=<login>&password=<password>
OR
/api/v2/service/get/metainfo/getStatuses?sessionId=<sessionId>
Arguments
Returns
-
list
StatusList object
status list
Get Priority list
[GET] /api/v2/service/get/metainfo/getPriorities
/api/v2/service/get/metainfo/getPriorities?login=<login>&password=<password>
OR
/api/v2/service/get/metainfo/getPriorities?sessionId=<sessionId>
Arguments
Returns
-
list
PriorityList object
priority list
Project object
Attributes
-
id
string
Unique identifier of the object.
-
name
string
Name of the Project.
-
description
string
Description of the Project.
-
tags
string
Tags list (comma-separated).
-
ownerId
integer
Unique identifier of the owner (creator)
user.
-
groupId
integer
Unique identifier of the
group.
-
startDate
dateTime
Start date.
-
endDate
dateTime
End date.
-
priority
integer
Unique identifier for the priority. Valid values: 1 - low 2 - normal 3 -
high 4 - urgent. Default value - normal.
-
status
integer
Unique identifier for the status. Valid values: 10 - open 20 - on hold 30
- done. Default value - open.
-
createdAt
dateTime
Time when the object was created.
-
updatedAt
dateTime
Time when the object was updated.
-
notifyProjectTeam
boolean
Notify by email the Project Team
-
notifyClient
boolean
Notify by email the Clients
-
hidden
boolean
Hide this project from non-team members (does NOT hide from Clients).
-
flag
integer
The "star" icon color. Valid values: 0 - blank 1 - violet 2 -
orange 3 - red. Default value - 0.
-
Project team
-
can_edit
boolean
Rights to change the object
Create a project
[POST] /api/v2/service/post/projects/add
/api/v2/service/post/projects/add?project[name]=<name>&sessionId=<sessionId>
Update a project
[POST] /api/v2/service/post/projects/update
/api/v2/service/post/projects/update?project[id]=<id>&project[name]=<name>&sessionId=<sessionId>
Remove a project
[POST] /api/v2/service/post/projects/remove
/api/v2/service/post/projects/remove?id=<id>&sessionId=<sessionId>
Get project by Id
[GET] /api/v2/service/post/projects/getById
/api/v2/service/get/projects/getById?id=<id>&sessionId=<sessionId>
List all projects
[GET] /api/v2/service/post/projects/getAll
/api/v2/service/get/projects/getAll?sessionId=<sessionId>
Get projects list
[GET] /api/v2/service/post/projects/getList
/api/v2/service/get/projects/getList?filter[groupId]=<groupId>&sessionId=<sessionId>
Arguments
-
loadTeam
boolean
True - include the team in the response.
-
filter
array
Array of filters:
groupId,
ownerId,
name, assignedTo(user id), active (get only
active projects), hide_old_object_period (hide projects closed more than X days ago)
-
offset
integer
Get the list of projects starting from the 'offset' project.
-
count
integer
Requested number of projects.
Returns
Task object
Attributes
-
id
string
Unique identifier of the object.
-
name
string
Name of the Task.
-
parentId
integer
If the task has a parent, the Id of the parent task.
-
parentName
string
Parent Task name (read only).
-
description
string
Description of the task.
-
tags
string
Tags list (comma-separated).
-
projectId
integer
-
ownerId
integer
Unique identifier of the owner
user.
-
groupId
integer
Unique identifier of the
group.
-
startDate
dateTime
Start date.
-
endDate
dateTime
If the task has ended, the date of the task ended.
-
priority
integer
Unique identifier for the priority. Valid values: 1 - low 2 - normal 3 -
high 4 - urgent. Default value - normal.
-
progress
integer
Progress (in percentage).
-
status
integer
Unique identifier for the status. Valid values: 10 - open 20 - on hold 30
- done. Default value - open.
-
createdAt
dateTime
Time when the object was created.
-
updatedAt
dateTime
Time when the object was updated.
-
notifyProjectTeam
boolean
Notify by email the Project Team
-
notifyTaskTeam
boolean
Notify by email the Task Team
-
notifyClient
boolean
Notify by email the Clients (assigned to the Project level)
-
Notify a list of users.
-
hidden
boolean
Hide this task from non-team members (does NOT hide from Clients).
-
flag
integer
"star" icon color. Valid values: 0 - blank 1 - violet 2 -
orange 3 - red. Default value - 0.
-
hoursDone
float
Total number of hours spent on this task.
-
estimatedTime
float
Estimated number of hours it may take to complete the task.
-
Task's team.
-
can_edit
boolean
Rights to change the object.
Create a task
[POST] /api/v2/service/post/tasks/add
/api/v2/service/post/tasks/add?task[name]=<name>&sessionId=<sessionId>
Update a task
[POST] /api/v2/service/post/tasks/update
/api/v2/service/post/tasks/update?task[id]=<id>&task[name]=<name>&sessionId=<sessionId>
Arguments
-
task
object (id - required)
Returns
Remove a task
[POST] /api/v2/service/post/tasks/remove
/api/v2/service/post/tasks/remove?id=<id>&sessionId=<sessionId>
Get task by Id
[GET] /api/v2/service/get/tasks/getById
/api/v2/service/get/tasks/getById?id=<id>&sessionId=<sessionId>
Get list tasks
[GET] /api/v2/service/get/tasks/getList
/api/v2/service/get/tasks/getList?sessionId=<sessionId>
Arguments
-
loadTeam
boolean
True - include the team in the response.
-
filter
array
Array of filters:
projectId,
parentId,
startedFrom,
startedBefore,
deadlineFrom,
deadlineBefore,
progressLessThan,
progressMoreThan,
createdFrom,
createdBefore,
updatedFrom,
updatedBefore,
groupId,
ownerId,
name, assignedTo(user id), active (get only
active tasks), hide_old_object_period (hide tasks closed more than X days ago)
-
offset
integer
Get the list of tasks starting from the 'offset' task.
-
count
integer
Requested number of tasks.
Returns
User object
Attributes
-
id
string
Unique identifier of the object.
-
title
string
User's title.
-
email
string
User's email.
-
password
string
User's password.
-
firstName
string
User's First name.
-
lastName
string
User's Last name.
-
address
string
User's Address
-
workPhone
string
User's Work phone
-
cellPhone
string
User's Cell phone
-
company
string
User's Company
-
securityLevel
string
User's security level. Values: 0 - admin, 100 - user, 150 - external
user, 200 - client.
-
comment
string
comments.
-
canViewProfiles
boolean
Can view other users profiles.
-
avatar
string
Create a user
[POST] /api/v2/service/post/users/add
/api/v2/service/post/users/add?user[firstName]=<name>&sessionId=<sessionId>
Update a user
[POST] /api/v2/service/post/users/update
/api/v2/service/post/users/update?user[id]=<id>&user[lastName]=<name>&sessionId=<sessionId>
Arguments
-
user
object (id - required)
Returns
Remove a user
[POST] /api/v2/service/post/users/remove
/api/v2/service/post/users/remove?id=<id>&sessionId=<sessionId>
Get user by Id
[GET] /api/v2/service/get/tasks/getById
/api/v2/service/get/tasks/getById?id=<id>&sessionId=<sessionId>
Get user by email
[GET] /api/v2/service/get/users/getByEmail
/api/v2/service/get/users/getByEmail?email=<email>&sessionId=<sessionId>
Arguments
-
email
string (required)
Email.
Returns
Get all users
[GET] /api/v2/service/get/users/getAll
/api/v2/service/get/users/getAll?sessionId=<sessionId>
Activity object
Attributes
-
id
string
Unique identifier of the object.
-
taskId
integer
Unique identifier of the
task.
-
taskName
string
Task name (read only).
-
projectId
integer
-
projectName
string
Project name (read only).
-
type
string
Activity type. Valid values: "msg" - message, "progress" - progress note,
"file" - file note, "googledocs" - Google Docs link, "ss_boards" - SpiderScribe board,
"ff_boards" - FireFly screen.
-
text
string
Description of the activity.
-
ownerId
integer
Unique identifier for the owner
user.
-
progress
integer
Progress in percentage.
-
hoursDone
float
Number of hours spent on the task
task.
-
createdAt
dateTime
Time when the object was created.
-
updatedAt
dateTime
Time when the object was updated.
-
notifyProjectTeam
boolean
Notify by email the Project Team
-
notifyTaskTeam
boolean
Notify by email the Task Team
-
notifyClient
boolean
Notify by email the Clients
-
Notify a list of users
-
hideFromClients
boolean
Hide this activity from Clients (Progress Notes — activities with
reported progress — can not be hidden from Clients, as they can change the task's
status).
-
date
dateTime
Posting date and time.
-
List of attached files.
Create an Activity
[POST] /api/v2/service/post/activity/add
/api/v2/service/post/activity/add?activity[taskId]=<taskId>&activity[type]=msg&activity[text]=<text>&sessionId=<sessionId>
Update an Activity
[POST] /api/v2/service/post/activity/update
/api/v2/service/post/activity/update?activity[id]=<id>&activity[text]=<text>&sessionId=<sessionId>
Remove an Activity
[POST] /api/v2/service/post/activity/remove
/api/v2/service/post/activity/remove?id=<id>&sessionId=<sessionId>
Get Activity by Id
[GET] /api/v2/service/get/activity/getById
/api/v2/service/get/activity/getById?id=<id>&sessionId=<sessionId>
Get list activities
[GET] /api/v2/service/get/activity/getList
/api/v2/service/get/activity/getList?sessionId=filter[taskId]=<taskId>&<sessionId>
Arguments
-
filter
array
Array of filters:
projectId,
taskId,
type,
groupId,
assignedTo(user id), active (get only active projects/tasks), hide_non_active (hide
projects/tasks closed more than X days ago). Applies to the project/task the Activity
was posted to.
-
offset
integer
Get the list of activities starting from 'offset' activity.
-
count
integer
Requested number of activities.
-
withFiles
boolean
Include files in the return.
-
withNames
boolean
Return project and task names.
Returns
Attach Files
[POST] /api/v2/service/post/activity/attachFiles
/api/v2/service/post/activity/attachFiles?activityId=<activityId>&files[1][name]=<name>&sessionId=<sessionId>
Arguments
-
activityId
Integer
-
Files list.
Returns
Get Files list
[GET] /api/v2/service/get/activity/getFilesList
/api/v2/service/get/activity/getFilesList?filter[projectId]=<projectId>&sessionId=<sessionId>
Remove a File
[POST] /api/v2/service/post/activity/removeFile
/api/v2/service/get/activity/removeFile?id=<id>&sessionId=<sessionId>
Download a File
[POST] /api/v2/service/post/activity/downloadFile
/api/v2/service/get/activity/downloadFile?id=<id>&sessionId=<sessionId>
Create a Group
[POST] /api/v2/service/post/projectsgroups/add
/api/v2/service/post/projectsgroups/add?group[name]=<name>&sessionId=<sessionId>
Update a Group
[POST] /api/v2/service/post/projectsgroups/update
/api/v2/service/post/projectsgroups/update?group[id]=<groupId>&projectsgroups[name]=<name>&sessionId=<sessionId>
Arguments
-
Group
object (id - required)
Returns
Remove a Group
[POST] /api/v2/service/post/projectsgroups/remove
/api/v2/service/post/projectsgroups/remove?id=<id>&sessionId=<sessionId>
Get Group by Id
[GET] /api/v2/service/get/projectsgroups/getById
/api/v2/service/get/projectsgroups/getById?id=<id>&sessionId=<sessionId>
Get all Groups
[GET] /api/v2/service/get/projectsgroups/getAll
/api/v2/service/get/projectsgroups/getAll?sessionId=<sessionId>