Authentication

DevTrack admin will generate a token for every user, we need pass this user token to the API. We support the following:

  • Use URL query string to pass the token.
    e.g. https://abc.com/api/project?projectid=181&token=2A693723-2ACC-4493-BF9C-17FDA531643A
  • Use the Authorization header to pass the token.
    e.g. Authorization: bearer 2A693723-2ACC-4493-BF9C-17FDA531643A
  • User cookie named 'UserToken' to pass the token.
    e.g. Cookie: UserToken=2A693723-2ACC-4493-BF9C-17FDA531643A;
The Rest API will take the precedence of URI, header and then cookie to check if the request is valid.

Multilingual

We need pass language id to the API, We support English(language id is 1), Chinese(language id is 2) and Japenese(language id is 3), we support following methods to pass language id:

  • Use URL query string to pass language id.
    e.g. https://abc.com/api/project?projectid=181&token=2A693723-2ACC-4493-BF9C-17FDA531643A&LanguageID=2
  • User cookie named 'LangaugeID' to pass the token.
    e.g. Cookie: UserToken=2A693723-2ACC-4493-BF9C-17FDA531643A;LanguageID=2;
The Rest API will take the precedence of URI and then cookie to check what the language id is.

SubProject

APIDescription
POST api/SubProject/GetTree

Get the SubProject and its child SubProjects based on SubProject ID

POST api/SubProject/GetMultilevelTree

According to an user setting, Get the SubProject tree.

POST api/SubProject/GetTaskBoardFolderTree

Get project task board folder tree in a management space

POST api/SubProject/LinkedSpaces

Get the linked ALM Spaces based on a Space ID

POST api/SubProject

Get a SubProject info based on SubProject ID

POST api/SubProject/Path

Get a SubProject's full path based on SubProject ID

POST api/SubProject/Create

Create a SubProject

POST api/SubProject/Update

Update a SubProject

POST api/SubProject/Delete

Delete a subproject and its child subprojects

POST api/SubProject/SprintDate

Get sprint subproject's plan start date and plan finish date based on subproject id

POST api/SubProject/Sprints

Get sprints of a space.

POST api/SubProject/TitleExists

Indicate if there is a child subproject with the specified name.

POST api/SubProject/Move

Move a subproject to a special position

POST api/SubProject/applicableSubProjectTypes

Get all applicable subproject types of a specified subproject.

POST api/SubProject/applicableSubProjectStatuses

Get all applicable subproject statuses of a specified subproject.

GET api/SubProject/SprintsInProcess?projectId={projectId}&spaceId={spaceId}

Get all the sprint folders which are in process today based on a specified space

POST api/SubProject/initialization

Get the initialization of new subproject

POST api/SubProject/saveMembers

Save subproject members

WorkObjective

Everything about Work Objective

APIDescription
GET api/WorkObjective/Get?projectId={projectId}&workObjectiveId={workObjectiveId}

Get work objective by workObjective id

POST api/WorkObjective/Create

Create a work objective

POST api/WorkObjective/CreateFromTemplates

Create work objective from work template

POST api/WorkObjective/Update

Update an existed work objective based on workObjective id

POST api/WorkObjective/Delete?projectId={projectId}&workObjectiveId={workObjectiveId}

Delete a work objective based on work objective ID

POST api/WorkObjective/Query

Query work objective

POST api/WorkObjective/GroupedWorkObjectivesByOwner

Get grouped work objective list by owner

GET api/workObjective/CloneAll?projectId={projectId}&fromSprintId={fromSprintId}&toSprintId={toSprintId}

Clone all work objectives from a sprint to the other sprint

POST api/workObjective/CloneAll?projectId={projectId}&fromSprintId={fromSprintId}&toSprintId={toSprintId}

Clone all work objectives from a sprint to the other sprint

GET api/workObjective/WorkObjectiveExists?projectId={projectId}&sprintId={sprintId}&ownerId={ownerId}&systemType={systemType}&workType={workType}

Get whether the work objective exists or not

GET api/workObjective/WorkObjectiveTypes?projectId={projectId}

Get work objective types based on project id

TimeTracking

APIDescription
GET api/timeTracking?projectId={projectId}&taskId={taskId}

Get detail info about a task's time tracking

POST api/timeTracking/GetTimeSpentHistoryItem

Get a time spent history entry based on history item id

POST api/timeTracking/AddTimeSpentItem

If support multiple time entries or support multiple time entries with category and cost, the method will add a time spent entry, else return an error.

POST api/timeTracking/UpdateTimeSpentHistoryItem

Update a Time spent History item based on history item id,

POST api/timeTracking/DeleteTimeSpentHistoryItem

Delete a Time Spent history item based on history item id

POST api/timeTracking/UpdateTimeSpent

If support single tiem entry per task, the method will update task's time spent property only, else return an error.

POST api/timeTracking/TimeCagetories?projectId={projectId}

Get time categories based on project id.

Integration

APIDescription
GET api/integration/settings

Get integration settings.

GET api/enableIntegrationWithPeertime?newAppKeyRequired={newAppKeyRequired}

Enable integration with Peertime.

GET api/disableIntegrationWithPeertime

Disable integration with Peertime.

GET api/integration/auth?appKey={appKey}

Validate the integratin app key.

POST api/integration/SaveIntegrationInfoWithPeertime

Save the infomations of integration with peertime

GET api/integration/IntegrationInfoWithPeertime

Get the infomations of integration with peertime.

Event

APIDescription
POST api/Event/Delete

Delete event based on event id or task id

GET api/Events?projectId={projectId}&taskId={taskId}

Get the events of a task based on task id

GET api/Event?projectId={projectId}&taskId={taskId}&eventId={eventId}

Get a event of a task based on event id

POST api/Event/Add

Add a event to a task

POST api/Event/Update

Update an existing event

Employee

APIDescription
POST api/employee/UpdateCurrentStatus

No documentation available.

POST api/employee/currentStatus

Get employee's status(e.g online, offline)

POST api/employee/timeSpent

Get employee's time spent of a specified date

POST api/employee/detailedSummary

Get employee's dading summary for a period of time

POST api/employee/dailySummary

Get employee's daily dading summary for a period of time

Budget

APIDescription
GET api/Budget/GetCostGroup

Get member group for budget

GET api/Budget/GetCategoryTree?projectId={projectId}

Get Budget Category tree

POST api/Budget/CreateCategory

Create new category under cost group

GET api/Budget/GetBudgeProject?ppmProjectID={ppmProjectID}

Get Budget ProjectID

POST api/Budget

Save a direct cost

POST api/Budget/SaveCostSheet

Save a direct cost

WorkQualityTracking

APIDescription
GET api/workQualityTracking/workQualityTrackings?projectBaseId={projectBaseId}&taskId={taskId}

get work quality tracking based on a task

POST api/workQualityTracking/saveWorkQualityTracking

save work quality tracking based on a task

Admin

APIDescription
GET api/Admin/GetIssueTypes?projectId={projectId}

Get project info based on project id

GET api/Admin/DeleteIssueType?projectId={projectId}&issueTypeID={issueTypeID}

Delete a IssueType from a project based on project ID and issueTypeID

POST api/Admin/EditIssueType?projectID={projectID}

No documentation available.

POST api/Admin/CreateIssueType?projectID={projectID}

Create a issueType

POST api/Admin/AddTimeOff4User?userID={userID}&FromDate={FromDate}&ToDate={ToDate}

AddTimeOff4User

POST api/Admin/SetP1ProjectSettingValue?projectId={projectId}&projectSpaceId={projectSpaceId}&settingId={settingId}&settingValue={settingValue}

GetP1ProjectSettingValue

POST api/Admin/SetP1ProjectSettingListValue?projectId={projectId}&projectSpaceId={projectSpaceId}

GetP1ProjectSettingValue

POST api/Admin/GetP1ProjectSettingValue?projectId={projectId}&projectSpaceId={projectSpaceId}&settingId={settingId}

GetP1ProjectSettingValue

POST api/Admin/GetP1ProjectSettingListValue?projectId={projectId}&projectSpaceId={projectSpaceId}

GetP1ProjectSettingListValue

GET api/Admin/GetIssueSystemTypeDef

Get Issue SystemType Define

GET api/Admin/GetPPMSummary?projectId={projectId}&fresh={fresh}

Get PPM project Summary info based on project id

GET api/Admin/GetTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetDTKTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetDTKDefectTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetPPMTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetKWTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetSpecTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetTestTempTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

GET api/Admin/GetTestTaskTasksByOwnerId?personID={personID}

Get Tasks By Owner personID

POST api/Admin/GetTasksByLogin?loginName={loginName}

Get Tasks By OwnerId

GET api/Admin/GetTaskCountsByOwnerId?personID={personID}

Get Tasks By Owner personID

POST api/Admin/GetTaskCountsByLogin?loginName={loginName}

Get Tasks By OwnerId

GET api/Admin/GetPPMTimeCount?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetPPMLinkedTimeCount?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetPPMDelayedAndExpectedTaskCounts?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetPPMSubProjectTeamScore?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetSubProjectLinkedTaskMonthlyTimeSpent_Remain?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetMonthlyEpic_SpecPoints?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetEpic_SpecTaskCounts?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetMonthlyTaskPoints?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetSprintTaskDaylyTimeSpent_Remain?dtkProjectId={dtkProjectId}&sprintID={sprintID}&fresh={fresh}

Get PPM project Summary info based on project id and subProjectID

GET api/Admin/GetSubProjectStatus?projectId={projectId}&fresh={fresh}

Get SubProject Status Counts info based on project id

GET api/Admin/GetTestTaskWeeklyCountsGroupByStatus?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get TestTask Counts info group by Status, based on project id

GET api/Admin/GetTestTempWeeklyCountsGroupByStatus?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get TestTask Counts info group by Status, based on project id

GET api/Admin/GetTestTaskCountsGroupByStatus?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get TestTask Counts info group by Status, based on project id

GET api/Admin/GetTestTempCountsGroupByStatus?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

Get TestTemp Counts info group by Status, based on project id

GET api/Admin/GetSubProjectProcess?projectId={projectId}&fresh={fresh}

Get SubProject Process Counts info based on project id

GET api/Admin/GetLinkedDTKSprints?projectId={projectId}&subProjectID={subProjectID}

GetLinkedDTKSprints based on project id and subProjectID

GET api/Admin/GetChildSubProjects?projectId={projectId}&subProjectID={subProjectID}

Get ChildSubProjects info based on project id and subProjectID

GET api/Admin/GetSubProjectLinkedDelayTask?projectId={projectId}&fresh={fresh}

GetSubProjectLinkedDelayTask

GET api/Admin/GetMonthlySubProjectLinkedDelayTask?projectId={projectId}&subProjectID={subProjectID}&fresh={fresh}

GetMonthlySubProjectLinkedDelayTask

POST api/Admin/SetSystemSettingValue?settingId={settingId}&settingValue={settingValue}

SetSystemSettingValue

POST api/Admin/SetSystemSettingListValue

SetSystemSettingListValue

POST api/Admin/GetSystemSettingValue?settingId={settingId}

GetSystemSettingValue

POST api/Admin/GetSystemSettingListValue

GetSystemSettingListValue

GET api/Admin/GetDTKMainPages?projectID={projectID}

GetDTKMainPages

GET api/Admin/GetDTKPagesOrder?projectID={projectID}

GetDTKPagesOrder

GET api/Admin/SetDTKPagesOrder?projectID={projectID}

SetDTKPagesOrder

GET api/Admin/GetDTKSmartPages?projectID={projectID}

GetDTKSmartPages

POST api/Admin/NewDTKSmartPage?projectID={projectID}

NewDTKSmartPage

POST api/Admin/NewDTKCustomPage

NewDTKCustomPage

GET api/Admin/DeleteDTKCustomPage?projectID={projectID}&pageID={pageID}

DeleteDTKCustomPage

POST api/Admin/EditDTKPageName

EditDTKPageName

GET api/Admin/GetDTKPageMultilingual?ProjectId={ProjectId}&PageId={PageId}

Get Page Multilingual name

GET api/Admin/GetDTKPageFieldsOrder?projectID={projectID}&pageID={pageID}

GetDTKPagesOrder

GET api/Admin/SetDTKPageFieldsOrder?projectID={projectID}&pageID={pageID}

SetDTKPagesOrder

GET api/Admin/Test1

No documentation available.

ProjectOne

Something about new concept named "Project one".

APIDescription
GET api/projectone/GroupedApplicableProjectBaseByModule?projectId={projectId}

This api is not recommended, it will be removed soon, please use api/projectone/ApplicableProjectBases. Get all applicable project base grouped by module (e.g Knowledge, Requirement, Development , Management, TestRun, TestLiberary module) based on a development project base id or a management project base id

GET api/projectone/ApplicableProjectBases?projectId={projectId}

Get all applicable project bases (e.g Knowledge, Requirement, Development , Management, TestRun, TestLiberary module) based on a management project base id

POST api/projectone/projectMembers

Get all members based on every project base id listed in binder

POST api/projectone/applicableSpaces

Get management or development spaces based on a projectBase Id

POST api/projectone/createP1Project

Create project with various modules (e.g Management, Development, Requirement, Knowledge, Test Run, Test Liberary, Defect module)

POST api/projectone/applicableMembers

Get applicable members based on projectBase ids

POST api/projectone/applicableAccountTypes

Get all applicable account types grouped by module (e.g Knowledge, Requirement, Development , Management, TestRun, TestLiberary module)

POST api/projectone/memberAccountType

Get a person's account types in vairous modules(e.g Management, Development, Requirement, Knowledge, Test Run, Test Liberary, Defect module)

GET api/projectone/P1Members?projectId={projectId}&spaceId={spaceId}

Get project members in a P1 project (include Management, Development, Requirement, Knowledge, Test Run, Test Liberary and Defect module)

POST api/projectone/UpdateP1Member

Add a person to a P1 Project if he is not member of the P1 project, and update the person's account type in vairous modules(e.g Management, Development, Requirement, Knowledge, Test Run, Test Liberary and Defect module)

POST api/projectone/addP1Members

Batch add persons to a P1 Project

POST api/projectone/DeleteP1Member

Remove a person from a P1 Project.

GET api/projectone/P1ProjectInfo?projectId={projectId}&spaceId={spaceId}

Get P1 project overview based on a management space or a development space

GET api/projectone/P1Modules?projectId={projectId}&spaceId={spaceId}

Get P1 Project modules based on a mangagement space or a development space

POST api/projectone/UpdateP1Modules

Update a P1 Project's modules based on a management space or a development space

GET api/projectone/P1Milestones?projectId={projectId}&spaceId={spaceId}

List p1 project's milestone info.

GET api/projectone/P1ProjectBaseFamilies

Get all accessable Project base families

POST api/projectone/P1Projects

Get all p1 projects in a ProjectBase Family based on query option

POST api/projectone/P1ProjectsEx

Get all p1 projects in a ProjectBase Family based on query option

GET api/projectone/standaloneSpaces?projectId={projectId}

Get all standalone spaces based on project base id

GET api/projectone/referencableSpaces?projectId={projectId}

Get all referencable spaces based on project id

GET api/projectone/groupedStandaloneSpaceCount

Get standalone spaces count per project base.

POST api/projectone/import

Import standalone space.

GET api/projectone/archive?projectId={projectId}&spaceId={spaceId}

Archive a p1 project based on a management space

GET api/projectone/active?projectId={projectId}&spaceId={spaceId}

Active an archived p1 project based on a management space

GET api/projectone/delete?projectId={projectId}&spaceId={spaceId}

Delete a p1 project based on a management space

DELETE api/projectone/delete?projectId={projectId}&spaceId={spaceId}

Delete a p1 project based on a management space

GET api/projectone/P1ProjectOptions?projectId={projectId}&spaceId={spaceId}

Get a p1 project's feature options.

POST api/projectone/UpdateProjectOptions

Save a p1 project's feature options.

GET api/projectone/P1Project?projectId={projectId}&spaceId={spaceId}

Get P1 Project modules and Project Settings based on a mangagement space or a development space

GET api/projectone/P1FamilyProjects?projectId={projectId}

Get all ALM ProjectBases in a family

GET api/projectone/P1ProjectOverview?projectId={projectId}&spaceId={spaceId}

Get P1 project overview

POST api/projectone/UpdateP1ProjectOverview

Update a p1 project's overview

POST api/projectone/P1ProjectMultilingualLabels

Get a multilingual label of a P1 Project by label id

POST api/projectone/P1ProjectMultilingualLabels2

Batch get multilingual label of a P1 Project

POST api/projectone/SaveP1ProjectMultilingualLabels

save multilingual label

POST api/projectone/P1ProjectIdentifierExists

Indicate whether the identifier exists or not.

Dading

APIDescription
POST api/dading/personDadings

Get a person' dings

POST api/dading/activeDadings

Get multiple person's active Dadings

POST api/dading/employeeTodayDadings

Get multiple person's Dadings today

GET api/dading/todayDadings?projectBaseId={projectBaseId}&personId={personId}

Get one person's active Dadings and closed Dadings on today.

POST api/dading/dadingsOfOneDay

Get one person's dadings on the specified day

POST api/dading/createOrEdit

Create a dading or edit an existing dading.

POST api/dading/close

Close the specified Dadings

POST api/dading/delete

Close the specified Dadings

POST api/dading/detailedSummary

Get employee's dading summary for a period of time

POST api/dading/dailySummary

Get employee's daily dading summary for a period of time

Workflow

APIDescription
GET api/Workflow/GetOptions?projectId={projectId}&projectType={projectType}

No documentation available.

GET api/Workflow/GetList?projectId={projectId}&projectType={projectType}

No documentation available.

GET api/Workflow/GetStates?projectId={projectId}&projectType={projectType}

No documentation available.

POST api/Workflow/SetState

No documentation available.

GET api/Workflow/GetDetail?projectId={projectId}&projectType={projectType}&workflowId={workflowId}

No documentation available.

POST api/Workflow/SetDetail

No documentation available.

POST api/Workflow/Create

No documentation available.

POST api/Workflow/CopySubWorkflow

Copy a sub workflow to a project

WorkObjectiveType

Everything about work objective type

APIDescription
GET api/workObjectiveType/list?projectId={projectId}

Get work objective types based on project id

POST api/workObjectiveType/create

New a work objective type

POST api/workObjectiveType/edit

Edit a work objective type

POST api/workObjectiveType/delete?projectId={projectId}&id={id}

Delete a work objective type

FileAttachment

File attachment operation.

APIDescription
POST api/fileAttachment/add

Add a file attachment to a issue

POST api/fileAttachment/downloadTesting

Test devspec downloading

GUI

Something about task detail pages gui

APIDescription
GET api/GUI/DefaultListviewSetting?projectId={projectId}&UIOption={UIOption}

Get listview setting of project base

POST api/GUI/SubmissionPages

Get all fields which should be displayed on the submission pages

POST api/GUI/EditingPages

Get all fields which should be displayed on the editiong pages

POST api/GUI/H5AppSubmissionPage

Get all fields which should be displayed on the task info page of H5 App.

POST api/GUI/H5AppEditingPage

Get all fields which should be displayed on the task info page of H5 App.

GET api/GUI/applicableEditingPages?projectId={projectId}

Get applicable task editing pages

GET api/GUI/AppGuiSetting?projectId={projectId}&issueTypeId={issueTypeId}

Get gui setting in H5 App based on issue type

GET api/GUI/AllAppGuiSettings?projectId={projectId}

Get all gui settings in H5 App

P1ProjectSetting

APIDescription
GET api/P1ProjectSetting/Get?p1ProjectBaseId={p1ProjectBaseId}&p1SpaceId={p1SpaceId}&settingId={settingId}

Get p1 project setting by setting id

POST api/P1ProjectSetting/BatchGet

Batch get p1 project settings by setting id

POST api/P1ProjectSetting/Save

Save p1 project settings

PeriodScore

APIDescription
GET api/PeriodScore/list?projectId={projectId}&jobIssueId={jobIssueId}&ownerId={ownerId}

Get score list based on job performance issue id

GET api/PeriodScore/get?projectId={projectId}&scoreId={scoreId}

Get a period score based on score item id

POST api/PeriodScore/add

Add a score object into sprint.

POST api/PeriodScore/edit

Update a score object.

GET api/PeriodScore/delete?projectId={projectId}&jobIssueId={jobIssueId}&scoreItemId={scoreItemId}

Delete a score object.

POST api/PeriodScore/relatedSprints

Get a person's related sprints based on a range of date.

POST api/PeriodScore/relatedSprintScores

Get a person's related sprints based on a range of date.

POST api/PeriodScore?projectId={projectId}&jobIssueId={jobIssueId}&ownerId={ownerId}

Get average score based on job performance issue id and score owner id

POST api/PeriodScore/AverageScore?projectId={projectId}&jobIssueId={jobIssueId}&ownerId={ownerId}

Get average score based on job performance issue id and score owner id

UserPreference

Everything about user preference

APIDescription
POST api/UserPreference/Preferences

Get a specified user's preference values base on preference ids

POST api/UserPreference/Save

Save a specified user's reference value based on reference id.

POST api/UserPreference/BatchSave

Batch Save multiple user reference values.

POST api/UserPreference/ApplyToOthers

Apply a user preference setting to others

GET api/UserPreference/ListviewSetting?projectId={projectId}&option={option}

Get columns of listview based on projectid

POST api/UserPreference/SaveListviewSetting

Save columns of listview

GET api/UserPreference?projectId={projectId}&prefId={prefId}

Get current user's preference value base on reference id

GET api/UserPreference/Get?projectId={projectId}&prefId={prefId}

Get current user's preference value base on reference id

SprintScore

A sprint score describes a member's score in a sprint.

APIDescription
GET api/SprintScore/list?projectId={projectId}&sprintId={sprintId}

Get score list based on sprint id

GET api/SprintScore/get?projectId={projectId}&scoreId={scoreId}

Get a sprint score based on score item id

POST api/SprintScore/add

Add a score object into sprint.

POST api/SprintScore/edit

Update a score object.

GET api/SprintScore/delete?projectId={projectId}&scoreItemId={scoreItemId}

Delete a score object.

Methodology

Everything about Methodology Support of one Project

APIDescription
GET api/Methodology/ImplementationModules?projectId={projectId}

Get Implementation modules base on project id

License

APIDescription
GET api/License

No documentation available.

POST api/License

No documentation available.

Language

APIDescription
GET api/Languages?projectId={projectId}

Get applicable languages

TaskList

Everything about Task list.

APIDescription
POST api/tasklist/query

Get Tasks base on query condition.

POST api/tasklist/groupByOwner

Get Tasks base on query condition, and returned tasks are grouped by owner.

POST api/tasklist/summary

Get Task list summary based on query condition.

POST api/tasklist/groupedSummaryByOwner

Get Task list summary group by current owner based on query condition.

Session

Session ID used in DevSuite web and DevTest web

APIDescription
GET api/DevSuiteSession

DevSuite web session id

GET api/DevTestSession

DevTest web session id

Report

APIDescription
POST api/report/personalDailyWork

Get personal daily work summary by person id and the date

GET api/report/sprintWorkloadSummary?projectId={projectId}&sprintId={sprintId}

Sprint workload summary

GET api/report/sprintScoreSummary?projectId={projectId}&sprintId={sprintId}

Sprint score summary report

POST api/report/periodScoreSummary

Period score summary report

Task

APIDescription
POST api/Task/Delete

Delete a task based on task id.

POST api/Task/AssignSpec

Assign a spec issue to development

POST api/Task/QuickAssignSpec

Assign a spec to development with quick mode

POST api/Task/GroupUpdate

Batch update multiple tasks based on task ids.

POST api/Task/Copy

Copy multiple tasks to a sub project.

POST api/Task/applicableOwners

Get applicable owners of a task

GET api/Task/allLinks?projectId={projectId}&taskId={taskId}

Get linked issues of a development issue or a management issue

POST api/Task/applicableStatus

Get applicable status of a task

POST api/Task/Get

Get a task info based on task id

POST api/Task/Query

Get Tasks base on query condition.

POST api/Task/GroupedTaskListByOwner

Get Tasks base on query condition, and returned tasks are grouped by owner.

POST api/Task/StoryboardTaskList

Get Task list for story board based on query condition.

POST api/Task/GroupedStoryboardTaskListByOwner

Get Task list for story board based on query condition, and returned story board is grouped by owner.

POST api/Task/GetTaskListSummary

Get Task list summary based on query condition.

POST api/Task/GetGroupedTaskListSummaryByOwner

Get Task list summary group by current owner based on query condition.

POST api/Task/Create

Create a task.

POST api/Task/Update

Edit a task based on binder.ProjectId and binder.TaskId,

User

Everything about User info

APIDescription
POST token

Get a user token.

POST api/user/EditUserPassword

EditUserPassword

POST api/user/ChangeUserOldPassword

EditUserPassword

POST api/user/ValidateToken4PeerTime

Validate a user token. it was provided for PeerTime

GET token4Peertime?peertimeUserToken={peertimeUserToken}

Get a P1 token by a Peertime token

POST api/User/Register

Register a user.

GET api/User/Info

Get current user info

POST api/User/Add

Add a user.

POST api/User/Edit

Edit user info based on userInfo.FID.

POST api/User/EditOrAdd

Edit or Add user info based on userInfo.FID.

POST api/User/Delete

Delete user based on user name.

POST api/User/Inactivate?userName={userName}

Inactivate the user based on user name.

POST api/User/Activate?userName={userName}

Activate the user based on user name.

POST api/User/Find

Find user

GET api/User/GetAll

Get All users

POST api/User/Get1ByQuery

Find one user by search condition

POST api/User/AddUsersToProject

Add users to project

POST api/User/AddUserToProject?projectOption={projectOption}&projectValue={projectValue}&userOption={userOption}&userValue={userValue}&accountOption={accountOption}&accountValue={accountValue}

Add user to project

POST api/User/Get1ByEmail?eMail={eMail}

Find one user by email

POST api/User/Get1ByLogin?login={login}

Find one user by login

POST api/User/GenerateCodeByMail?eMail={eMail}

GenerateCodeByMail by eMail

POST api/User/VerifyCode?eMail={eMail}&code={code}

VerifyCode by eMail

POST api/User/EditPassword?eMail={eMail}&code={code}&pwd={pwd}

VerifyCode by eMail

GET api/User?userName={userName}

Get a user info based on user name.

GET api/User/Get?userName={userName}

Get a user info based on user name.

APIDescription
POST api/taskLink/Add

Add links

POST api/taskLink/Delete

Delete links

Storyboard

APIDescription
POST api/storyboard/listByStatus

Get story board which is listed by Progress Status based on query condition.

POST api/storyboard/listByStatus2

Get story board which is listed by Progress Status based on query condition, and returned story board is grouped by owner.

POST api/storyboard/listByPlanEndDate

Get story board list by plan end date based on query condition.

POST api/storyboard/listByPlanStartDate

Get story board list by plan start date based on query condition.

POST api/storyboard/moveTasks

Move tasks to a cell in Story board, update the moved tasks with the cell's value and reorder tasks in the cell

TeamHierarchy

Everything about Team Hierarchy

APIDescription
GET api/TeamHierarchy/Get?FID={FID}

Get a Team Hierarchy based on name.

POST api/TeamHierarchy/Add

Add a Team Hierarchy.

POST api/TeamHierarchy/Edit

Edit a Team Hierarchy based on Team Hierarchy FID.

POST api/TeamHierarchy/EditOrAdd

if Team Hierarchy FID exists then edit the Team Hierarchy info, or create a new Team Hierarchy.

POST api/TeamHierarchy/Delete?FID={FID}

Delete a Team Hierarchy based on Team Hierarchy FID.

GET api/TeamHierarchy/GetUsers?FID={FID}

Get users belong to a Team Hierarchy.

POST api/TeamHierarchy/AddUsers?FID={FID}

Add users to a Team Hierarchy.

POST api/TeamHierarchy/RemoveUsers?FID={FID}

Remove users from a Team Hierarchy.

System

APIDescription
POST api/System/ImportUserFromLDAP

Import user from LDAP Server based on user name

GET api/System/ResetProject?projectId={projectId}

Reset DevTrack Project based on project id.

GET api/System/warmUp?ids={ids}

Warm up projects.

POST api/System

No documentation available.

POST api/System/BatchCall

No documentation available.

Note

APIDescription
POST api/Note

Get a note based on task id and note id

GET api/Notes?projectId={projectId}&taskId={taskId}

Get note list of a task based on task id

POST api/Note/Delete

Delete notes based on note id or task id

POST api/Note/Add

Add a note to a existed task.

POST api/Note/Update

Update an existing note .

TaskHistory

APIDescription
GET api/taskHistory/ownerAndStatusChanges?projectId={projectId}&taskId={taskId}

Get task's Owner and Status change history based on task id

PersonalWorkTemplate

Everything about Personal Work Template

APIDescription
GET api/PersonalWorkTemplate/Get?projectId={projectId}&templateId={templateId}

Get a personal work template info.

POST api/PersonalWorkTemplate/Create

Create personal work templates by copying standard work templates

POST api/PersonalWorkTemplate/Update

Update a personal work template by work template id

POST api/PersonalWorkTemplate/Delete?projectId={projectId}&templateId={templateId}

Delete a Personal work template by work template id

POST api/PersonalWorkTemplate/Query

Query personal work template list

TeamMember

APIDescription
GET api/AccessibleOwners?projectId={projectId}

Get accessible members for current user based on project id

GET api/ProjectMembers?projectId={projectId}

Get all project members based on project id

POST api/ProjectMembers/EditOrAdd?projectId={projectId}

Bulk Add/Edit Users to Project Base

GET api/TeamMember?projectId={projectId}&memberId={memberId}

No documentation available.

POST api/TeamMember

No documentation available.

GET api/TeamMember/GetApplicableWorkingModules?projectId={projectId}&memberId={memberId}

No documentation available.

POST api/TeamMember/SaveApplicableWorkingModules

No documentation available.

P1SSE

APIDescription
GET api/p1sse/get

No documentation available.

Field

APIDescription
GET api/Field?projectId={projectId}&fieldId={fieldId}&fieldName={fieldName}

Get field info based by field id or field name

POST api/Field

Get field info based by field id or field name

GET api/Fields?projectId={projectId}

Get all fields based on project id

GET api/ChoiceList?projectId={projectId}&fieldId={fieldId}&fieldName={fieldName}

Get field choice list based on field id or field name

POST api/ChoiceList

Get field choice list based on field id or field name

POST api/ChoiceList/BatchGet

Batch get field choice list based on multiple fields id or name

GET api/Field/GroupedStatusList?projectId={projectId}

Get status list grouped by Status group or Open,Closed

POST api/Field/IssueTypes

Get issue type list based on project id.

GET api/Field/IsIssueTypeEnabled?projectId={projectId}

Get if enabel Issue Type and return the field which issue type linked to

GET api/Field/ApplicableFields?projectId={projectId}&option={option}

Get all applicable fields based on project id

GET api/Field/GetDTKFieldChoiceList?ProjectId={ProjectId}&FieldId={FieldId}

Get field choice list based on field id

GET api/Field/GetDSFieldChoiceList?ProjectId={ProjectId}&FieldId={FieldId}

Get field choice list based on field id

GET api/Field/GetDTTTempFieldChoiceList?ProjectId={ProjectId}&FieldId={FieldId}

Get field choice list based on field id

GET api/Field/GetDTKFieldMultilingual?ProjectId={ProjectId}&FieldId={FieldId}

Get field Multilingual name

GET api/Field/GetDSFieldMultilingual?ProjectId={ProjectId}&FieldId={FieldId}

Get field Multilingual name

GET api/Field/GetDTTFieldMultilingual?ProjectId={ProjectId}&FieldId={FieldId}

Get field Multilingual name

GET api/Field/GetDTTTempFieldMultilingual?ProjectId={ProjectId}&FieldId={FieldId}

Get field Multilingual name

GET api/Field/GetDTTTaskFieldMultilingual?ProjectId={ProjectId}&FieldId={FieldId}

Get field Multilingual name

GET api/Field/GetDTKFieldChoiceMultilingual?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Get field choice list based on field id or field name

GET api/Field/GetDSFieldChoiceMultilingual?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Get field choice list based on field id or field name

GET api/Field/GetDTTFieldChoiceMultilingual?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Get field choice list based on field id or field name

POST api/Field/EditDTKSysFieldName

Get field info based by field id or field name

POST api/Field/EditDTKCusFieldName

Get field info based by field id or field name

POST api/Field/NewDTKCusField

Get field info based by field id or field name

POST api/Field/NewDSCusField

Get field info based by field id or field name

POST api/Field/NewDTTCusField

Get field info based by field id or field name

POST api/Field/EditDSSysFieldName

Edit field name

POST api/Field/EditDSCusFieldName

Get field info based by field id or field name

POST api/Field/EditDTTTempSysFieldName

Edit field name

POST api/Field/EditDTTCusFieldName

Get field info based by field id or field name

POST api/Field/EditDTTTaskSysFieldName

Edit field name

POST api/Field/AddOrEditDTKFieldChoiceName

AddOrEditDTKFieldChoiceName ChoiceId=0 for new, else for edit

POST api/Field/AddOrEditDSFieldChoiceName

AddOrEditDTKFieldChoiceName ChoiceId=0 for new, else for edit

POST api/Field/AddOrEditDTKFieldChoiceNames

AddDTKFieldChoiceNames ChoiceId=0 for new, else for edit

POST api/Field/AddOrEditDSFieldChoiceNames

AddDTKFieldChoiceNames ChoiceId=0 for new, else for edit

POST api/Field/AddOrEditDTTFieldChoiceNames

AddDTKFieldChoiceNames ChoiceId=0 for new, else for edit

POST api/Field/AddOrEditDTTFieldChoiceName

AddOrEditDTTFieldChoiceName ChoiceId=0 for new, else for edit

POST api/Field/UpdateSysFieldName

Get field info based by field id or field name

GET api/Field/GetDTKSystemFields?projectId={projectId}

Get all fields based on project id

GET api/Field/GetDTKCustomFields?projectId={projectId}

Get all fields based on project id

GET api/Field/GetPPMSystemFields?projectId={projectId}

Get all fields based on project id

GET api/Field/GetDTKSystemFieldTypeDef

Get DTK all field Types

GET api/Field/GetDSSystemFieldTypeDef

Get DevSpec all field Types

GET api/Field/GetDTTSystemFieldTypeDef

Get DevTest all field Types

GET api/Field/GetDSSystemFields?projectId={projectId}

Get all sys fields based on project id

GET api/Field/GetDSCustomFields?projectId={projectId}

Get all cus fields based on project id

GET api/Field/GetDTTCustomFields?projectId={projectId}

Get all cus fields based on project id

GET api/Field/GetDTTTempSystemFields?projectId={projectId}

Get all sys fields based on project id

GET api/Field/GetDTTTaskSystemFields?projectId={projectId}

Get all sys fields based on project id

GET api/Field/DeleteDTKFieldChoice?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Delete field choice based on choice id

GET api/Field/DeleteDSFieldChoice?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Delete field choice based on choice id

GET api/Field/DeleteDTTFieldChoice?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Delete field choice based on choice id

GET api/Field/DeleteDTKCustomField?ProjectId={ProjectId}&FieldId={FieldId}

Delete field choice based on choice id

GET api/Field/DeleteDSCustomField?ProjectId={ProjectId}&FieldId={FieldId}

Delete field choice based on choice id

GET api/Field/DeleteDTTCustomField?ProjectId={ProjectId}&FieldId={FieldId}

Delete field choice based on choice id

GET api/Field/DeleteDTTTempFieldChoice?ProjectId={ProjectId}&FieldId={FieldId}&ChoiceId={ChoiceId}

Delete field choice based on choice id

GET api/Field/canDefineChoice?projectId={projectId}&fieldId={fieldId}

To User Definable Dropdown, indicate whether current user can difine choice or not.

POST api/Field/SaveUserDefinedChoice

No documentation available.

UserInvitation

APIDescription
GET api/Invitations?projectId={projectId}&spaceId={spaceId}

Get user invitations for a given subproject/project family

POST api/Invitations

Add user invitations for a subproject/family

POST api/UpdateInvitation

Update user invitation for a subproject/family

DELETE api/Invitations?key={key}&projectId={projectId}&spaceId={spaceId}

Remove an invitation for a user to a subproject

Clock

APIDescription
POST api/clock/clockOn?personId={personId}

Save the time when a person clocked on

POST api/clock/clockOff?personId={personId}

Save the time when a person clocked off

POST api/clock/ResetLeaveTime

Reset leave time

POST api/clock/ResetArriveTime

Reset arrive time

POST api/clock/info

return a clock info based on a person id and a date

POST api/clock/save

Save clock info of one person and one day

POST api/clock/groupedClocksByPerson

Group clocks by person

POST api/clock/currentStatusOfEmployees

Get employee's status(e.g online, offline)

PPM

Something of PPM Project.

APIDescription
GET api/PPMProjectTypes?projectId={projectId}

Get ppm space types based on a PPM project id

GET api/PPM/PSTypes?projectId={projectId}

Get ppm space types based on a PPM project id

GET api/PPM/PSMilestones?projectId={projectId}&PSTypeId={PSTypeId}

Get ppm space milestones based on ppm space type id

GET api/PPM/PSStatusList?projectId={projectId}&PSTypeId={PSTypeId}

Get ppm space status list based on PPM

Story

APIDescription
GET api/Story/Get?projectId={projectId}&storyId={storyId}

Get story info based on story item id

POST api/Story/BatchGet

Batch get story info based on story item id

POST api/Story/List

List stories based on a subproject id

POST api/Story/ListBySpec

List stories based on a spec item

POST api/Story/StoryCountBySpec

Get story counts based on spec item

POST api/Story/Update

Update a story based on story item id.

GET api/Story/Delete?projectId={projectId}&storyId={storyId}

Delete a story based on story item id

POST api/Story/CreateStandaloneStory

Create a standalone story

POST api/Story/ChangeLinkedRequirement

Make a standalone story(does not link a requirement issue) to be linked with a requirement issue, and move the story's attachment to the requirement issue.

GET api/Story/applicableStoryStatuses?projectId={projectId}

Get all applicable story statuses .

Project

APIDescription
GET api/Project?projectId={projectId}

Get project info based on project id

GET api/DevTrackProjects

Get all accessible DevTrack projects for current user

GET api/Projects

Get all accessible projects for current user

GET api/Project/GetAllProjects

GetAllProjects

GET api/Project/GetAllDTTProjects

Get GetAllDTTProjects

GET api/Spaces?pageSize={pageSize}&pageIndex={pageIndex}

Get project administrators (excluding system admins) based on project id

GET api/Project/Admins?projectId={projectId}

Get project administrators (excluding system admins) based on project id

GET api/Project/GetPPMProjects

List PPM Projects

GET api/Project/GetFamilyProjects?projectID={projectID}

List Project Base Family by PPMProjectID

GET api/Project/GetAllProjectTypes

List AllProjectTypes

GET api/Project/GetSpaceLinks?projectID={projectID}&spaceID={spaceID}

List Project Base Family by PPMProjectID

GET api/Project/GetFamilyMembers?projectID={projectID}

List all members belongs to Project Base Family based on PPM Project ID

GET api/Project/GetProjectMembers?projectID={projectID}&projectType={projectType}

No documentation available.

GET api/Project/GetFamilyAccountTypes?projectID={projectID}

No documentation available.

GET api/Project/GetProjectAccountTypes?projectID={projectID}&projectType={projectType}

No documentation available.

GET api/Project/AddOrEditProjectMember?projectID={projectID}&projectType={projectType}&PersonID={PersonID}&AccountTypeID={AccountTypeID}

No documentation available.

POST api/Project/DeleteProjectMember?projectId={projectId}&memberId={memberId}

Delete a member from a project based on project ID

GET api/Project/GetOverview?projectId={projectId}

Get project overview based on project ID

POST api/Project/UpdateOverview

Update the overview for a given project based on project ID

GET api/Project/BugTypes?projectId={projectId}

Get bug/task types for a project

GET api/Project/Pages?projectId={projectId}

Get pages for a project

GET api/Project/PageFields?projectId={projectId}&pageId={pageId}

Get fields for a page/project

GET api/Project/GetDTKProjectOptions?projectId={projectId}

Get Options of DTK project

POST api/Project/UpdateDTKProjectOptions

Update the DTKProject Options based on project ID

GET api/Project/GetSpecProjectOptions?projectId={projectId}

Get Options of Spec project

POST api/Project/UpdateSpecProjectOptions

Update the SpecProject Options based on project ID

GET api/Project/GetDTTProjectOptions?projectId={projectId}

Get Options of DTT project

POST api/Project/UpdateDTTProjectOptions

Update the DTTProject Options based on project ID

GET api/Project/IsAdministrator?projectId={projectId}

Indicate if current user is a project administrator.

POST api/Project/BatchGetProjectData

Get project's data.

StandardWorkTemplate

Everythings about Standard work template .

APIDescription
GET api/StandardWorkTemplate/Get?projectId={projectId}&templateId={templateId}

Get a standard work template info.

POST api/StandardWorkTemplate/Create

Create a standard work template

POST api/StandardWorkTemplate/Update

Update a standard work template by work template id

POST api/StandardWorkTemplate/Delete?projectId={projectId}&templateId={templateId}

Delete a standard work template by work template id

POST api/StandardWorkTemplate/ListByAccountType

Get standard work template list based on an account type

POST api/StandardWorkTemplate/List

Get template list based on project base

POST api/StandardWorkTemplate/addTemplatesToAccountType

add the templates to account type

POST api/StandardWorkTemplate/removeTemplatesFromAccountType

remove the templates from account type

P1SpecPoints

APIDescription
GET api/specPoints/estimatedPoints?projectId={projectId}&specId={specId}

get estimated points based on a spec item

POST api/specPoints/saveEstPoints

save estimated points based on a spec item

POST api/specPoints/removeEstPoints

delete estimated points based on a spec item

GET api/specPoints/actualPoints?projectId={projectId}&specId={specId}

get estimated points based on a spec item

TestMyProject

APIDescription
POST api/TestMyProject?userName={userName}

No documentation available.

POST api/TestMyProject/CheckUserName?userName={userName}

No documentation available.

ApplicableWorkingModule

APIDescription
GET api/ApplicableWorkingModule?projectId={projectId}&personId={personId}

No documentation available.

GET api/ApplicableWorkingModule/GetModulesByMember?projectId={projectId}&personId={personId}

No documentation available.

CRM

Only one function for CRM

APIDescription
GET api/CRM?contractCode={contractCode}

Get total amount based on Contract Code

GET api/CRM/GetTotalAmount?contractCode={contractCode}

Get total amount based on Contract Code

GetFieldValueInfo

APIDescription
POST api/GetFieldValueInfo/GetPagesByProjectID

No documentation available.

POST api/GetFieldValueInfo/GetPageFieldValueInfo

No documentation available.

POST api/GetFieldValueInfo/GetOnePageFieldValueInfo

No documentation available.