ITM Platform's API
With the ITM Platform API, you can quickly and easily integrate your existing company applications, build your own, or synchronize data with your favorite data analysis tools such as MS Excel, Tableau, or Power BI.
ITM Platform’s API is built using the REST architecture, so you should be up and running swiftly if you are familiar with REST APIs. Responses are all returned in JSON, and potential errors include the HTTP error codes.
Note on version 2
This documentation includes resources and actions of version 2.Some resources of version 1 have been replaced, in which case you will notice a DEPRECATED tag, whose names are also marked with v1
. We strongly recommend using version 2 when available.
Host URL endpoints are as follows:
- Version 1 (v1):
https://api.itmplatform.com/companyURL
- Version 2 (v2):
https://api.itmplatform.com/v2/companyURL
If version 1 or no version is specified, use the version 1 host. For example https://api.itmplatform.com/MyCompany/projects
When version 2 is specified, use the version 2 host. For example https://api.itmplatform.com/v2/MyCompany/projects
⚠ All examples follow the v1 convention, unless otherwise specified. Please be aware that you must add /v2/
when using version 2 resources.
Authentication ¶
Authentication using API Key ¶
This method provides a session token that must be passed as an HTTP header on any subsequent call to the ITM Platform API.
The API Key can be found within the My Profile section of your ITM Platform account. Permissions granted on ITM Platform will apply to the API calls.
The generated token will expire 30 minutes after the last call to the API.
The API key does not expire, but we recommend changing it every two months.
Get AuthenticationGET/login/{APIKey}
Gets the sessions token based on the API Key
Example URI
- APIKey
string
(required) Example: 3140fcb4-3462-4cad-afcc-a75d266af47d
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Token": "552520150723161530268",
"UserID": "1686",
"Result": "1",
"ResultStatus": "Success"
}
400
Headers
Content-Type: application/json
Body
{
"Incorrect company or api key."
}
Limits ¶
The following quotas apply to the number of requests coming from the same IP address:
-
5 requests per second
-
100 requests per minute
-
4,000 requests per hour
-
10,000 requests per day
Filtering v1 ¶
When specified, you can use this filtering on GET requests, applying filter operators on the URL parameters.
Each request parameters will depend on the endpoint you are using, but all have filter operators and conjunction operators operators to build your request.
Filter Operators
-
gt
- “greater than” - returns items with the specified attribute that is greater than the defined value -
lt
- “less than” - returns items with the specified attribute that is less than the defined value -
eql
- “equal to” - returns items with the specified attribute that is equal to the defined value
Conjunction operators
-
AND
- returns items that meet all filter operators -
OR
- returns items that meet at least one filter operator
Example
Using the /clients
endpoint:
Filter, Page, Sort v2 ¶
On version-2 resources, you can use the following advanced options:
-
Pagination allows navigating trough the different pages of query results
-
Filtering the results to get a more accurate response
-
Sorting the results by any of its properties
-
Property selection to pick exactly the fields you need and improve performance
All these features are available using the path /search
after the resource that you want to retrieve records of.
Use /search
path right after the resource of which you want to format the response. For example /projects/search
You can use both GET and POST methods on any resource, although we recommend using POST whenever possible.
Because the GET doesn’t allow a body request payload, the request must be URL encoded following the specifications of each option. Take into account that the URL length limit is 2048 characters.
The POST method has no limitations in size.
Pagination
By default, the response of a paginated resource will be limited to 50 items. This is an extract of a response example:
{"total" : 1125,
"pagerId": "44b7fecc-2fe4-4faa-b82d-40a9033d5ecc",
"page": 1,
"pageSize": 50}
To access items exceeding the first 50, you need paging using the following parameters:
-
total
(read-only) Number of total items for the current request. -
pagerId
(read / write) (optional) A string of up to 36 characters that will identify the pagination for this query. You can provide your own, or let the resource generate it. For example, you can set thepagerid: 4
.
Please note that you can switch between multiple pages with the samepagerId
, but if you make changes to sorting, filtering or properties, thepagerId
has to change. -
page
(read / write) (optional) The page you are requesting. The first page is 1. -
pageSize
You can change the default page size. The maximum is set to 500 items.
You can calculate the number of pages dividing the total
items by the pageSize
Pagination applies to both GET and POST methods of paginated resources, either in the query parameters or the body request payload in POST methods.
Example URI
POST using the body request payload
"page": 3,
"pageSize": 10,
"pagerId": "0c3d0f0a-12c1-4546-9096-93c3b9df811i"
Filtering
Resources providing a list of items can be filtered to narrow down the results, which will lead to a more precise result and better performance.
You can filter by any item property (like Name
), using the filter
object in the body request payload if you are using POST or encoded in the query string in GET methods.
A simple payload example when using the POST method
{
"Filter": {
"Name": "Build the app"
}
}
The example above, using the GET method, would add the following query string to the URL
?filter=%7B%22Name%22%3A%20%22Build%20the%20app%22%7D
This is the URL decoded
?filter={"Name": "Build the app"}
You can also use operators to create more complex queries.
Example URI
Body payload
{
"Filter": {
"Name": { "$regex": "growth"},
"KindId": { "$in" : [2, 3] }
}
}
The example above can also work on a GET method, encoding the payload to send the string in the filter
parameter.
?filter=%7B%22Name%22%3A%7B%22%24regex%22%3A%22growth%22%7D%2C%22KindId%22%3A%7B%22%24in%22%3A%5B2%2C3%5D%7D%7D
The decoded version would look like this
?filter={"Name":{"$regex":"growth"},"KindId":{"$in":[2,3]}}
Operators
The following is a list of all available operators
Operator | Description | Example |
---|---|---|
[none] | Returns any items that match the specified value. It is also referred to as the equality comparator operator. | {“Name”:“App”} |
$ne | Returns any items that do not match the specified value. It is also referred to as the inequality comparator operator. | {“Duration”:{"$ne":3}} |
$in | Returns any items that match any of the specified values in the set. It is also referred to as the in comparison operator. Use only one data type in the specified values. | {“TypeId”:{"$in":[1,2,3,4,5]}} |
$nin | Returns any items that do not match any of the specified values in the set. It is also referred to as the not in comparison operator. | {“TypeId”:{"$nin":[1,2,3,4]}} |
$lt | Returns any items that have a value that is less than the specified value in the set. It is also referred to as the less than comparison operator. | {“Duration”:{"$lt":3}} |
$lte | Returns any items that have a value that is less than or equal to the specified value in the set. It is also referred to as the less than or equals comparison operator. | {“Duration”:{"$lte":3}} |
$gt | Returns any items that have a value that is greater than the specified value in the set. It is also referred to as the greater than comparison operator. | {“Duration”:{"$gt":3}} |
$gte | Returns any items that have a value that is greater than or equal to the specified value in the set. It is also referred to as the greater than or equals comparison operator. | {“Duration”:{"$gte":3}} |
$bt | Returns any items that have a value that is between two values provided in a set. It is also referred to as the between operator. | {“StartDate”: { “$bt”: [“2023-09-01”, “2023-11-30”] }} |
$regex | Returns any items that have an expression that matches a pattern of strings in the set. It is also referred to as the regular expression predicate. | {“name”:{"$regex":/^a.*/}} |
Sorting
You also can request a list sorted by any of the retrieved properties (fields).
Sorting can be specified in the body request payload for POST methods or as part of the query string of both GET and POST methods.
-
sortBy
specifies the property that will be used to sort the list -
sortOrder
accepts two values:asc
ordesc
Example URI
POST using the body request payload
"sortBy": "Name",
"sortOrder": "desc"
Property selection
The properties (fields) retrieved will follow the authenticated user’s preferences unless otherwise specified using the columns
parameter.
-
The default properties will be retrieved if the authenticated user has no specific columns defined within the ITM Platform’s application. These default properties differ from resource to resource and are visible when selecting ‘Default’ in the list column selector. Some mandatory properties (such as
Id
orName
) and custom fields will be retrieved along with these default properties. -
If the authenticated user has already defined preferred columns within the resource list in ITM Platform (for example, the project list), then those columns + mandatory columns + custom fields will be retrieved.
-
If you request specific properties, the resource will retrieve only those.
Request specific properties
Requesting columns is performed using the columns
parameter:
columns
Object containing an operator and the properties involved. The most common will be$in
Property selection applies to POST methods of resources accepting property selection.
Example URI
Body payload
{
"Columns": { "$in": ["Id", "Name"] }
}
The example above can also work on a GET method, encoding the payload to send the string in the filter
parameter.
?columns=%7B%22%24in%22%3A%5B%22Id%22%2C%22Name%22%5D%7D
The decoded version would look like this
?columns={"$in":["Id","Name"]}
All together
You can combine pagination, filtering, sorting and property selection.
Example URI
Body payload
{
"Filter": {
"Name": { "$regex": "growth"},
"KindId": { "$in" : [2, 3] }
}
,
"Columns": { "$in": ["Id", "Name"] }
}
Projects ¶
Projects ¶
The /projects
endpoint is available both for v1 and v2 versions.
-
v1: https://api.itmplatform.com/companyURL/projects (Only GET)
-
v2 : https://api.itmplatform.com/v2/companyURL/projects (Both GET and POST)
We recommend using v2.
Get Projects v1 v2GET/projects
Available both for v1 and v2 versions.
If you are using v2, this method accepts paging and sorting, as described in the section Filter, Page, Sort v2. If you need filter and property selection, use the POST
If you are using v1 This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ProjectId
-
ProjectName
-
ProjectNo
-
ProjectType.ProjectTypeName
-
ProjectType.ProjectTypeId
-
ProjectStatus.ProjectStatusName
-
ProjectStatus.ProjectStatusId
-
ProjectApproval.ProjectApprovalName
-
ProjectApproval.ProjectApprovalId
-
ProjectPriority.ProjectPriorityName
-
ProjectPriority.ProjectPriorityId
-
Duration
-
ProjectStartDate
-
ProjectEndDate
-
Assessment.AssessmentName
-
Assessment.AssessmentId
-
ProjectProgressComplete
-
ProjectProgressDate
-
CompanyProjectCode
-
ProjectTeam.ProjectManagers.UserId
-
ProjectTeam.ProjectTeamMembers.UserId
-
BusinessGoal.BusinessGoalName
-
BusinessGoal.BusinessGoalId
-
BusinessGoalCategory.BusinessGoalCategoryName
-
BusinessGoalCategory.BusinessGoalCategoryId
-
Sponsor.SponsorName
-
Sponsor.SponsorId
-
InternalClient.InternalClientName
-
InternalClient.InternalClientId
-
ExternalClient.ExternalClientName
-
ExternalClient.ExternalClientId
-
MainProcessAffected.MainProcessAffectedName
-
MainProcessAffected.MainProcessAffectedId
-
DestinationResource.DestinationResourceName
-
DestinationResource.DestinationResourcesId
-
PerformingUnit.PerformingUnitName
-
PerformingUnit.PerformingUnitId
-
ProjectMethodTypeId
-
IsProjectManager
-
Program.ProgramName
-
Program.ProgramId
-
MemberName
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectId": 331,
"AccountId": 1142,
"ProjectName": "iPhone Mobile Application - 1",
"ProjectNo": "PR-1142-13100001",
"ProjectType": {
"ProjectTypeName": "category 3",
"ProjectTypeId": 15866,
"ProjectTypeIcon": null
},
"ProjectStatus": {
"ProjectStatusName": "Closed",
"ProjectStatusId": 12741,
"ProjectStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/lock.png"
},
"ProjectApproval": {
"ProjectApprovalName": "Rejected",
"ProjectApprovalId": 11433,
"ProjectApprovalIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/status-busy.png"
},
"ProjectPriority": {
"ProjectPriorityName": "High",
"ProjectPriorityId": 7890,
"ProjectPriorityIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag.png"
},
"Duration": 5239,
"ProjectStartDate": "2009-10-01T00:00:00Z",
"ProjectEndDate": "2029-10-30T00:00:00Z",
"Assessment": {
"AssessmentName": "test1",
"AssessmentId": 5314,
"AssessmentIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png"
},
"ProjectProgressComplete": 12,
"ProjectProgressDate": "2017-09-04T20:09:23Z",
"CompanyProjectCode": "IAPP1",
"ProjectTeam": {
"ProjectManagers": [
{
"UserId": 1689,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
},
{
"UserId": 179,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
}
],
"ProjectTeamMembers": [
{
"UserId": 1688,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
}
],
"ProjectGuests": []
},
"BusinessGoal": {
"BusinessGoalName": "My Goal",
"BusinessGoalId": 142
},
"BusinessGoalCategory": {
"BusinessGoalCategoryName": "1234",
"BusinessGoalCategoryId": 6922
},
"Sponsor": {
"SponsorName": "Android",
"SponsorId": 458
},
"InternalClient": {
"InternalClientName": "PHP",
"InternalClientId": 456
},
"ExternalClient": {
"ExternalClientName": "New Again Client",
"ExternalClientId": 95
},
"MainProcessAffected": {
"MainProcessAffectedName": "new Activity\\PRC1",
"MainProcessAffectedId": 115
},
"DestinationResource": {
"DestinationResourceName": "Asset1\\Test",
"DestinationResourcesId": 134
},
"PerformingUnit": {
"PerformingUnitName": "Android",
"PerformingUnitId": 458
},
"Active": true,
"ProjectMethodTypeId": 1,
"IsProjectManager": true,
"Program": null,
"AllCustomFields": {
"Test Text Field": "2017-10-04T00:00:00",
"Test New Field": "123"
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid field name",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project v2 ¶
Get Projects v2POST/projects/search
Only available on v2, this method accepts paging, sorting, filtering and property selection as described in the section Filter, Page, Sort v2.
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"Filter": {
"Name": {
"$regex": "growth"
},
"KindId": {
"$in": [
2,
3
]
}
},
"Columns": {
"$in": [
"Id",
"Name"
]
}
}
200
Headers
Content-Type: application/json
Body
[
{
"ProjectId": 331,
"AccountId": 1142,
"ProjectName": "Mobile Application Growth",
"ProjectNo": "PR-1142-13100001",
"ProjectType": {
"ProjectTypeName": "category 3",
"ProjectTypeId": 15866,
"ProjectTypeIcon": null
},
"ProjectStatus": {
"ProjectStatusName": "Closed",
"ProjectStatusId": 12741,
"ProjectStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/lock.png"
},
"ProjectApproval": {
"ProjectApprovalName": "Rejected",
"ProjectApprovalId": 11433,
"ProjectApprovalIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/status-busy.png"
},
"ProjectPriority": {
"ProjectPriorityName": "High",
"ProjectPriorityId": 7890,
"ProjectPriorityIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag.png"
},
"Duration": 5239,
"ProjectStartDate": "2009-10-01T00:00:00Z",
"ProjectEndDate": "2029-10-30T00:00:00Z",
"Assessment": {
"AssessmentName": "test1",
"AssessmentId": 5314,
"AssessmentIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png"
},
"ProjectProgressComplete": 12,
"ProjectProgressDate": "2017-09-04T20:09:23Z",
"CompanyProjectCode": "IAPP1",
"ProjectTeam": {
"ProjectManagers": [
{
"UserId": 1689,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
},
{
"UserId": 179,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
}
],
"ProjectTeamMembers": [
{
"UserId": 1688,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
}
],
"ProjectGuests": []
},
"BusinessGoal": {
"BusinessGoalName": "My Goal",
"BusinessGoalId": 142
},
"BusinessGoalCategory": {
"BusinessGoalCategoryName": "1234",
"BusinessGoalCategoryId": 6922
},
"Sponsor": {
"SponsorName": "Android",
"SponsorId": 458
},
"InternalClient": {
"InternalClientName": "PHP",
"InternalClientId": 456
},
"ExternalClient": {
"ExternalClientName": "New Again Client",
"ExternalClientId": 95
},
"MainProcessAffected": {
"MainProcessAffectedName": "new Activity\\PRC1",
"MainProcessAffectedId": 115
},
"DestinationResource": {
"DestinationResourceName": "Asset1\\Test",
"DestinationResourcesId": 134
},
"PerformingUnit": {
"PerformingUnitName": "Android",
"PerformingUnitId": 458
},
"Active": true,
"ProjectMethodTypeId": 1,
"IsProjectManager": true,
"Program": null,
"AllCustomFields": {
"Test Text Field": "2017-10-04T00:00:00",
"Test New Field": "123"
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid field name",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project v2 ¶
Get a project v2GET/projects/{?ProjectId}
Example URI
- ProjectId
int
(required) Example: 32005
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 32005,
"No": "PR-2925-13080001",
"Name": "New product line",
"Code": "NP-0001",
"Description": "<h4 style=\"color: #262626; text-align: justify;\"><span style=\"font-weight: normal; font-size: 16px;\"><img alt=\"\" style=\"border-color: currentcolor; width: 24px; height: 24px; padding-right: 10px; vertical-align: middle;\" src=\"http://www.itmplatform.com/lib/uploads/UserInfo.png\" />Description of the project</span><br />\n<br />\n<span style=\"font-size: 13px;\"><span style=\"font-weight: normal;\">Use this section to share the <strong>general purpose</strong></span><span style=\"font-weight: normal;\"> of the project, which will be visible to all members.<br />\n<br />\n</span> <span style=\"font-weight: normal;\">The \"General\" section can be used to identity, classify and establish the basic project parameters, and may include <strong>customized fields</strong> corresponding to your information needs.<br />\n<br />\n</span>\n<div style=\"text-align: center;\"><span style=\"text-align: left; font-weight: normal;\">How to create projects swiftly</span></div>\n<div style=\"font-weight: normal; text-align: center;\"><a href=\"http://www.youtube.com/watch?v=bdpHRZHv4d8&dh=1\">http://www.youtube.com/watch?v=bdpHRZHv4d8&dh=1</a></div>\n<br />\n<br />\n<br />\n</span></h4>",
"InternalCode": "NP-0001",
"InternalCostCenter": "",
"StartDate": "2021-01-01T00:00:00Z",
"EndDate": "2022-08-15T00:00:00Z",
"Duration": 422,
"Expected": 57,
"MethodTypeId": 1,
"Type": {
"Id": 90329,
"Name": "New product of business process",
"Icon": "https://demo.itmplatform.com/revamping/UploadData/Iconlibrary/databases.png"
},
"Status": {
"Id": 93288,
"Name": "In Progress",
"Icon": "https://demo.itmplatform.com/revamping/UploadData/Iconlibrary/chart-up-color.png",
"IsCompleted": false
},
"Priority": {
"Id": 56970,
"Name": "Normal",
"Icon": "https://demo.itmplatform.com/revamping/UploadData/Iconlibrary/flag-green.png",
"IsSelected": true
},
"ApprovalStatus": {
"Id": 56940,
"Name": "Approved",
"Icon": "https://demo.itmplatform.com/revamping/UploadData/Iconlibrary/status.png",
"IsSelected": false
},
"PerformingUnit": {
"Id": 12221,
"Name": "Production"
},
"BusinessGoal": {
"Id": 9233,
"Name": "New product range launch"
},
"Category": {
"Id": 30419,
"IdByLanguage": 30419,
"BaseId": 30419,
"Name": "Business growth",
"NameByLanguage": "Business growth",
"LanguageId": 1,
"IsService": false
},
"BaseCurrencyId": 8325,
"ExpectedROI": {
"Amount": 540000,
"CurrencyId": 8325,
"ExchangeRate": 1,
"AppliedDate": "2021-10-26T15:10:02Z"
},
"BusinessBenefit": "<h4 style=\"color: #262626; font-weight: normal; text-align: justify;\"><span style=\"font-size: 16px;\"><img alt=\"\" style=\"border-color: currentcolor; width: 24px; height: 24px; padding-right: 10px; vertical-align: middle;\" src=\"http://www.itmplatform.com/lib/uploads/edition-view.png\" />Business Objectives<br />\n</span><br />\n<span style=\"font-size: 13px;\"><span style=\"text-align: justify; color: #262626; background-color: #ffffff;\">Assign objectives to your projects to maintain full alignment between the organization’s generic objectives and the specific objectives of each project.<br />\n</span>\n<h4 style=\"color: #262626; font-size: 16px; font-weight: normal; text-align: justify;\"><img alt=\"\" style=\"border-color: currentcolor; width: 24px; height: 24px; padding-right: 10px; vertical-align: middle;\" src=\"http://www.itmplatform.com/lib/uploads/finance-bag-dollar.png\" />Return on investment</h4>\n<span style=\"text-align: justify; color: #262626; background-color: #ffffff;\">Specify on this data sheet the key information about the return on the investment ensuring this is present at all times throughout project execution.</span><br />\n<br />\n</span>You may also read the article connected with the scope of objectives:<br />\n<a href=\"http://www.itmplatform.com/es/blog/2012/07/12/ejecutar-crecer-transformar-reducir-costes\">http://www.itmplatform.com/es/blog/2012/07/12/ejecutar-crecer-transformar-reducir-costes</a></h4>",
"ProcessAffected": {
"Id": 12571,
"Name": "Market analysis",
"BusinessActivityId": 0,
"Path": "Commercial\\Market analysis"
},
"Sponsor": {
"Id": 12220,
"Name": "R+D"
},
"InternalClient": {
"Id": 12222,
"Name": "Sales and Marketing"
},
"ExternalClient": {
"Id": 4098,
"Name": "Government"
},
"Asset": {
"Id": 14192,
"Name": "Flagship Product",
"Path": "Products\\Flagship Product"
},
"ProgressModelId": "DURATION",
"RevenueRecognitionModelId": "FIXED",
"RevenueModelId": "BASEDONTASKS",
"RevenueRecognitionPeriodTypeId": "MONTHLY",
"AllowManualProgress": true,
"AllowManualAmountInputRR": true,
"RevenueRecognitionFutureModelId": "USEREVENUERECOGNITION",
"AllCustomFields": {
"Exposure": {
"Text": "Alto",
"Color": "Red"
},
"ERP Code": 354.411,
"Client acceptance date": "2013-03-12T00:00:00Z",
"Area": null,
"Invoice paid": "Yes"
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project v2POST/projects/
Pass IsKanbanProject property true in body for agile project and false for waterfall project.
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Test Project from API INSERT",
"Description": "Project description",
"TypeId": 8331,
"ExternalClientId": 0,
"PerformingUnitId": 0,
"PriorityId": 7891,
"StatusId": 12740,
"ApprovalId": 11430,
"StartDate": "2016-06-16T00:00:00Z",
"EndDate": "2016-06-16T00:00:00Z",
"BusinessGoalId": 0,
"CategoryId": 0,
"DestinationAssetId": 0,
"MainProcessAffectedId": 0,
"InternalClientId": 0,
"SponsorId": 0,
"InternalCode": "",
"InternalCostCenter:": "",
"DescriptionOfBenefit": "",
"ExpectedROI": 15.25,
"ExpectedROICurrencyId": 1113,
"IsKanbanProject": false,
"InternalCostCenter": "100"
}
201
Headers
Content-Type: application/json
Body
{
"ProjectId": 1234,
"StatusMessage": "Project inserted successfully.",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project name.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Project name already exists.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project status id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project status id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project type id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project type id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project approval id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project approval id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project priority id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project priority id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project start date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project end date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Project end date must be greater than or equal to project start date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid assest destination id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid main process affected id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid internal client id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid sponsor id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid external client id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid performing unit id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid category id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid business goal id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid Expected ROI currency id.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
{
"ProjectId":0,
"StatusMessage": "Due to license policy, you cannot create more projects",
"StatusCode": 403
}
Update a project v2PATCH/projects/{?ProjectId}
Example URI
- ProjectId
int
(required) Example: 12262
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"Name" : "Test Project from API INSERT ",
"Description" : "Project description",
"TypeId": 8331,
"ExternalClientId" : 0,
"PerformingUnitId" : 0,
"PriorityId" : 7891,
"StatusId" : 12740,
"ApprovalId" :11430,
"StartDate" : "2016-06-16T00:00:00Z",
"EndDate" : "2016-06-16T00:00:00Z",
"BusinessGoalId" :0,
"CategoryId" :0,
"DestinationAssetId" : 0,
"MainProcessAffectedId" : 0,
"InternalClientId" : 0,
"SponsorId" : 0,
"InternalCode" : "",
"InternalCostCenter:" : "",
"DescriptionOfBenefit" : "",
"ExpectedROI" : 15.25,
"ExpectedROICurrencyId" : 1113,
"InternalCostCenter":"100"
}
201
Headers
Content-Type: application/json
Body
{
"ProjectId": 12262,
"StatusMessage": "Project updated successfully.",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project name.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project status id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project status id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project type id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project type id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project approval id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project approval id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter project priority id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project priority id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project start date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid project end date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Project end date must be greater than or equal to project start date.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid assest destination id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid main process affected id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid internal client id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid sponsor id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid external client id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid performing unit id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid category id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid business goal id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid Expected ROI currency id.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid date range. Date range of projects must be the same as or later than date range of existing tasks.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Please enter valid date range. Time entry is outside date range.<br/>",
"StatusCode": 400
}
{
"ProjectId":0,
"StatusMessage": "Project name already exists.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Budget ¶
Get a project budgetGET/project/{ProjectId}/budget
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"TopDownBudget": {
"TopDownInternalTeamCost": 96,
"TopDownInternalTeamHours": "00:00",
"TopDownExternalTeamCost": 1000,
"TopDownExternalTeamHours": "00:00",
"TopDownUndefinedTeamCost": 0,
"TopDownUndefinedTeamHours": "00:00",
"TopDownPurchases": 0,
"TopDownRevenue": 2000,
"TopDownInternalTeamCostCurrencyId": 1113,
"TopDownInternalTeamCostExchangeRate": 1,
"TopDownInternalTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownExternalTeamCostCurrencyId": 1113,
"TopDownExternalTeamCostExchangeRate": 1,
"TopDownExternalTeamCostChangeApplied": "2017-06-12T21:00:14Z",
"TopDownPurchasesCurrencyId": 1113,
"TopDownPurchasesBudgetExchangeRate": 1,
"TopDownPurchasesChangeApplied": "2017-06-13T02:16:26Z",
"TopDownUndefinedTeamCostCurrencyId": 1113,
"TopDownUndefinedTeamCostExchangeRate": 1,
"TopDownUndefinedTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownRevenueCurrencyId": 1113,
"TopDownRevenueChangeApplied": "2017-06-12T15:31:16Z",
"TopDownRevenueExchangeRate": 1
},
"BottomUpBudget": {
"BottomUpInternalTeamCost": 40817.499951,
"BottomUpInternalTeamHours": "816:00",
"BottomUpExternalTeamCost": 9457.499957,
"BottomUpExternalTeamHours": "189:00",
"BottomUpUndefinedTeamCost": 500,
"BottomUpUndefinedTeamHours": "50:00",
"BottomUpPurchases": -119880,
"BottomUpRevenue": 500
},
"ActualValues": {
"ActualInternalTeamCost": 16870,
"ActualInternalTeamHours": "587:00",
"ActualExternalTeamCost": 30850,
"ActualExternalTeamHours": "617:00",
"ActualPurchases": 400,
"ActualRevenue": 100
},
"LastPECValues": {
"PECInternalTeamCost": 0,
"PECInternalTeamHours": "00:00",
"PECExternalTeamCost": 0,
"PECExternalTeamHours": "00:00",
"PECPurchases": 400,
"PECRevenue": 0
},
"GlobalStandardCost": {
"GlobalStandardGeneralCost": 10,
"GlobalStandardInternalCost": 8,
"GlobalStandardExternalCost": 1
}
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project budgetPUT/project/{ProjectId}/budget
Example URI
- ProjectId
int
(required) Example: 12262
Headers
Content-Type: application/json
Token: [token]
Body
{
"TopDownInternalTeamCost": 0,
"TopDownInternalTeamHours": "1",
"TopDownExternalTeamCost": 0,
"TopDownExternalTeamHours": "2",
"TopDownUndefinedTeamCost": 0,
"TopDownUndefinedTeamHours": "3",
"TopDownPurchases": 0,
"TopDownRevenue": 2000,
"TopDownInternalTeamCostCurrencyId": 1113,
"TopDownInternalTeamCostExchangeRate": 1,
"TopDownInternalTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownExternalTeamCostCurrencyId": 1113,
"TopDownExternalTeamCostExchangeRate": 1,
"TopDownExternalTeamCostChangeApplied": "2017-06-12T21:00:14Z",
"TopDownPurchasesCurrencyId": 1113,
"TopDownPurchasesBudgetExchangeRate": 1,
"TopDownPurchasesChangeApplied": "2017-06-13T02:16:26Z",
"TopDownUndefinedTeamCostCurrencyId": 1113,
"TopDownUndefinedTeamCostExchangeRate": 1,
"TopDownUndefinedTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownRevenueCurrencyId": 1113,
"TopDownRevenueChangeApplied": "2017-06-12T15:31:16Z",
"TopDownRevenueExchangeRate": 1
}
201
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Budget updated successfully.",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Team ¶
Get a project teamGET/project/{ProjectId}/team
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"type": "team",
"version": "1.1",
"ProjectMethodTypeId": "1",
"MySelfAsPM": "New.User@globalcorp360.com",
"members": {
"2191": {
"intUserId": "2191",
"name": "Adolfo Gonzalez",
"category": "Default One",
"firstName": "Adolfo",
"lastName": "Gonzalez",
"holidays": "2014/01/02,2015/04/07,2015/04/08,2015/04/09,2015/12/25,2015/12/25,",
"position": "",
"haspmlicense": true,
"hastmlicense": true,
"department": "",
"provider": "Employee",
"projectrole": "TeamMember",
"photo": ""
}
},
"tasks": {
"T-1018-17030001": {
"intTaskId": "148962",
"name": "task 1",
"status": "To Do",
"type": "Documentation",
"priority": "High123",
"start": "2017-03-01",
"end": "2017-03-02",
"members": {
"2191": {
"intProjectUserId": 2529,
"intAvailableCapacity": 960,
"taskrole": "TaskMember"
}
}
}
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Swimlanes ¶
Get project swimlanesGET/project/{ProjectId}/swimlanes
Example URI
- ProjectId
int
(required) Example: 627
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"KanbanProjectSwimlaneId": 1,
"SwimlaneName": "Default",
"Description": "desc",
"ProjectId": 627,
"ColorCode": "#fabe3c",
"Order": 0
},
{
"KanbanProjectSwimlaneId": 23,
"SwimlaneName": "Swimlane 2",
"Description": "desc",
"ProjectId": 627,
"ColorCode": "#1e98d7",
"Order": 2
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Progress Report ¶
Get project progress reportGET/project/{ProjectId}/progress/
List of all progress of a particular project, including details. This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ProjectProgressId
-
Assessment.AssessmentName
-
Assessment.AssesmentId
-
DetailDescription
-
ShortDescription
-
PercentageCompleted
-
ReportDate
Example URI
- ProjectId
string
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectProgressId": 433,
"ProjectId": 331,
"Assessment": null,
"DetailDescription": "",
"ShortDescription": "Automatic follow-up",
"PercentageCompleted": 16,
"ReportDate": "2013-11-12T10:07:32.883Z",
"CreatedBy": {
"UserId": 1686,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
},
"AllCustomFields": {
"test ryg": {
"Text": "Steady",
"Color": "Yellow"
}
}
},
{
"ProjectProgressId": 434,
"ProjectId": 331,
"Assessment": {
"AssessmentName": "No Critical 2",
"AssessmentId": 3288,
"AssessmentIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png"
},
"DetailDescription": "asdfgh123",
"ShortDescription": "Description1 update",
"PercentageCompleted": 50,
"ReportDate": "2013-01-01T11:39:17Z",
"CreatedBy": {
"UserId": 1686,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
},
"AllCustomFields": {
"test ryg": {
"Text": "Steady",
"Color": "Yellow"
}
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project progress reportPOST/project/{ProjectId}/progress/
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AssessmentId" : 3011,
"DetailDescription" : "detailsdescription",
"ShortDescription": "des",
"PercentageCompleted" : 45,
"ReportDate" : "2017-06-15T00:00:00Z"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"ProjectProgressId":67,
"StatusMessage": "Project progress inserted successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Project does not exists",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "An error occurred while inserting project follow-up, please try again later or contact ITM Administrator",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter assessment",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please short description",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "lease enter project report date",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter valid report date",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter valid assessment",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Percentage completed should be between 0 to 100",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project progress reportPUT/project/{ProjectId}/progress/{?ProjectProgressId}
Example URI
- ProjectId
int
(required) Example: 331- ProjectProgressId
int
(required) Example: 456
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AssessmentId" : 3011,
"DetailDescription" : "detailsdescription",
"ShortDescription": "des",
"PercentageCompleted" : 45,
"ReportDate" : "2017-06-15T00:00:00Z"
}
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ProjectProgressId":456,
"StatusMessage": "Project progress updated successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Project does not exists",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Project progress does not exists",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "oops some error occurred while inserting project follow-up, please try again later or contact ITM Administrator",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter assessment",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please short description",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "lease enter project report date",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter valid report date",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Please enter valid assessment",
"StatusCode": 400
}
{
"ProjectProgressId":0,
"StatusMessage": "Percentage completed should be between 0 to 100",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a project progress reportDELETE/project/{ProjectId}/progress/{?ProjectProgressId}
Example URI
- ProjectId
int
(required) Example: 331- ProjectProgressId
int
(required) Example: 2338
200
Headers
Content-Type: application/json
Body
{
{
"ProjectProgressId": 2338,
"StatusMessage": "Project progress deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ProjectProgressId": 0,
"StatusMessage": "Project progress id doesn't exist",
"StatusCode": 400
}
{
"ProjectProgressId": 0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Change History ¶
Change HistoryGET/Projects/{ProjectId}/changeHistory{?fromDate}
Only available on v2, it returns the Ids for all entities (namely ProjectGeneral, BudgetAccounts, Documents, ProgressReports, Users, Purchases, Tasks, Revenue, Risks, Issues, EstimatedAndAcceptedEffort) related to the project. You can specify a date to get only the changes after that date.
Example URI
- ProjectId
string
(required) Example: 60989The ID of the project.
- fromDate
string
(optional) Example: 2020-12-20T17:00:37The starting date from which to get the changes.
200
Headers
Content-Type: application/json
Body
{
"ProjectGeneral": [
60989
],
"BudgetAccounts": [
78958
],
"Documents": [
103117
],
"ProgressReports": [
174070,
174068
],
"Users": [
45405
],
"Tasks": [
1480488,
1480489
],
"Revenue": [
37388,
37389
],
"Risks": [
13131
],
"Issues": [
1609
],
"EstimatedAndAcceptedEffort": [
839436,
924229
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Sprints ¶
Get Project Sprint ¶
Get Project Sprint SearchPOST/Projects/{ProjectId}/Sprints/Search
Example URI
- ProjectId
int
(required) Example: 62573
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 2,
"pagerid": "254318a8-fee4-4099-bdf8-8309f4f97649",
"page": 0,
"pageSize": 2,
"list": [
{
"Id": "726b7bb0-2a43-40ba-bb1c-46fd4285b55d",
"Name": "Sprint 2",
"AccountId": 4019,
"ProjectId": 62573,
"LanguageId": 0,
"Description": "",
"Duration": "Week1",
"StartDate": "2022-12-16T00:00:00Z",
"EndDate": "2022-12-22T00:00:00Z",
"Type": 0,
"IsService": false,
"CreationDate": "2022-09-16T16:05:19Z",
"Creator": {
"UserId": 54680,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": "Darshi",
"LastName": "Shah",
"Photo": "UploadData\\PHOTO\\54680.png"
}
},
{
"Id": "83338240-51d4-4c0f-b764-c8a7876a156a",
"Name": "Sprint 1",
"AccountId": 4019,
"ProjectId": 62573,
"LanguageId": 0,
"Description": "Test Sprint",
"Duration": "Week1",
"StartDate": "2022-08-09T10:18:23Z",
"EndDate": "2022-08-12T10:18:23Z",
"Type": "Project",
"IsService": false,
"CreationDate": "2022-08-09T16:58:19Z",
"Creator": {
"UserId": 54680,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": "Darshi",
"LastName": "Shah",
"Photo": "UploadData\\PHOTO\\54680.png"
}
}
]
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
500
Headers
Content-Type: application/json
Body
{
"Id": 625731,
"StatusMessage": "Project 62573 does not exist",
"StatusCode": 500
}
{
"Id": 625731,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 500
}
Project Sprints ¶
Get Project SprintGET/Projects/{ProjectId}/Sprints/{SprintId}
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
200
Headers
Content-Type: application/json
Body
{
"Id": "83338240-51d4-4c0f-b764-c8a7876a156a",
"Name": "Sprint 1",
"AccountId": 4019,
"ProjectId": 62573,
"Description": "Test Sprint",
"Duration": "Week1",
"StartDate": "2022-08-09T10:18:23Z",
"EndDate": "2022-08-12T10:18:23Z",
"Type": "Project",
"IsService": false,
"CreationDate": "2022-08-09T16:58:19Z",
"CreatorId": 54680,
"Creator": {
"UserId": 54680,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": "Darshi",
"LastName": "Shah",
"Photo": "UploadData\\PHOTO\\54680.png"
},
"AllocatedTasks": []
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
500
Headers
Content-Type: application/json
Body
{
"Id": 625731,
"StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a156a does not exist",
"StatusCode": 500
}
{
"Id": 625731,
"StatusMessage": "Project 62573 does not exist",
"StatusCode": 500
}
{
"Id": 625731,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 500
}
Insert Project SprintPOST/Projects/{ProjectId}/Sprints/
Example URI
- ProjectId
int
(required) Example: 62573
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Sprint 2",
"Description": "Test Sprint 2",
"StartDate": "2022-08-09T10:18:23.072Z",
"EndDate": "2022-08-09T10:18:23.072Z",
"Type": "1",
"IsService": false
}
200
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint inserted successfully",
"StatusCode": 201,
"OtherDetails": {
"Id": "014eb417-2aab-444b-b4e2-a5eba73aae5d"
}
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Please enter sprint name.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project 625732 does not exist",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Project SprintPATCH/Projects/{ProjectId}/Sprints/{SprintId}
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Sprint 1",
"Description": "Test Sprint",
"StartDate": "2022-08-09T10:18:23.072Z",
"EndDate": "2022-08-12T10:18:23.072Z",
"Type": "1",
"IsService": false
}
200
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint updated successfully",
"StatusCode": 200,
"OtherDetails": {
"Id": "83338240-51d4-4c0f-b764-c8a7876a156a"
}
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
500
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a157a does not exist",
"StatusCode": 500
}
{
"Id": 0,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 500
}
{
"Id": 0,
"StatusMessage": "Project 62573 does not exist",
"StatusCode": 500
}
Delete Project SprintDELETE/Projects/{ProjectId}/Sprints/{SprintId}
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
200
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint deleted successfully.",
"StatusCode": 200
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Allocate Task to Sprint ¶
Allocate Task to SprintPOST/Projects/{ProjectId}/Sprints/{SprintId}/Allocate/{TaskId}
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a- TaskId
int
(required) Example: 1540840
200
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint allocated successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a157a does not exists.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "An archived task cannot be allocated to a sprint.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Summary tasks and milestones cannot be allocated to a sprint.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Allocate Task to Sprint ¶
Bulk Allocate Task to SprintPOST/Projects/{ProjectId}/Sprints/{SprintId}/Allocate
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Headers
Content-Type: application/json
Token: [token]
Body
{
"TaskIds": [
1540840
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a157a does not exists.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "An archived task cannot be allocated to a sprint.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Summary tasks and milestones cannot be allocated to a sprint.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Allocated Tasks For Sprint ¶
Get Allocated Tasks For SprintGET/Projects/{ProjectId}/AllocatedTasks/{SprintId}
Example URI
- ProjectId
int
(required) Example: 62573- SprintId
string
(required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
200
Headers
Content-Type: application/json
Body
{
"total": 2,
"pagerid": "94a01846-4955-4529-afe3-0b533e8d7267",
"page": 0,
"pageSize": 2,
"list": [
{
"Status": {
"Id": 140204,
"Name": "New subcolumn 0",
"KanbanId": 38818,
"Color": "#fabe3c",
"Order": 0,
"Date": "2022-07-25T11:23:38Z",
"Type": {
"Id": 1,
"Name": "In Progress",
"IsArchive": false,
"IsBacklog": false
},
"Default": false,
"LanguageId": 0,
"AutomaticProgress": false,
"ParentKanbanTaskStatusId": 0
},
"Swimlane": {
"Id": 7842,
"Name": "Default"
},
"Id": 1540839,
"JiraId": 0,
"ProjectId": 62573,
"No": "",
"Name": "pen",
"Details": "",
"KindId": 3,
"RevenueMilestone": false,
"Type": null,
"Priority": null,
"ParentTask": null,
"Duration": 0,
"StartDate": "2022-07-25T00:00:00Z",
"EndDate": "",
"DisplayInPortfolio": false,
"Sprint": null,
"FavouriteId": -1
},
{
"Status": {
"Id": 140204,
"Name": "New subcolumn 0",
"KanbanId": 38818,
"Color": "#fabe3c",
"Order": 0,
"Date": "2022-09-29T16:59:45Z",
"Type": {
"Id": 1,
"Name": "In Progress",
"IsArchive": false,
"IsBacklog": false
},
"Default": false,
"LanguageId": 0,
"AutomaticProgress": false,
"ParentKanbanTaskStatusId": 0
},
"Swimlane": {
"Id": 7842,
"Name": "Default"
},
"Id": 1540840,
"JiraId": 0,
"ProjectId": 62573,
"No": "",
"Name": "in prog",
"Details": "",
"KindId": 3,
"RevenueMilestone": false,
"Type": null,
"Priority": null,
"ParentTask": null,
"Duration": 0,
"StartDate": "2022-07-25T00:00:00Z",
"EndDate": "",
"DisplayInPortfolio": false,
"Sprint": null,
"FavouriteId": -1
}
]
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a157a does not exists.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Professional Categories v2 ¶
Project Professional Categories v2 ¶
Get Project Professional Categories v2GET/Projects/{ProjectId}/Categories
Example URI
- ProjectId
int
(required) Example: 55711
200
Headers
Content-Type: application/json
Body
[
{
"ProjectId": 8176,
"ProfessionalCategoryId": 19874,
"Category": {
"Id": 0,
"Name": "General",
"Type": "NoCategory"
},
"StandardBillRate": {
"Amount": 0,
"CurrencyId": 0,
"ExchangeRate": 0,
"AppliedDate": "",
"BaseAmount": 10
},
"ProjectProfessionalCategoryPriceId": 578,
"IsCategoryAssociatedWithTaskOrUser": true
},
{
"ProjectId": 8176,
"ProfessionalCategoryId": 19873,
"Category": {
"Id": 4681,
"Name": "Default",
"Type": "Employee"
},
"StandardBillRate": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 40
},
"ProjectProfessionalCategoryPriceId": 0,
"IsCategoryAssociatedWithTaskOrUser": true
}
]
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Associate Professional Categories To Project v2PUT/Projects/{ProjectId}/Categories
Example URI
- ProjectId
int
(required) Example: 55711
200
Headers
Content-Type: application/json
Body
{
"Id": 55711,
"StatusMessage": "Categories Linked to Project sucessfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Associate Professional Category To Project ¶
Associate Professional Category To Project v2PATCH/Projects/{ProjectId}/Category
Example URI
- ProjectId
int
(required) Example: 55711
Headers
Content-Type: application/json
Token: [token]
Body
{
"CategoryId": 21687,
"CategoryType": 2
}
200
Headers
Content-Type: application/json
Body
{
"Id": 55711,
"StatusMessage": "Categories Linked to Project sucessfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Professional Category 0 is invalid.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Insert Professional Category And Price To Project v2POST/Projects/{ProjectId}/Category
Example URI
- ProjectId
int
(required) Example: 55711
Headers
Content-Type: application/json
Token: [token]
Body
{
"CategoryId": 19874,
"CategoryType": 2,
"PricePerHour": 300
}
200
Headers
Content-Type: application/json
Body
{
"Id": 55711,
"StatusMessage": "Categories Linked to Project sucessfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Professional Category 0 is invalid.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Professional Category Price v2 ¶
Update Professional Category Price v2PATCH/Projects/{ProjectId}/Categories/{ProfessionalCategoryId}/Price
Example URI
- ProjectId
int
(required) Example: 55711- ProfessionalCategoryId
int
(required) Example: 97999
Headers
Content-Type: application/json
Token: [token]
Body
{
"PricePerHour": 250
}
200
Headers
Content-Type: application/json
Body
{
"Id": 97999,
"StatusMessage": "Price Updated sucessfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Professional Category 0 is invalid.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete Professional Category Price v2DELETE/Projects/{ProjectId}/Categories/{ProfessionalCategoryId}/Price
Example URI
- ProjectId
int
(required) Example: 55711- ProfessionalCategoryId
int
(required) Example: 97999
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 97999,
"StatusMessage": "Price Deleted sucessfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Professional Category 0 is invalid.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Account Professional Categories v2 ¶
GetAccount Professional Categories v2GET/ProfessionalCategories
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 19872,
"Name": "Default delete502"
},
{
"Id": 23474,
"Name": "Software Engineer"
}
]
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Professional Category 0 is invalid.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Resource Capacity ¶
Get Resource Capacity ¶
Get Resource CapacityGET/resourceCapacity/?StartDate={StartDate}&Interval={Interval}&NumberOfIntervals={NumberOfIntervals}
-
Interval: Possible values are - day, week, month, quarter. Default will be day, if not specified.
-
NumberOfIntervals: It could be a number from 1 to 15.
Example URI
- StartDate
string
(required) Example: 2022-08-29- Interval
string
(required) Example: day- NumberOfIntervals
int
(required) Example: 5
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Projects": [
{
"ProjectId": 53907,
"ProjectName": "Backend revamp",
"ProjectMethodType": 2,
"RedirectURL": "http://localhost/ITM.Web/itmrozas/UserPages/CapacityManagementUnit.aspx?IsRedirect=1&IsServices=0&ForProject=1&ProjectId=53907",
"Tasks": [
{
"TaskId": 1552998,
"TaskName": "17. Change on Tasks JSON structure for sprint. Backend",
"TaskKind": 3,
"ParentTaskId": 0,
"RedirectURL": "http://localhost/ITM.Web/itmrozas/UserPages/CapacityManagementUnit.aspx?IsRedirect=1&IsTask=1&ForProject=0&ProjectId=53907&TaskId=1552998&tk=3",
"Categories": [
{
"CategoryId": 15002,
"CategoryName": "Programmer",
"CategoryType": 3,
"TaskStartDate": "2022-08-29T00:00:00",
"TaskEndDate": "2022-09-02T00:00:00",
"Efforts": [
{
"IntervalIdentity": 1,
"Demand": 31,
"Allocated": 31
}
]
}
]
}
]
}
],
"Intervals": [
{
"IntervalIdentity": 1,
"IntervalName": "08/29/2022",
"StartDate": "2022-08-29T00:00:00",
"EndDate": "2022-08-29T23:59:59"
}
],
"Categories": [
{
"CategoryId": 15002,
"CategoryName": "Programmer",
"CategoryType": 3,
"Users": [
{
"UserId": 53498,
"UserName": "Darshi Shah",
"Designation": "Developer",
"UserImage": "",
"Capacity": [
{
"IntervalIdentity": 1,
"Capacity": 480,
"IsUserOnHoliday": false
}
],
"Projects": [
{
"ProjectId": 58050,
"ProjectName": "Backend Support ",
"ProjectMethodType": 2,
"RedirectURL": "http://localhost/ITM.Web/itmrozas/UserPages/CapacityManagementUnit.aspx?IsRedirect=1&IsServices=0&ForProject=1&ProjectId=58050",
"Tasks": [
{
"TaskId": 1556175,
"TaskName": "Zendesk 5087 - Task list slow the first time (high)",
"TaskKind": 3,
"ParentTaskId": 0,
"TaskStartDate": "2022-08-17T00:00:00",
"TaskEndDate": "2022-09-09T00:00:00",
"RedirectURL": "http://localhost/ITM.Web/itmrozas/UserPages/CapacityManagementUnit.aspx?IsRedirect=1&IsTask=1&ForProject=0&ProjectId=58050&TaskId=1556175&tk=3",
"Efforts": [
{
"IntervalIdentity": 1,
"Allocated": 11
}
]
}
]
}
]
}
]
}
]
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Tasks ¶
Get Tasks v2 ¶
Get Tasks v2POST/tasks/search
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 7,
"pagerid": "7f2710ea-9ee7-405e-bae2-3552ebf52ed8",
"page": 1,
"pageSize": 2,
"list": [
{
"StartDate": "2020-07-30T00:00:00Z",
"EndDate": "2020-08-21T00:00:00Z",
"Id": 1181502,
"ProjectId": 52265,
"IdWithinEntity": 1,
"Name": "ST1",
"KindId": 2,
"Category": "Summary",
"Type": null,
"Status": {
"Name": "To Do"
},
"Priority": null,
"ParentTask": null,
"Duration": 20,
"Sprint": {
"Name": "Sprint 5"
},
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
},
{
"StartDate": "2020-08-07T00:00:00Z",
"EndDate": "2020-08-22T00:00:00Z",
"Id": 1181507,
"ProjectId": 52265,
"IdWithinEntity": 6,
"Name": "ST2",
"KindId": 2,
"Category": "Summary",
"Type": null,
"Status": {
"Name": "To Do"
},
"Priority": null,
"ParentTask": null,
"Duration": 14,
"Sprint": null,
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Tasks v2 ¶
Get project tasks v2GET/Projects/{ProjectId}/tasks
Example URI
- ProjectId
string
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 2,
"pagerid": "f4bf9f1f-b44c-4d3a-8beb-b40dac1a888a",
"page": 1,
"pageSize": 50,
"list": [
{
"StartDate": "",
"EndDate": "",
"Id": 1190311,
"ProjectId": 43407,
"IdWithinEntity": 25,
"Name": "testsummary",
"KindId": 2,
"Category": "Summary",
"Status": {
"Name": "To Do"
},
"CreationDate": "2021-05-11T16:48:36Z",
"Team": {
"TeamMembers": []
},
"Completed": 0,
"Sprint": {
"Name": "Sprint 5"
},
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
},
{
"StartDate": "2020-09-01T00:00:00Z",
"EndDate": "2021-09-04T00:00:00Z",
"Id": 1190323,
"ProjectId": 43407,
"IdWithinEntity": 27,
"Name": "Test order summary",
"KindId": 2,
"Category": "Summary",
"Status": {
"Name": "To Do"
},
"CreationDate": "2021-05-18T18:10:52Z",
"Team": {
"TeamMembers": []
},
"Completed": 25,
"Sprint": null,
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Task Search ¶
Get Project Tasks SearchPOST/Projects/{ProjectId}/Tasks/Search
Example URI
- ProjectId
string
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 7,
"pagerid": "7f2710ea-9ee7-405e-bae2-3552ebf52ed8",
"page": 1,
"pageSize": 2,
"list": [
{
"StartDate": "2020-07-30T00:00:00Z",
"EndDate": "2020-08-21T00:00:00Z",
"Id": 1181502,
"ProjectId": 52265,
"IdWithinEntity": 1,
"Name": "ST1",
"KindId": 2,
"Category": "Summary",
"Status": {
"Name": "To Do"
},
"CreationDate": "2020-08-07T16:06:46Z",
"Team": {
"TeamMembers": []
},
"Completed": 33,
"Sprint": {
"Name": "Sprint 5"
},
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
},
{
"StartDate": "2020-08-07T00:00:00Z",
"EndDate": "2020-08-22T00:00:00Z",
"Id": 1181507,
"ProjectId": 52265,
"IdWithinEntity": 6,
"Name": "ST2",
"KindId": 2,
"Category": "Summary",
"Status": {
"Name": "To Do"
},
"CreationDate": "2020-08-07T17:24:13Z",
"Team": {
"TeamMembers": []
},
"Completed": 45,
"Sprint": null,
"AllCustomFields": {
"Number Field 2": null,
"RYG list two 6": null,
"Cust HTML 5": null,
"Percentage field test": null,
"Date one 4": null,
"List One 8": null,
"List two 8": null,
"Text field 1": null,
"Dropdwon field 7": null,
"testing for Hide/Show 123": null,
"Tests date": null
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Gantt ¶
Get GanttGET/Projects/{ProjectId}/Tasks/Gantt
Example URI
- ProjectId
string
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"success": true,
"type": "sync",
"revision": 1,
"project": {
"calendar": "general",
"startDate": "2019-07-08",
"endDate": "2022-09-04",
"progressModel": "DURATION",
"percentDone": 26,
"hoursPerDay": 8,
"daysPerWeek": 5,
"daysPerMonth": 20,
"manuallyScheduled": false
},
"calendars": {
"rows": [
{
"id": "general",
"name": "General",
"hoursPerDay": 8,
"daysPerWeek": 5,
"daysPerMonth": 20,
"intervals": [
{
"recurrentStartDate": "on Sun at 8:00",
"recurrentEndDate": "on Mon at 8:00",
"isWorking": false
},
{
"recurrentStartDate": "on Mon at 16:00",
"recurrentEndDate": "on Tue at 8:00",
"isWorking": false
}
],
"expanded": true
}
]
},
"tasks": {
"rows": [
{
"id": 1190311,
"name": "testsummary",
"status": "To Do",
"duration": 0,
"sprint": "",
"percentDone": 0,
"calendar": "general",
"effort": 0,
"baselines": [
{
"startDate": "0001-01-01",
"endDate": "0001-01-01"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": false,
"constraintType": "",
"rollup": false
},
{
"id": 1190323,
"name": "Test order summary",
"status": "To Do",
"startDate": "2020-09-01",
"endDate": "2021-09-04",
"sprint": "Sprint 1",
"duration": 315,
"percentDone": 25,
"calendar": "general",
"effort": 0,
"baselines": [
{
"startDate": "2020-09-01",
"endDate": "2021-09-04"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": false,
"constraintType": "startnoearlierthan",
"constraintDate": "2020-09-01",
"rollup": false,
"children": [
{
"id": 1190324,
"name": "Test order task1",
"status": "To Do",
"startDate": "2020-09-01",
"endDate": "2021-09-04",
"sprint": "",
"duration": 315,
"percentDone": 0,
"calendar": "general",
"effort": 0,
"baselines": [
{
"startDate": "2020-09-01",
"endDate": "2021-09-04"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": false,
"constraintType": "",
"rollup": false
},
{
"id": 1190326,
"name": "test order task 3",
"status": "To Do",
"startDate": "2020-09-01",
"endDate": "2020-09-03",
"sprint": "",
"duration": 3,
"percentDone": 0,
"calendar": "general",
"effort": 0,
"baselines": [
{
"startDate": "2020-09-01",
"endDate": "2020-09-03"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": false,
"constraintType": "",
"rollup": false
},
{
"id": 1180467,
"name": "This Task",
"status": "Completed",
"startDate": "2020-09-01",
"endDate": "2020-09-04",
"sprint": "Sprint 2",
"duration": 4,
"percentDone": 70,
"lockStatus": "locked",
"calendar": "general",
"effort": 8,
"baselines": [
{
"startDate": "2020-09-01",
"endDate": "2020-09-04"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": true,
"constraintType": "",
"rollup": false
},
{
"id": 1190325,
"name": "Test order task2",
"status": "Completed",
"startDate": "2020-09-01",
"endDate": "2020-09-02",
"sprint": "",
"duration": 2,
"percentDone": 0,
"lockStatus": "locked",
"calendar": "general",
"effort": 0,
"baselines": [
{
"startDate": "2020-09-01",
"endDate": "2020-09-02"
}
],
"schedulingMode": "Normal",
"effortDriven": false,
"manuallyScheduled": true,
"constraintType": "",
"rollup": false
}
]
}
]
},
"dependencies": {
"rows": [
{
"id": 465629,
"fromTask": 1179393,
"toTask": 1031678,
"type": 2,
"lag": "0",
"lagUnit": "day"
},
{
"id": 460878,
"fromTask": 1180468,
"toTask": 1179392,
"type": 2,
"lag": "0",
"lagUnit": "d"
}
]
},
"resources": {
"rows": [
{
"id": 7489,
"name": "Girish Tank",
"image": "UploadData\\PHOTO\\32by32_7489.jpg",
"calendar": "general"
},
{
"id": 49842,
"name": "Darshi Shah",
"image": "",
"calendar": "general"
}
]
},
"assignments": {
"rows": [
{
"id": 640822,
"event": 1031678,
"resource": 7489,
"effort": 5,
"units": 100
},
{
"id": 645182,
"event": 1031678,
"resource": 47477,
"effort": 15,
"units": 100
}
]
},
"timeRanges": {
"rows": []
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update GanttPOST/Projects/{ProjectId}/Tasks/Gantt
Example URI
- ProjectId
string
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"type": "sync",
"requestId": 16097428391411,
"tasks": {
"removed": [
{
"id": 1179392
}
]
}
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"requestId": 16097428391411,
"type": "sync",
"revision": null,
"tasks": {
"rows": []
},
"dependencies": {
"rows": []
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"success": false,
"responseText": "1179392: Task doesn't exists. "
}
{
"success": false,
"responseText": "Project doesn't exist. "
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Gantt Progress ¶
Insert Automatic ProgressPOST/Projects/{ProjectId}/ganttprogress/{PercentDone}
Example URI
- ProjectId
string
(required) Example: 43407- PercentDone
string
(required) Example: 50
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"success": true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Task Statuses ¶
Bulk Update Task StatusPOST/Projects/{ProjectId}/UpdateTaskStatuses
Example URI
- ProjectId
string
(required) Example: 62573
Headers
Content-Type: application/json
Token: [token]
Body
{
"TaskIds": "1179390",
"SelectedStatus": 77653,
"ProjectMethodTypeId": "1"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 1540838,
"StatusMessage": "Task status updated successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a task v2 ¶
Add a task v2POST/Projects/{ProjectId}/Tasks
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "tests",
"Details": "test",
"DisplayInPortfolio": true,
"TypeName": "Bug",
"PriorityName": "Medium",
"StatusName": "Doing",
"ParentId": "",
"SwimlaneName": "Swimlane default",
"StartDate": "2019-07-11",
"EndDate": "2019-07-15",
"SprintId": "56b24ea4-30cb-4037-966c-9e5bf02f3f85"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 1193461,
"StatusMessage": "Task inserted successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task v2 ¶
Update a task v2PATCH/Projects/{ProjectId}/Tasks/{TaskId}
Example URI
- ProjectId
int
(required) Example: 43407- TaskId
int
(required) Example: 1193461
Headers
Content-Type: application/json
Token: [token]
Body
{
"Id": 1193461,
"ProjectId": 43407,
"Name": "Task 1 - Type task 123",
"Details": "test",
"DisplayInPortfolio": true,
"ParentId": "",
"KanbanId": "10701",
"SwimlaneName": "Swimlane default",
"StartDate": "2019-07-10",
"EndDate": "2019-07-11",
"SprintId": "123e4567-e89b-12d3-a456-426614174000"
"CustomField": [
{
"CustomFieldBaseId": 967,
"CustomFieldValue": "11",
"CustomFieldTypeName": "Number"
},
{
"CustomFieldBaseId": 4268,
"Options": [
{
"CustomFieldOptionId": 6590
}
],
"CustomFieldTypeName": "List"
}
]
}
200
Headers
Content-Type: application/json
Body
{
"Id": 1193461,
"StatusMessage": "Task updated successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Bulk Delete tasks v2DELETE/Projects/{ProjectId}/Tasks/
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Task 1 - Type task 123: Task deleted successfully ",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a TaskPOST/Projects/{ProjectId}/Tasks/{TaskId}
Example URI
- ProjectId
int
(required) Example: 43407- TaskId
int
(required) Example: 1190324
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 1190324,
"ProjectId": 43407,
"No": "T-43407-21050004",
"Name": "Test order task1",
"Details": "testset",
"KindId": 3,
"RevenueMilestone": false,
"Type": {
"Id": 116322,
"Name": "Generic",
"Default": true
},
"Status": {
"Id": 77652,
"Name": "To Do",
"KanbanId": 0,
"Color": null,
"Order": 0,
"Date": null,
"Type": {
"Id": 2,
"Name": null
},
"Default": true,
"LanguageId": 1
},
"Priority": {
"Id": 303157,
"Name": "Medium",
"Default": true
},
"ParentTask": {
"Id": 1190323,
"Name": "Test order summary"
},
"Duration": 315,
"StartDate": "2020-09-01T00:00:00Z",
"EndDate": "2021-09-04T00:00:00Z",
"DisplayInPortfolio": false,
"Swimlane": null,
"FavouriteId": -1
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Team ¶
Get a task teamGET/project/{ProjectId}/task/{TaskId}/team/
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 11334
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"SrNo": "1",
"UserId": 1686,
"UserName": "jucli@globalcorp360.com",
"LastName": "Julio",
"FirstName": "Cline",
"ServiceAlias": "Julio Cline",
"UserId1": 1686,
"TaskUserId": 1415,
"ProjectUserId": 706,
"UserRole": "Manager",
"DepartmentName": "",
"PositionName": ""
},
{
"SrNo": "2",
"UserId": 1693,
"UserName": "stakeholder@globalcorp360.com",
"LastName": "User",
"FirstName": "New",
"ServiceAlias": "New User",
"UserId1": 1693,
"TaskUserId": 1531,
"ProjectUserId": 720,
"UserRole": "Manager",
"DepartmentName": "Asp.Net\\MVC\\MVC 2",
"PositionName": "SE"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a task teamDELETE/project/{ProjectId}/task/{TaskId}/team/{?TaskUserId}/
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 123- TaskUserId
int
(required) Example: 2986
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Deleted Successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Cannot delete reference, Actual Effort Accepted is already entered",
"StatusCode": 400
}
{
"StatusMessage": "Cannot delete reference, already in time entry",
"StatusCode": 400
}
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Assign a task teamPOST/project/{ProjectId}/task/{TaskId}/team/{?ProjectUserIds}/{?TaskManager}
Assigns a task team.
TaskManager specifies that user is task manager or not.
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 123- ProjectUserIds
string
(required) Example: 2345,345- TaskManager
bool
(required) Example: false
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "User Assigned successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Agile Task Statuses v2 ¶
Get agile task statuses v2GET/Projects/{ProjectId}/GetKanbanTaskStatus
Example URI
- ProjectId
int
(required) Example: 55713
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 140204,
"Name": "Pendiente",
"KanbanId": 16864,
"Color": "",
"Order": 1,
"Date": "",
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 0
},
{
"Id": 140205,
"Name": "En curso",
"KanbanId": 16865,
"Color": "",
"Order": 2,
"Date": "",
"Type": {
"Id": 2
},
"Default": false,
"LanguageId": 0
},
{
"Id": 140206,
"Name": "completado",
"KanbanId": 16866,
"Color": "",
"Order": 3,
"Date": "",
"Type": {
"Id": 3
},
"Default": false,
"LanguageId": 0
},
{
"Id": 763398,
"Name": "Backlog",
"KanbanId": 16867,
"Color": "",
"Order": 0,
"Date": "",
"Type": {
"Id": 0
},
"Default": false,
"LanguageId": 0
},
{
"Id": 763399,
"Name": "Archivo",
"KanbanId": 16868,
"Color": "",
"Order": 4,
"Date": "",
"Type": {
"Id": 4
},
"Default": false,
"LanguageId": 0
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get or Insert agile task statuses v2PATCH/Projects/{ProjectId}/GetKanbanTaskStatus
Example URI
- ProjectId
int
(required) Example: 55713
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Pendiente"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 140204,
"Name": "Pendiente",
"KanbanId": 16864,
"Color": "",
"Order": 1,
"Date": "",
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 0
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Progress Reports ¶
Get task progress reportsGET/project/{ProjectId}/task/{TaskId}/progress/
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
TaskName
-
TaskProgressId
-
Assessment.AssessmentName
-
Assessment.AssesmentId
-
DetailDescription
-
ShortDescription
-
PercentageCompleted
-
ReportDate
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"TaskProgressId": 12891,
"TaskId": 20441,
"TaskName": "2.0 Capacitacion Manejo",
"ProjectId": 331,
"Assessment": {
"AssessmentName": "Crítico",
"AssessmentId": 3011,
"AssessmentIcon": "https://app.itmplatform.com/App_Themes/Default/Images/Red.png"
},
"DetailDescription": "",
"ShortDescription": "dfdsf",
"PercentageCompleted": 56,
"ReportDate": "2017-06-28T15:13:22Z",
"CreatedBy": "Major Wyman",
"TaskManagers": [
{
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
{
"UserId": 1693,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
}
]
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Progress Report ¶
Get a task progress reportGET/project/{ProjectId}/task/{TaskId}/progress/{TaskProgressId}
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441- TaskProgressId
int
(required) Example: 12535
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"TaskProgressId": 12876,
"TaskId": 20441,
"TaskName": "2.0 Capacitacion Manejo",
"ProjectId": 331,
"ReportDate": "2017-06-02T12:00:12Z",
"CreatedBy": "Peter Yi",
"AssessmentName": "No Critical 2",
"AssessmentPath": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png",
"AssesmentId": 3288,
"DetailDescription": "",
"ShortDescription": "new follow up",
"PercentageCompleted": 56,
"TaskManager": "Major Wyman,John Doe"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a task progress reportDELETE/project/{ProjectId}/task/{TaskId}/progress/{TaskProgressId}
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441- TaskProgressId
int
(required) Example: 2338
200
Headers
Content-Type: application/json
Body
{
"TaskProgressId": 2338,
"StatusMessage": "Task progress deleted successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"TaskProgressId": 0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"TaskProgressId": 0,
"StatusMessage": "Task doesn't exist",
"StatusCode": 400
}
{
"TaskProgressId": 0,
"StatusMessage": "Task progress id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Progress Report v2 ¶
Add a task progress report v2POST/projects/{ProjectId}/tasks/{TaskId}/progress/
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
Body
{
"AssessmentId": 1234,
"Description": "detailsdescription",
"ShortDescription": "des",
"Percentage": 45,
"ReportDate": "2017-06-15T00:00:00Z"
}
201
Headers
Content-Type: application/json
Body
{
"Id": 707463,
"StatusMessage": "Task progress inserted successfully.",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Task does not exists.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter short description.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter assessment id greater than 0.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid assessment id.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter report date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid report date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter percentage completed.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Percentage completed should be between 0 to 100.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please provide details of Progress Report.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a task progress report v2PATCH/projects/{ProjectId}/tasks/{TaskId}/progress/{TaskProgressId}
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441- TaskProgressId
int
(required) Example: 456
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AssessmentId" : 67,
"Description" : "detailsdescription",
"ShortDescription": "des",
"Percentage" : 45,
"ReportDate" : "2017-06-15T00:00:00Z"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"Id": 456,
"StatusMessage": "Task progress updated successfully.",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Task does not exists.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project does not exist.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter short description.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter assessment id greater than 0.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid assessment id.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter report date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid report date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter percentage completed.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Percentage completed should be between 0 to 100.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please provide details of Progress Report.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project task effort by professional category ¶
Get task effort by professional categoryGET/project/{ProjectId}/task/{TaskId}/effortbyprofessionalcategory
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Category": {
"MasterCategoryId": 403,
"CategoryId": 2895,
"CategoryName": "Software Engineer",
"CategoryTypeId": 3,
"CategoryTypeName": "External"
},
"IsAutomaticActualEffortAccepted": false,
"Efforts": {
"AssignedEffort": "20:00",
"UnAssignedEffort": "0:00",
"ActualEffortAccepted": "200:00",
"ActualEffortByTimeEntry": "0:00",
"TotalEstimatedEffort": "20:00"
},
"IsOverload": true,
"OverloadDate": "2012-12-10T00:00:00Z",
"IsDelete": true
},
{
"Category": {
"MasterCategoryId": 379,
"CategoryId": 2693,
"CategoryName": "Default One",
"CategoryTypeId": 2,
"CategoryTypeName": "Internal"
},
"IsAutomaticActualEffortAccepted": false,
"Efforts": {
"AssignedEffort": "20:00",
"UnAssignedEffort": "0:00",
"ActualEffortAccepted": "500:00",
"ActualEffortByTimeEntry": "476:00",
"TotalEstimatedEffort": "20:00"
},
"IsOverload": true,
"OverloadDate": "2012-12-10T00:00:00Z",
"IsDelete": true
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Effort by Team Member ¶
Get task effort work by team memberGET/project/{ProjectId}/task/{TaskId}/effortbyteammember
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Category": {
"MasterCategoryId": 379,
"CategoryId": 2693,
"CategoryName": "Default One",
"CategoryTypeId": 2,
"CategoryTypeName": "Internal"
},
"IsAutomaticActualEffortAccepted": false,
"Efforts": {
"ActualEffortAccepted": "500:00",
"ActualEffortByTimeEntry": "408:00",
"EstimatedEffort": "20:00"
},
"User": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"IsOverload": true,
"OverloadDate": "2012-12-28T00:00:00Z",
"TaskUserId": 1415,
"IsPECGeneratedByTask": false
},
{
"Category": {
"MasterCategoryId": 403,
"CategoryId": 2895,
"CategoryName": "Software Engineer",
"CategoryTypeId": 3,
"CategoryTypeName": "External"
},
"IsAutomaticActualEffortAccepted": false,
"Efforts": {
"ActualEffortAccepted": "200:00",
"ActualEffortByTimeEntry": "68:00",
"EstimatedEffort": "20:00"
},
"User": {
"UserId": 1693,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
},
"IsOverload": true,
"OverloadDate": "2012-12-10T00:00:00Z",
"TaskUserId": 1531,
"IsPECGeneratedByTask": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Effort Categories ¶
Add task effort categoriesPOST/project/{ProjectId}/task/{TaskId}/categories
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
Body
[
{
"CategoryId": 379,
"CategoryType": "2"
}
]
201
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Categories Inserted Successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Error occurred while Inserting Categories",
"StatusCode": 400
}
{
"StatusMessage": "Category already inserted",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Effort Category ¶
Delete task effort categoryDELETE/project/{ProjectId}/task/{TaskId}/category/{CategoryId}
Example URI
- ProjectId
int
(required) Example: 331- TaskId
int
(required) Example: 20441- CategoryId
int
(required) Example: 379
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"CategoryId": 602,
"CategoryType": "2"
}
}
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Deleted Successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Error occurred while Deleting",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Effort ¶
Update a task effortPUT/project/{ProjectId}/task/{TaskId}/effort
Updates a task Effort. Please note that you should use different syntaxes for waterfall and agile tasks.
Example URI
- ProjectId
int
(required) Example: 12262- TaskId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
Body
For waterfall Task
[
[
{
"TaskId": "22297",
"EstimatedHours": "0",
"EstimatedMins": 0
}
],
[
{
"TaskUserId": 1746,
"EstimatedHours": 0,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 20,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": false,
"TaskId": "22297"
},
{
"TaskUserId": 1747,
"EstimatedHours": 0,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true,
"TaskId": "22297"
}
],
[{}],
[
{
"CategoryId": 403,
"CategoryType": 3,
"NonAssignedEffort": "0",
"NonAssignedEffortMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true
}
]
]
For agile Task
[
[{}],
[
{
"TaskUserId": 7811,
"EstimatedHours": 200,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 100,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": false,
"TaskId": "146322"
},
{
"TaskUserId": 7812,
"EstimatedHours": 300,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true,
"TaskId": "146322"
}
],
[
{
"TaskId": "146322",
"TaskEstHour": 500,
"TaskEstmin": 0
}
],
[{}]
]
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Updated Successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Dependencies ¶
Get task dependenciesGET/project/{ProjectId}/taskdependencies
Example URI
- ProjectId
int
(required) Example: 1070
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
<Links>
<Link>
<Id>42404</Id>
<From>153809</From>
<To>153811</To>
<Type>0</Type>
</Link>
<Link>
<Id>42405</Id>
<From>153810</From>
<To>153812</To>
<Type>0</Type>
</Link>
</Links>
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add task dependenciesPOST/project/{ProjectId}/taskdependencies
Example URI
- ProjectId
int
(required) Example: 1070
Headers
Content-Type: application/json
Token: [token]
Body
[
{
"FromTaskNo": null,
"ToTaskNo": null,
"From": 153809,
"To": 153811,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 0
},
{
"FromTaskNo": null,
"ToTaskNo": null,
"From": 153810,
"To": 153812,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 0
}
]
200
Headers
Content-Type: application/json
Body
[
{
"FromTaskNo": "",
"ToTaskNo": "",
"From": 153809,
"To": 153811,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 42402
},
{
"FromTaskNo": "",
"ToTaskNo": "",
"From": 153810,
"To": 153812,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 42403
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete task dependenciesDELETE/project/{ProjectId}/taskdependencies
Example URI
- ProjectId
int
(required) Example: 1070
Headers
Content-Type: application/json
Token: [token]
Body
[
{
"FromTaskNo": null,
"ToTaskNo": null,
"From": 153809,
"To": 153811,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 0
},
{
"FromTaskNo": null,
"ToTaskNo": null,
"From": 153810,
"To": 153812,
"Type": 0,
"Lag": "0",
"Cls": "",
"LagUnit": "d",
"Id": 0
}
]
200
Headers
Content-Type: application/json
Body
{
'success': true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Baseline ¶
Add task baselinePOST/project/{ProjectId}/baseline
Example URI
- ProjectId
int
(required) Example: 1070
Headers
Content-Type: application/json
Token: [token]
Body
"
<ROOT>
<TaskBaseLine>
<intTaskId>153809</intTaskId>
<dtsBaselineStartDate>8/5/2017 0:0:0</dtsBaselineStartDate>
<dtsBaselineEndDate>9/5/2017 0:0:0</dtsBaselineEndDate>
</TaskBaseLine>
<TaskBaseLine>
<intTaskId>153811</intTaskId>
<dtsBaselineStartDate>8/5/2017 0:0:0</dtsBaselineStartDate>
<dtsBaselineEndDate>9/5/2017 0:0:0</dtsBaselineEndDate>
</TaskBaseLine>
<TaskBaseLine>
<intTaskId>153810</intTaskId>
<dtsBaselineStartDate>8/5/2017 0:0:0</dtsBaselineStartDate>
<dtsBaselineEndDate>9/5/2017 0:0:0</dtsBaselineEndDate>
</TaskBaseLine>
<TaskBaseLine>
<intTaskId>153812</intTaskId>
<dtsBaselineStartDate>8/5/2017 0:0:0</dtsBaselineStartDate>
<dtsBaselineEndDate>9/5/2017 0:0:0</dtsBaselineEndDate>
</TaskBaseLine>
</ROOT>
"
200
Headers
Content-Type: application/json
Body
{
"IsSuccess": true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Baselines ¶
Get Project Baselines ¶
Get Project BaselinesGET/project/{ProjectId}/baselines
Example URI
- ProjectId
int
(required) Example: 53907
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectId": 0,
"ProjectName": null,
"ProjectNo": null,
"ProjectStartDate": "2021-02-16T00:00:00Z",
"ProjectEndDate": "2023-09-08T00:00:00Z",
"ProjectDuration": 669,
"BaselineId": 5387,
"BaselineName": "My Baseline 1",
"BaselineAuthor": "Daniel Piret",
"BaselineStartDate": "2021-02-16T00:00:00Z",
"BaselineEndDate": "2022-12-31T00:00:00Z",
"ProjectBaselineDuration": 489,
"BaselineTimeStamp": "2022-08-09T06:27:59Z",
"IsActive": false,
"BaselineTopDownDetail": {
"TopDownInternalHours": "00:00",
"TopDownInternalCost": 0,
"TopDownExternalHours": "00:00",
"TopDownExternalCost": 0,
"TopDownUndefinedHours": "00:00",
"TopDownUndefinedCost": 0,
"TopDownTotalWorkforceHours": "00:00",
"TopDownTotalWorkforceCost": 0,
"TopDownPurchasesCost": 0,
"TopDownTotalCost": 0,
"TopDownMargin": 0,
"TopDownRevenue": 0
},
"BaselineBottomUpDetail": {
"BottomUpInternalHours": "00:00",
"BottomUpInternalCost": 0,
"BottomUpExternalHours": "1071:15",
"BottomUpExternalCost": 10712.5,
"BottomUpUndefinedHours": "00:00",
"BottomUpUndefinedCost": 0,
"BottomUpTotalWorkforceHours": "1071:15",
"BottomUpTotalWorkforceCost": 10712.5,
"BottomUpPurchasesCost": 0,
"BottomUpTotalCost": 10712.5,
"BottomUpMargin": -10712.5,
"BottomUpRevenue": 0,
"BottomUpPurchasesBlended": 0
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Active Baseline ¶
Get Project Active Baseline DetailsGET/project/{ProjectId}/activebaseline
Example URI
- ProjectId
int
(required) Example: 53907
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"ProjectName": "Backend revamp",
"ProjectNo": "PR-15-21010001",
"ProjectStartDate": "2021-02-16T00:00:00Z",
"ProjectEndDate": "2023-09-08T00:00:00Z",
"ProjectDuration": 489,
"BaselineId": 5388,
"BaselineName": "Your baseline",
"BaselineAuthor": "Daniel Piret",
"BaselineStartDate": "2021-02-16T00:00:00Z",
"BaselineEndDate": "2022-12-31T00:00:00Z",
"ProjectBaselineDuration": 0,
"BaselineTimeStamp": "2022-08-09T06:28:23Z",
"IsActive": true,
"BaselineTopDownDetail": {
"TopDownInternalHours": "00:00",
"TopDownInternalCost": 0,
"TopDownExternalHours": "00:00",
"TopDownExternalCost": 0,
"TopDownUndefinedHours": "00:00",
"TopDownUndefinedCost": 0,
"TopDownTotalWorkforceHours": "00:00",
"TopDownTotalWorkforceCost": 0,
"TopDownPurchasesCost": 0,
"TopDownTotalCost": 0,
"TopDownMargin": 0,
"TopDownRevenue": 0
},
"BaselineBottomUpDetail": {
"BottomUpInternalHours": "00:00",
"BottomUpInternalCost": 0,
"BottomUpExternalHours": "1071:15",
"BottomUpExternalCost": 10712.5,
"BottomUpUndefinedHours": "00:00",
"BottomUpUndefinedCost": 0,
"BottomUpTotalWorkforceHours": "1071:15",
"BottomUpTotalWorkforceCost": 10712.5,
"BottomUpPurchasesCost": 0,
"BottomUpTotalCost": 10712.5,
"BottomUpMargin": -10712.5,
"BottomUpRevenue": 0
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Baseline Detail ¶
Get Project Baseline DetailsGET/project/{ProjectId}/baseline/{BaselineId}
Example URI
- ProjectId
int
(required) Example: 53907- BaselineId
int
(required) Example: 5387
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"ProjectName": "Backend revamp",
"ProjectNo": "PR-15-21010001",
"ProjectStartDate": "2021-02-16T00:00:00Z",
"ProjectEndDate": "2023-09-08T00:00:00Z",
"ProjectDuration": 489,
"BaselineId": 5387,
"BaselineName": "My Baseline 1",
"BaselineAuthor": "Daniel Piret",
"BaselineStartDate": "2021-02-16T00:00:00Z",
"BaselineEndDate": "2022-12-31T00:00:00Z",
"ProjectBaselineDuration": 0,
"BaselineTimeStamp": "2022-08-09T06:27:59Z",
"IsActive": false,
"BaselineTopDownDetail": {
"TopDownInternalHours": "00:00",
"TopDownInternalCost": 0,
"TopDownExternalHours": "00:00",
"TopDownExternalCost": 0,
"TopDownUndefinedHours": "00:00",
"TopDownUndefinedCost": 0,
"TopDownTotalWorkforceHours": "00:00",
"TopDownTotalWorkforceCost": 0,
"TopDownPurchasesCost": 0,
"TopDownTotalCost": 0,
"TopDownMargin": 0,
"TopDownRevenue": 0
},
"BaselineBottomUpDetail": {
"BottomUpInternalHours": "00:00",
"BottomUpInternalCost": 0,
"BottomUpExternalHours": "1071:15",
"BottomUpExternalCost": 10712.5,
"BottomUpUndefinedHours": "00:00",
"BottomUpUndefinedCost": 0,
"BottomUpTotalWorkforceHours": "1071:15",
"BottomUpTotalWorkforceCost": 10712.5,
"BottomUpPurchasesCost": 0,
"BottomUpTotalCost": 10712.5,
"BottomUpMargin": -10712.5,
"BottomUpRevenue": 0,
"BottomUpPurchasesBlended": 0
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete Project Baseline DetailsDELETE/project/{ProjectId}/baseline/{BaselineId}
Example URI
- ProjectId
int
(required) Example: 53907- BaselineId
int
(required) Example: 5387
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"BaselineId": 5388,
"StatusMessage": "Baseline deleted",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Baseline Detail ¶
Active/Inactive Project BaselinePUT/project/{ProjectId}/baseline/{BaselineId}/{IsActive}
Example URI
- ProjectId
int
(required) Example: 53907- BaselineId
int
(required) Example: 5387- IsActive
bit
(required) Example: true
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"BaselineId": 5387,
"StatusMessage": "Baseline activated",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Rename Baseline ¶
Rename BaselinePUT/Project/{ProjectId}/renamebaseline
Example URI
- ProjectId
int
(required) Example: 53907
Headers
Content-Type: application/json
Token: [token]
Body
{
"BaselineId": 5387,
"BaselineName": "My Baseline"
}
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"BaselineId": 5387,
"StatusMessage": "Baseline name updated",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Insert Baseline ¶
Insert BaselinePOST/Project/{ProjectId}/projectbaseline
Example URI
- ProjectId
int
(required) Example: 53907
Headers
Content-Type: application/json
Token: [token]
Body
{
"BaselineId": 5387,
"BaselineName": "My Baseline 2",
"BaselineAuthor": "Daniel Piret",
"BaselineStartDate": "2021-02-16T00:00:00Z",
"BaselineEndDate": "2022-12-31T00:00:00Z",
"ProjectBaselineDuration": 0,
"BaselineTimeStamp": "2022-08-09T06:27:59Z",
"IsActive": false
}
200
Headers
Content-Type: application/json
Body
{
"ProjectId": 53907,
"BaselineId": 6160,
"StatusMessage": "Baseline created",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Purchases ¶
Get Purchases ¶
Get PurchasesPOST/purchases/search
This endpoint accepts Group Filtering v2. The parameters this filter accepts are:
-
Name
-
Description
-
StatusName
-
StatusId
-
StatusDate
-
BudgetAccountName
-
TypeName
-
TypeId
-
DueDate
-
ProviderId
-
ProviderName
-
No
-
ProjectId
-
ActualAmount
-
ActualAmount.CurrencyId
-
ActualAmount.ExchangeRate
-
ActualAmount.AppliedDate
-
ActualAmount.BaseAmount
-
ProjectedAmount
-
ProjectedAmount.CurrencyId
-
ProjectedAmount.ExchangeRate
-
ProjectedAmount.AppliedDate
-
ProjectedAmount.BaseAmount
-
IsConsiderAsActualValue
-
IsDependOnTask
-
DependingOnTaskName
-
DependingOnTaskId
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 8989,
"pagerid": "1cefead5-96f6-4d25-8486-0dacd358b27a",
"page": 1,
"pageSize": 10,
"list": [
{
"Amount": 0,
"StatusDate": "2021-09-29T15:41:20Z",
"FirstRecurrenceDate": "",
"DueDate": "2021-04-13T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1192786
},
{
"Amount": 0,
"StatusDate": "2019-11-07T09:47:38Z",
"FirstRecurrenceDate": "",
"DueDate": "2026-12-02T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Amount": 0,
"StatusDate": "2019-11-07T09:47:38Z",
"FirstRecurrenceDate": "",
"DueDate": "2027-01-01T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Amount": 0,
"StatusDate": "2021-08-30T00:00:00Z",
"FirstRecurrenceDate": "",
"DueDate": "2021-01-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1192304
},
{
"Amount": 0,
"StatusDate": "2021-05-30T00:00:00Z",
"FirstRecurrenceDate": "",
"DueDate": "2021-01-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1192776
},
{
"Amount": 0,
"StatusDate": "2021-09-24T18:36:11Z",
"FirstRecurrenceDate": "",
"DueDate": "2021-04-13T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1192599
},
{
"Amount": 0,
"StatusDate": "2020-04-27T18:12:26Z",
"FirstRecurrenceDate": "",
"DueDate": "2022-03-29T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1177194
},
{
"Amount": 0,
"StatusDate": "2021-01-09T00:00:00Z",
"FirstRecurrenceDate": "",
"DueDate": "2021-01-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 1192739
},
{
"Amount": 0,
"StatusDate": "2017-12-23T00:00:00Z",
"FirstRecurrenceDate": "",
"DueDate": "2018-08-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 599433
},
{
"Amount": 0,
"StatusDate": "2019-05-23T00:00:00Z",
"FirstRecurrenceDate": "",
"DueDate": "2020-01-12T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": 599433
}
]
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Purchases ¶
Get project purchasesGET/project/{ProjectId}/purchases
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
PurchaseName
-
Description
-
PurchaseStatus.PurchaseStatusName
-
PurchaseStatus.PurchaseStatusId
-
PurchaseStatus.StatusDate
-
BudgetAccount.BudgetAccountName
-
BudgetAccount.BudgetAccountId
-
PurchaseType.PurchaseTypeName
-
PurchaseType.PurchaseTypeId
-
DueDate
-
Provider.ProviderId
-
Provider.ProviderName
-
InvoiceNo
-
ProjectId
-
ActualAmountDetail.ActualAmount
-
ActualAmountDetail.ActualAmountCurrencyId
-
ActualAmountDetail.ActualAmountExchangeRate
-
ActualAmountDetail.ActualAmountChangeApplied
-
ActualAmountDetail.ActualAmountBase
-
ActualAmountDetail.ActualAmountCurrencySymbol
-
ActualAmountDetail.ActualAmountCurrencyAlphabeticCode
-
ProjectedAmountDetail.ProjectedAmount
-
ProjectedAmountDetail.ProjectedAmountCurrencyId
-
ProjectedAmountDetail.ProjectedAmountExchangeRate
-
ProjectedAmountDetail.ProjectedAmountChangeApplied
-
ProjectedAmountDetail.ProjectedAmountBase
-
ProjectedAmountDetail.ProjectedAmountCurrencyAlphabeticCode
-
DependingOnTask.DependingOnTaskName
-
DependingOnTask.DependingOnTaskId
Example URI
- ProjectId
string
(required) Example: 2338
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"PurchaseId": 2338,
"AccountId": 1142,
"ProjectId": 331,
"PurchaseName": "ProjectPurchase",
"Description": "",
"PurchaseStatus": {
"PurchaseStatusName": "Not Approved",
"PurchaseStatusId": 7,
"PurchaseStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag--exclamation.png",
"StatusDate": "2017-03-21T00:00:00Z"
},
"BudgetAccount": {
"BudgetAccountName": " Account 1",
"BudgetAccountId": 461
},
"PurchaseType": {
"PurchaseTypeName": "Others",
"PurchaseTypeId": 3273,
"PurchaseTypeIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/question.png"
},
"DueDate": "2009-10-01T00:00:00Z",
"Provider": {
"ProviderId": 97,
"ProviderName": "Google"
},
"InvoiceNo": "123",
"DependingOnTask": {
"DependingOnTaskName": "2.0 Capacitacion Manejo",
"DependingOnTaskId": 20441
},
"ActualAmountDetail": {
"ActualAmount": 0,
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 1,
"ActualAmountChangeApplied": "2017-07-05T10:01:42.950Z",
"ActualAmountBase": 0,
"ActualAmountCurrencySymbol": "$",
"ActualAmountCurrencyAlphabeticCode": "USD"
},
"ProjectedAmountDetail": {
"ProjectedAmount": 110,
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 1,
"ProjectedAmountChangeApplied": "2017-07-05T10:01:42.950Z",
"ProjectedAmountBase": 110,
"ProjectedAmountCurrencySymbol": "$",
"ProjectedAmountCurrencyAlphabeticCode": "USD"
},
"IsDocumentAttached": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service purchases ¶
Get service purchasesGET/service/{ServiceId}/purchases
Retrieves service purchases.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
PurchaseName
-
Description
-
PurchaseStatus.PurchaseStatusName
-
PurchaseStatus.PurchaseStatusId
-
PurchaseStatus.StatusDate
-
BudgetAccount.BudgetAccountName
-
BudgetAccount.BudgetAccountId
-
PurchaseType.PurchaseTypeName
-
PurchaseType.PurchaseTypeId
-
DueDate
-
Provider.ProviderId
-
Provider.ProviderName
-
InvoiceNo
-
ServiceId:(int)
-
ActualAmountDetail.ActualAmount
-
ActualAmountDetail.ActualAmountCurrencyId
-
ActualAmountDetail.ActualAmountExchangeRate
-
ActualAmountDetail.ActualAmountChangeApplied
-
ActualAmountDetail.ActualAmountBase
-
ActualAmountDetail.ActualAmountCurrencySymbol
-
ActualAmountDetail.ActualAmountCurrencyAlphabeticCode
-
ProjectedAmountDetail.ProjectedAmount
-
ProjectedAmountDetail.ProjectedAmountCurrencyId
-
ProjectedAmountDetail.ProjectedAmountExchangeRate
-
ProjectedAmountDetail.ProjectedAmountChangeApplied
-
ProjectedAmountDetail.ProjectedAmountBase
-
ProjectedAmountDetail.ProjectedAmountCurrencyAlphabeticCode
-
DependingOnActivity.DependingOnActivityName
-
DependingOnActivity.DependingOnActivityId
Example URI
- ServiceId
string
(required) Example: 2338
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"PurchaseId": 2459,
"AccountId": 1142,
"ServiceId": 339,
"PurchaseName": "new purchase",
"Description": "",
"PurchaseStatus": {
"PurchaseStatusName": "Pending",
"PurchaseStatusId": 1,
"PurchaseStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag-yellow.png",
"StatusDate": "2017-06-19T00:00:00Z"
},
"BudgetAccount": {
"BudgetAccountName": "Test",
"BudgetAccountId": 315
},
"PurchaseType": {
"PurchaseTypeName": "Others",
"PurchaseTypeId": 3273,
"PurchaseTypeIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/question.png"
},
"DueDate": "2017-06-19T00:00:00Z",
"Provider": null,
"InvoiceNo": "",
"DependingOnActivity": null,
"ActualAmountDetail": {
"ActualAmount": 0,
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 1,
"ActualAmountChangeApplied": "2017-07-05T10:03:40.310Z",
"ActualAmountBase": 0,
"ActualAmountCurrencySymbol": "$",
"ActualAmountCurrencyAlphabeticCode": "USD"
},
"ProjectedAmountDetail": {
"ProjectedAmount": 0,
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 1,
"ProjectedAmountChangeApplied": "2017-07-05T10:03:40.310Z",
"ProjectedAmountBase": 0,
"ProjectedAmountCurrencySymbol": "$",
"ProjectedAmountCurrencyAlphabeticCode": "USD"
},
"IsDocumentAttached": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add Project Purchase v2 ¶
Add project purchase v2POST/projects/{ProjectId}/purchases
Adds single or recurring project purchase.
Example URI
- ProjectId
int
(required) Example: 55614
Headers
Content-Type: application/json
Token: [token]
Body
"For single purchase"
{
{
"Name": "Test",
"Description": "123",
"StatusId": 47131,
"StatusDate": "2021-12-31T00:00:00Z",
"TypeId": 29083,
"DueDate" : "2021-12-31T00:00:00Z",
"ProviderId": 5146,
"No": "T12",
"ProjectCostId": 60003,
"ActualAmount": 100.00,
"ActualAmountCurrencyId": 4145,
"ProjectedAmount": 100.00,
"ProjectedAmountCurrencyId": 4145,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"DependingOnTaskId": 0
}
}
"For recurring purchases"
{
{
"Name": "Test",
"Description": "description",
"StatusId": 1,
"StatusDate": "2021-12-31T00:00:00Z",
"TypeId": 0,
"ProviderId": 0,
"ProjectCostId": 235,
"ActualAmount": 100.00,
"ActualAmountCurrencyId": 1113,
"ProjectedAmount": 100.00,
"ProjectedAmountCurrencyId": 1113,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"DependingOnTaskId": 0,
"IsRecurrence": true,
"DueDateAfter": 1,
"FirstPurchaseDate": "2021-12-31T00:00:00Z",
"RepeatsOn": 2,
"RepeatsOnValue": 1,
"NumberOfRecurrences": 2
}
}
201
Headers
Content-Type: application/json
Body
{
{
"Id": 159665,
"StatusMessage": "Purchase inserted successfully",
"StatusCode": 201
}
{
"PurchaseId": [
"2935",
"2936"
],
"StatusMessage": "Purchase(s) inserted successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project 5561224 does not exist",
"StatusCode": 500
}
{
"Id": 0,
"StatusMessage": "Please enter purchase name.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid status date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter budget account id greater than 0.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter status id greater than 0.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid status id.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid provider id.<br/>",
"StatusCode": 400
}
{
"Id": 159665,
"StatusMessage": "Please enter valid depending task id.<br/>",
"StatusCode": 400
}
"For single purchase"
{
"Id": 0,
"StatusMessage": "Please enter valid status date.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid due date.<br/>",
"StatusCode": 400
}
"For recurring purchases"
{
"Id": 159665,
"StatusMessage": "Please enter First purchase date.<br/>",
"StatusCode": 400
}
{
"Id": 159665,
"StatusMessage": "Please enter Repeat type.<br/>",
"StatusCode": 400
}
{
"Id": 159665,
"StatusMessage": "Please enter Number of recurrences.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Purchase v2 ¶
Update a project purchase v2PATCH/projects/{ProjectId}/purchases/{PurchaseId}
Example URI
- ProjectId
int
(required) Example: 55614- PurchaseId
int
(required) Example: 159665
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"Name": "Test update",
"Description": "description",
"StatusId": 47132,
"StatusDate": "2021-12-31T00:00:00Z",
"TypeId": 29084,
"ProviderId": 5145,
"No": "T123",
"BudgetAccountId": 417,
"ActualAmount": 100.00,
"ActualAmountCurrencyId": 4145,
"ProjectedAmount": 100.00,
"ProjectedAmountCurrencyId": 4145,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"DependingOnTaskId": 0
}
}
200
Headers
Content-Type: application/json
Body
{
{
"Id": 159665,
"StatusMessage": "Purchase updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
500
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Purchase 159665 does not exist",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid status date.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter budget account id greater than 0.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid status id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid budget account id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid status id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid provider id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid status date.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid due date.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid projected amount currency id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid actual amount currency id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter valid depending task id.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter First purchase date.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter Repeat type.<br/>",
"StatusCode": 500
}
{
"Id": 159665,
"StatusMessage": "Please enter Number of recurrences.<br/>",
"StatusCode": 500
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a project purchaseDELETE/projects/{ProjectId}/purchases/{PurchaseId}
Example URI
- ProjectId
int
(required) Example: 55614- PurchaseId
int
(required) Example: 159665
200
Headers
Content-Type: application/json
Body
[
{
"Id": 159665,
"StatusMessage": "Purchase deleted successfully",
"StatusCode": 200
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Purchase ids doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a project purchase v2POST/projects/{ProjectId}/purchases/{PurchaseId}
Example URI
- ProjectId
int
(required) Example: 55614- PurchaseId
int
(required) Example: 159662
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"Id": 159662,
"AccountId": 4019,
"ProjectId": 55614,
"Name": "Test 123",
"Description": "testse",
"StatusName": "Planificado",
"StatusId": 47131,
"StatusDate": "2022-01-02T00:00:00Z",
"ProjectCostId": 60003,
"BudgetAccountName": "Teste",
"TypeId": 29087,
"TypeName": "Goods",
"ProviderName": "Manpower Inc.",
"ProviderId": 5146,
"No": "test12",
"ActualAmount": {
"Amount": 0.000000000000,
"CurrencyId": 4145,
"ExchangeRate": 1.000000,
"AppliedDate": "2022-01-02T15:20:31Z",
"BaseAmount": 0.000000
},
"ProjectedAmount": {
"Amount": 200.000000000000,
"CurrencyId": 4145,
"ExchangeRate": 1.000000,
"AppliedDate": "2022-01-02T09:50:04Z",
"BaseAmount": 200.000000
},
"IsConsiderAsActualValue": false,
"DependingOnTaskName": "",
"DependingOnTaskPercentCompleted": 0.0,
"IsDependUponTaskStartDate": false,
"TaskDateGap": 0,
"TaskDue": "",
"TaskStart": "",
"DueDate": "2022-01-02T00:00:00Z",
"DependingOnTaskId": null
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Bulk Update ¶
Bulk update purchasesPATCH/Projects/{ProjectId}/Purchases
Example URI
- ProjectId
int
(required) Example: 55614
Headers
Content-Type: application/json
Token: [token]
Body
{
"PurchaseIds": "159662,159668",
"StatusId": "47134"
}
200
Headers
Content-Type: application/json
Body
[
{
"StatusCode": 200
}
]
500
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Purchase 159662 does not exist",
"StatusCode": 500
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Bulk Delete ¶
Bulk delete purchasesDELETE/Projects/{ProjectId}/BulkDeletePurchases
Example URI
- ProjectId
int
(required) Example: 55614
Headers
Content-Type: application/json
Token: [token]
Body
{
"PurchaseIds": "159662,159668",
"StatusId": "47134"
}
200
Headers
Content-Type: application/json
Body
[
{
"Id": 159662,
"StatusMessage": "Purchase deleted successfully",
"StatusCode": 200
}
]
400
Headers
Content-Type: application/json
Body
[
{
"Id": 0,
"StatusMessage": "Project doesn't exist.",
"StatusCode": 400
}
]
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Purchases ¶
Get Task PurchasesGET/Projects/{ProjectId}/TaskPurchases/{TaskId}
Example URI
- ProjectId
int
(required) Example: 55614- TaskId
int
(required) Example: 121620
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 2852,
"Amount": 0,
"AccountId": 0,
"ProjectId": 0,
"LanguageId": 0,
"Name": "",
"Description": "",
"StatusName": "",
"StatusId": 0,
"StatusDate": "",
"ProjectCostId": 0,
"BudgetAccountName": "",
"TypeId": 0,
"TypeName": "",
"ProviderName": "",
"No": "",
"ActualAmount": {
"Amount": 0,
"CurrencyId": 0,
"ExchangeRate": 0,
"AppliedDate": "",
"BaseAmount": 0
},
"ProjectedAmount": {
"Amount": 0,
"CurrencyId": 0,
"ExchangeRate": 0,
"AppliedDate": "",
"BaseAmount": 250
},
"IsConsiderAsActualValue": false,
"IsFromTaskPurchases": false,
"IsDependOnTask": false,
"DependingOnTaskName": "",
"DependingOnTaskPercentCompleted": 0,
"IsDependUponTaskStartDate": false,
"TaskDateGap": 0,
"UserId": 0,
"TaskDue": "",
"TaskStart": "",
"BaselineDueDate": "",
"BaselineBlendedProjectedAmount": 0,
"BaselineBlendedDate": "",
"BaselineProjectedAmount": 0,
"IsDocumentAttached": false,
"AllCustomFields": {},
"FirstRecurrenceDate": "",
"DueDate": "",
"DependOnTaskDate": "",
"IsTaskAssociated": false
},
{
"Id": 71758,
"Amount": 0,
"AccountId": 0,
"ProjectId": 0,
"LanguageId": 0,
"Name": "",
"Description": "",
"StatusName": "",
"StatusId": 0,
"StatusDate": "",
"ProjectCostId": 0,
"BudgetAccountName": "",
"TypeId": 0,
"TypeName": "",
"ProviderName": "",
"No": "",
"ActualAmount": {
"Amount": 0,
"CurrencyId": 0,
"ExchangeRate": 0,
"AppliedDate": "",
"BaseAmount": 0
},
"ProjectedAmount": {
"Amount": 0,
"CurrencyId": 0,
"ExchangeRate": 0,
"AppliedDate": "",
"BaseAmount": 0
},
"IsConsiderAsActualValue": false,
"IsFromTaskPurchases": false,
"IsDependOnTask": false,
"DependingOnTaskName": "",
"DependingOnTaskPercentCompleted": 0,
"IsDependUponTaskStartDate": false,
"TaskDateGap": 0,
"UserId": 0,
"TaskDue": "",
"TaskStart": "",
"BaselineDueDate": "",
"BaselineBlendedProjectedAmount": 0,
"BaselineBlendedDate": "",
"BaselineProjectedAmount": 0,
"IsDocumentAttached": false,
"AllCustomFields": {},
"FirstRecurrenceDate": "",
"DueDate": "",
"DependOnTaskDate": "",
"IsTaskAssociated": false
}
]
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service purchase ¶
Add service purchasePOST/service/{ServiceId}/purchase/
Adds single or recurring service purchase. Please note that you should use different syntaxes for single and recurring purchases.
Example URI
- ServiceId
int
(required) Example: 339
Headers
Content-Type: application/json
Token: [token]
Body
"For single purchase"
{
{
"PurchaseName":"NEwTest",
"Description":"123",
"PurchaseStatusId":1,
"StatusDate": "2017-07-05T00:00:00Z",
"PurchaseTypeId":0,
"DueDate" :"2017-07-05T00:00:00Z",
"ProviderId":0,
"InvoiceNo":"",
"BudgetAccountId":235,
"ActualAmount":100.00,
"ActualAmountCurrencyId":1113,
"ProjectedAmount":100.00,
"ProjectedAmountCurrencyId":1113,
"ActivityDateGap":0,
"IsDependUponActivityStartDate":false,
"DependingOnActivityId":0
}
}
"For recurring purchases"
{
{
"PurchaseName":"NEwTest",
"Description":"description",
"PurchaseStatusId":1,
"StatusDate": "2017-07-05T00:00:00Z",
"PurchaseTypeId":0,
"ProviderId":0,
"InvoiceNo":"",
"BudgetAccountId":235,
"ActualAmount":100.00,
"ActualAmountCurrencyId":1113,
"ProjectedAmount":100.00,
"ProjectedAmountCurrencyId":1113,
"ActivityDateGap":0,
"IsDependUponActivityStartDate":false,
"DependingOnActivityId":0,
"IsRecurrence":true,
"DueDateAfter":1,
"FirstPurchaseDate":"2017-07-05T00:00:00Z",
"RepeatsOn":2,
"RepeatsOnValue":1,
"NumberOfRecurrences":2
}
}
201
Headers
Content-Type: application/json
Body
{
{
"PurchaseId":1234,
"StatusMessage": "Purchase inserted successfully",
"StatusCode": 201
}
{
"PurchaseId": [
"2935",
"2936"
],
"StatusMessage": "Purchase(s) inserted successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase name",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase status date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter budget account id greater than 0",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase status id greater than 0",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid budget account id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase status id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid provider id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase type id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid actual amount",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid projected amount",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid projected amount currency id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid actual amount currency id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid depending on task id",
"StatusCode": 400
}
"For single purchase"
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase status date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid due date",
"StatusCode": 400
}
"For recurring purchases"
{
"PurchaseId":null,
"StatusMessage": "Please enter First purchase date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter Repeat type",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter Number of recurrences",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service purchasePUT/service/{ServiceId}/purchase/{PurchaseId}
Example URI
- ServiceId
int
(required) Example: 339- PurchaseId
int
(required) Example: 345
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"PurchaseName":"NEwTest update",
"Description":"description",
"PurchaseStatusId":1,
"StatusDate": "2017-07-05T00:00:00Z",
"PurchaseTypeId":0,
"ProviderId":0,
"InvoiceNo":"",
"BudgetAccountId":417,
"ActualAmount":100.00,
"ActualAmountCurrencyId":1113,
"ProjectedAmount":100.00,
"ProjectedAmountCurrencyId":1113,
"ActivityDateGap":0,
"IsDependUponActivityStartDate":false,
"DependingOnActivityId":0
}
}
201
Headers
Content-Type: application/json
Body
{
{
"PurchaseId":345,
"StatusMessage": "Purchase updated successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase name",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase status date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter budget account id greater than 0",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter purchase status id greater than 0",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid budget account id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase status id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid provider id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase type id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid purchase status date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid due date",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid actual amount",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid projected amount",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid projected amount currency id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid actual amount currency id",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Please enter valid depending on task id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a service purchaseGET/service/{ServiceId}/purchase/{PurchaseId}
Example URI
- ServiceId
int
(required) Example: 339- PurchaseId
int
(required) Example: 2939
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"PurchaseId": 2939,
"PurchaseName": "NEwTest",
"Description": "description",
"PurchaseStatusName": "Pending",
"PurchaseStatusId": 1,
"StatusDate": "2017-07-05T00:00:00Z",
"BudgetAccountName": "Test",
"PurchaseTypeName": null,
"PurchaseTypeId": 0,
"DueDate": "2017-07-06T00:00:00Z",
"ProviderName": null,
"ProviderId": 0,
"InvoiceNo": "",
"AccountId": 1142,
"ServiceId": 339,
"BudgetAccountId": 315,
"ActualAmount": 100,
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 0,
"ActualAmountChangeApplied": "2017-07-05T17:35:46.190Z",
"ProjectedAmount": 100,
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 0,
"ProjectedAmountChangeApplied": "2017-07-05T17:35:46.190Z",
"PurchaseStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag-yellow.png",
"PurchaseTypeIcon": null,
"DependingOnActivityName": "",
"IsDocumentAttached": false,
"IsConsiderActualValue": false,
"DependingOnActivityId": 0,
"IsDependUponActivityStartDate": false,
"ActivityDateGap": 0,
"ActivityPath": null
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a service purchaseDELETE/service/{ServiceId}/purchase/{PurchaseId}
Example URI
- ServiceId
int
(required) Example: 331- PurchaseId
int
(required) Example: 2940
200
Headers
Content-Type: application/json
Body
{
{
"PurchaseId":null,
"StatusMessage": "Purchase deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"PurchaseId":null,
"StatusMessage": "Purchase ids doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get project purchases budgets ¶
Get project purchases budgetsGET/project/{ProjectId}/purchases/budgets
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectId": 331,
"BudgetAccount": {
"BudgetAccountName": "My Purchase Budget",
"BudgetAccountId": 235,
"BudgetAccountCurrencyId": 1113,
"BudgetAccountExcahngeRate": 1,
"BudgetAccountChangeApplied": "2017-04-17T10:16:14.293Z"
},
"Description": "Description",
"Estimated": 700,
"ProjectedAmount": 4036,
"ActualAmount": 17425,
"LastPECValues": 0,
"CurrencyDetail": {
"CurrencySymbol": "$",
"CurrencyAlphabeticCode": "USD",
"CurrencySymbolPEC": "$",
"CurrencyAlphabeticCodePEC": "USD"
},
"Percentage": 2489.2857,
"PercentagePEC": 0,
"Provider": null
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project purchases budget ¶
Delete a project purchases budgetDELETE/project/{ProjectId}/purchases/budget/{BudgetAccountId}
Example URI
- ProjectId
int
(required) Example: 331- BudgetAccountId
int
(required) Example: 431
200
Headers
Content-Type: application/json
Body
{
{
"BudgetAccountId": 431,
"StatusMessage": "Record deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Cannot delete reference, already in use",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Budget account detailsdoesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a project purchases budgetGET/project/{ProjectId}/purchases/budget/{BudgetAccountId}
Example URI
- ProjectId
int
(required) Example: 331- BudgetAccountId
int
(required) Example: 235
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"ProjectId": 331,
"BudgetAccountId": 235,
"BudgetAccountName": "My Purchase Budget",
"BudgetAccountCurrencyId": 1113,
"BudgetAccountExcahngeRate": 1,
"BudgetAccountChangeApplied": "2017-04-17T10:16:14.293Z",
"Description": "Description",
"Estimated": 700,
"ProjectedAmount": 0,
"ActualAmount": 0,
"LastPECValues": 0,
"ProviderId": 0,
"ProviderName": ""
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project purchases budgetPOST/project/{ProjectId}/purchases/budget/
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"BudgetAccountName":"New Account",
"Description":"",
"Estimated":300,
"BudgetAccountCurrencyId":1113
}
}
201
Headers
Content-Type: application/json
Body
{
"BudgetAccountId": 321,
"StatusMessage": "Project purchase budget account inserted successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter budget account name",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid estimated amount",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid currency id",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Record already exists",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project purchases budgetPUT/project/{ProjectId}/purchases/budget/{BudgetAccountId}
Example URI
- ProjectId
int
(required) Example: 331- BudgetAccountId
int
(required) Example: 321
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"BudgetAccountName":"New Account update",
"Description":"",
"Estimated":300,
"BudgetAccountCurrencyId":1113
}
201
Headers
Content-Type: application/json
Body
{
"BudgetAccountId": 321,
"StatusMessage": "Project purchase budget account updated successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Budget account detailsdoesn't exist",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter budget account name",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid estimated amount",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid currency id",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Record already exists",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service purchases budgets ¶
Get service purchases budgetsGET/service/{ServiceId}/purchases/budgets
Example URI
- ServiceId
int
(required) Example: 339
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceId": 339,
"BudgetAccount": {
"BudgetAccountName": "Test",
"BudgetAccountId": 315,
"BudgetAccountCurrencyId": 1176,
"BudgetAccountExcahngeRate": 0.08,
"BudgetAccountChangeApplied": "2017-07-05T10:03:42.550Z"
},
"Description": "",
"Estimated": 5500,
"ProjectedAmount": 99,
"ActualAmount": 0,
"LastPECValues": 0,
"CurrencyDetail": {
"CurrencySymbol": "$",
"CurrencyAlphabeticCode": "LRD",
"CurrencySymbolPEC": "$",
"CurrencyAlphabeticCodePEC": "LRD"
},
"Percentage": 0,
"PercentagePEC": 0,
"Provider": null
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service purchase budget ¶
Delete a service purchase budgetDELETE/service/{ServiceId}/purchases/budget/{BudgetAccountId}
Example URI
- ServiceId
int
(required) Example: 339- BudgetAccountId
int
(required) Example: 431
200
Headers
Content-Type: application/json
Body
{
{
"BudgetAccountId": 431,
"StatusMessage": "Record deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 431,
"StatusMessage": "Cannot delete reference, already in use",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Budget account details doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a service purchases budgetGET/service/{ServiceId}/purchases/budget/{BudgetAccountId}
Example URI
- ServiceId
int
(required) Example: 331- BudgetAccountId
int
(required) Example: 315
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"ServiceId": 339,
"BudgetAccountId": 315,
"BudgetAccountName": "Test",
"BudgetAccountCurrencyId": 1176,
"BudgetAccountExcahngeRate": 0.08,
"BudgetAccountChangeApplied": "2017-07-05T10:03:42.550Z",
"Description": "",
"Estimated": 68750,
"ProjectedAmount": 0,
"ActualAmount": 0,
"LastPECValues": 0,
"ProviderId": 0,
"ProviderName": ""
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a service purchases budgetPOST/service/{ServiceId}/purchases/budget/
Example URI
- ServiceId
int
(required) Example: 339
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"BudgetAccountName":"New Account",
"Description":"",
"Estimated":300,
"BudgetAccountCurrencyId":1113
}
}
201
Headers
Content-Type: application/json
Body
{
"BudgetAccountId": 557,
"StatusMessage": "Service purchase budget account inserted successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter budget account name",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid estimated amount",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid currency id",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Record already exists",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service purchases budgetPUT/service/{ServiceId}/purchases/budget/{BudgetAccountId}
Example URI
- ServiceId
int
(required) Example: 339- BudgetAccountId
int
(required) Example: 557
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"BudgetAccountName":"New Account update",
"Description":"",
"Estimated":300,
"BudgetAccountCurrencyId":1113
}
}
201
Headers
Content-Type: application/json
Body
{
"BudgetAccountId": 557,
"StatusMessage": "Service purchase budget account updated successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Budget account details doesn't exist",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter budget account name",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid estimated amount",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Please enter valid currency id",
"StatusCode": 400
}
{
"BudgetAccountId": 0,
"StatusMessage": "Record already exists",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Revenues ¶
Get Revenues ¶
Get RevenuesPOST/revenues/search
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 1709,
"pagerid": "8dca3d53-076b-4652-abfc-52e3ffad2063",
"page": 1,
"pageSize": 10,
"list": [
{
"Id": 24447,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2026-08-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 24448,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2026-09-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 24449,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2026-10-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 24450,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2026-11-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 24451,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2026-12-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 24452,
"Name": "Test Prj Revenue",
"StatusDate": "2019-11-07T09:47:51Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "",
"AllCustomFields": {
"ryg": null,
"test no": 0,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2027-01-25T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 29498,
"Name": "Revenue 1",
"StatusDate": "2021-04-27T00:00:00Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "Task 1",
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2021-02-10T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 29499,
"Name": "Revenue 1",
"StatusDate": "2021-04-27T00:00:00Z",
"ProjectedAmount": {
"BaseAmount": 0
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "Task 5",
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": [],
"Hello World": []
},
"FirstRecurrenceDate": "",
"DueDate": "2021-04-27T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 29566,
"Name": "Revenue 2",
"StatusDate": "2021-12-15T00:00:00Z",
"ProjectedAmount": {
"BaseAmount": 500
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "Revenue Task",
"AllCustomFields": {
"ryg": {
"Text": "2",
"Color": "Yellow"
},
"test no": 123,
"te01": [
{
"Id": 4156,
"Value": "te"
}
],
"Hello World": [
{
"Id": 4159,
"Value": "Hello"
},
{
"Id": 4165,
"Value": "dfgdfsd"
}
]
},
"FirstRecurrenceDate": "",
"DueDate": "2021-12-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
},
{
"Id": 29639,
"Name": "revenue 1 (changed) 1",
"StatusDate": "2021-12-16T00:00:00Z",
"ProjectedAmount": {
"BaseAmount": 40
},
"ActualAmount": {
"BaseAmount": 0
},
"DependingOnTaskName": "Task 13 - task type (v2)",
"AllCustomFields": {
"ryg": {
"Text": "2",
"Color": "Yellow"
},
"test no": 2342,
"te01": [
{
"Id": 6845,
"Value": "te 1"
}
],
"Hello World": [
{
"Id": 4162,
"Value": "fgbfkgbdfgbfdgkjdfgd"
}
]
},
"FirstRecurrenceDate": "",
"DueDate": "2022-07-04T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false,
"DependingOnTaskId": null
}
]
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project revenues v2 ¶
Get project revenues v2GET/Projects/{ProjectId}/Revenues
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 19,
"pagerid": "33c9207d-179a-4a9c-9723-90c69ca10a3d",
"page": 1,
"pageSize": 50,
"list": [
{
"Id": 29501,
"No": "",
"Name": "testse",
"Description": "",
"DueDate": "2021-05-06T00:00:00Z",
"FirstRevenueDate": "",
"RepeatsOnId": 0,
"RepeatsOnValue": 0,
"StatusId": 47131,
"StatusName": "Planned",
"StatusDate": "2021-05-06T00:00:00Z",
"IsConsiderActualValue": false,
"ProjectedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-06T04:04:28Z"
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-06T09:35:25Z"
},
"IsDependOnTask": false,
"DependingOnTaskId": 0,
"DependingOnTaskName": "",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"IsRevenueTaskAssociated": false,
"DependOnTaskDate": "",
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": null,
"Hello World": null
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "",
"BaselineBlendedProjectedAmount": 0,
"BaselineBlendedDate": "",
"BaselineProjectedAmount": 0
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Bulk Update RevenuesPATCH/Projects/{ProjectId}/Revenues
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"RevenueIds": "29514,29515",
"StatusId": "47133"
}
200
Headers
Content-Type: application/json
Body
{
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Bulk Delete RevenuesDELETE/Projects/{ProjectId}/Revenues
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"RevenueIds": "29514,29515",
"StatusId": "47133"
}
200
Headers
Content-Type: application/json
Body
{
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add project revenue v2POST/Projects/{ProjectId}/Revenues
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
"For single revenue"
{
"Name": "Test 1",
"StatusId": 22,
"ProjectedAmount": 100,
"ActualAmount": 0,
"Description": "",
"StatusDate": "2017-03-14T00:00:00Z",
"DueDate": "2017-03-14T00:00:00Z",
"TaskDateGap": 0,
"IsDependOnTask": false,
"DependOnTaskDate": "",
"No": "",
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountChangeApplied": "2017-03-14T00:00:00Z",
"ActualAmountCurrencyId": 1113,
"ActualAmountChangeApplied": "2017-03-14T00:00:00Z",
"IsDependUponTaskStartDate": true,
"IsConsiderActualValue": false,
"DependingOnTaskId": 0
}
"For recurring revenue"
{
"Name": "Recurring revenue",
"Description": "description",
"StatusId": 22,
"StatusDate": "2017-07-05T00:00:00Z",,
"No": "1234",
"ActualAmount": 100,
"ActualAmountCurrencyId": 1113,
"ActualAmountChangeApplied": "2017-07-05T08:43:23.076Z",
"ProjectedAmount": 100,
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountChangeApplied": "2017-07-05T08:43:23.076Z",
"DependingOnTaskId": 0,
"IsRecurrence": true,
"DueDateAfter": 1,
"FirstRevenueDate": "2017-07-05T00:00:00Z",
"RepeatsOn": 2,
"NumberOfRecurrences": 2
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
"RevenueId": 29544,
"StatusMessage": "Revenue inserted successfully",
"StatusCode": 201
}
{
"RevenueId": [
"29545","29546"
],
"StatusMessage": "Revenue(s) inserted successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Project 43407 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter revenue name.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid due date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter status id greater than 0.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid projected amount currency id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid total amount currency id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid depending task id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter First revenue date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter Repeat type.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter Number of recurrences.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Revenue Search ¶
Get Project RevenuesPOST/Projects/{ProjectId}/Revenues/Search
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 16,
"pagerid": "368ec2cf-acdf-4353-9ad2-ff75a71e39e5",
"page": 1,
"pageSize": 5,
"list": [
{
"Id": 24986,
"No": "",
"Name": "Rr1",
"Description": "",
"RepeatsOnId": 0,
"StatusId": 47131,
"StatusName": "Planned",
"StatusIcon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-insert.png",
"StatusDate": "2019-12-12T00:00:00Z",
"ProjectedAmount": {
"Amount": 100,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2019-11-11T04:45:20Z",
"BaseAmount": 0
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2019-11-11T04:45:20Z",
"BaseAmount": 0
},
"IsDependOnTask": false,
"DependingOnTaskName": "Task 1",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": [],
"Hello World": []
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "2020-06-14T00:00:00Z",
"BaselineBlendedProjectedAmount": 0,
"BaselineBlendedDate": "2020-06-14T00:00:00Z",
"BaselineProjectedAmount": 0,
"FirstRecurrenceDate": "",
"DueDate": "2020-06-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false
},
{
"Id": 29493,
"No": "",
"Name": "Revenuw 3",
"Description": "",
"RepeatsOnId": 0,
"StatusId": 47131,
"StatusName": "Planned",
"StatusIcon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-insert.png",
"StatusDate": "2021-04-21T00:00:00Z",
"ProjectedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-04-21T18:28:46Z",
"BaseAmount": 0
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-04-21T18:28:46Z",
"BaseAmount": 0
},
"IsDependOnTask": false,
"DependingOnTaskName": "Task 1",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": [],
"Hello World": []
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "2020-05-14T00:00:00Z",
"BaselineBlendedProjectedAmount": 0,
"BaselineBlendedDate": "2020-05-14T00:00:00Z",
"BaselineProjectedAmount": 0,
"FirstRecurrenceDate": "",
"DueDate": "2020-05-14T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false
},
{
"Id": 24985,
"No": "",
"Name": "Rr1",
"Description": "",
"RepeatsOnId": 0,
"StatusId": 47131,
"StatusName": "Planned",
"StatusIcon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-insert.png",
"StatusDate": "2019-11-12T00:00:00Z",
"ProjectedAmount": {
"Amount": 630,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-05-14T23:54:04Z",
"BaseAmount": 630
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-04-21T18:26:58Z",
"BaseAmount": 0
},
"IsDependOnTask": false,
"DependingOnTaskName": "Task 2",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"AllCustomFields": {
"ryg": null,
"test no": null,
"te01": [],
"Hello World": []
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "2019-07-08T00:00:00Z",
"BaselineBlendedProjectedAmount": 630,
"BaselineBlendedDate": "2019-07-08T00:00:00Z",
"BaselineProjectedAmount": 630,
"FirstRecurrenceDate": "",
"DueDate": "2019-07-08T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false
},
{
"Id": 29495,
"No": "Revenue No. 1",
"Name": "Test Darshi Revenue",
"Description": "",
"RepeatsOnId": 0,
"StatusId": 47132,
"StatusName": "Billed",
"StatusIcon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--pencil.png",
"StatusDate": "2021-04-27T00:00:00Z",
"ProjectedAmount": {
"Amount": 50,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-06T13:33:14Z",
"BaseAmount": 50
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-07T10:37:48Z",
"BaseAmount": 0
},
"IsDependOnTask": false,
"DependingOnTaskName": "",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"AllCustomFields": {
"ryg": {
"Text": "1",
"Color": "Red"
},
"test no": null,
"te01": [
{
"Id": 4156,
"Value": "te"
}
],
"Hello World": [
{
"Id": 4162,
"Value": "fgbfkgbdfgbfdgkjdfgd"
}
]
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "2021-04-27T00:00:00Z",
"BaselineBlendedProjectedAmount": 50,
"BaselineBlendedDate": "2021-04-27T00:00:00Z",
"BaselineProjectedAmount": 50,
"FirstRecurrenceDate": "",
"DueDate": "2021-04-27T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false
},
{
"Id": 29507,
"No": "",
"Name": "test recurring",
"Description": "",
"RepeatsOnId": 0,
"StatusId": 47132,
"StatusName": "Billed",
"StatusIcon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--pencil.png",
"StatusDate": "2021-05-07T00:00:00Z",
"ProjectedAmount": {
"Amount": 500,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-07T17:28:10Z",
"BaseAmount": 500
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-07T17:28:41Z",
"BaseAmount": 0
},
"IsDependOnTask": false,
"DependingOnTaskName": "",
"IsStartDate": false,
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"AllCustomFields": {
"ryg": {
"Text": "1",
"Color": "Red"
},
"test no": 5564,
"te01": [
{
"Id": 6848,
"Value": "te 2"
}
],
"Hello World": [
{
"Id": 4162,
"Value": "fgbfkgbdfgbfdgkjdfgd"
}
]
},
"IsConsiderAsActualValue": false,
"IsDocumentAttached": false,
"BaselineDueDate": "2021-05-19T00:00:00Z",
"BaselineBlendedProjectedAmount": 500,
"BaselineBlendedDate": "2021-05-19T00:00:00Z",
"BaselineProjectedAmount": 500,
"FirstRecurrenceDate": "",
"DueDate": "2021-05-19T00:00:00Z",
"DependOnTaskDate": "",
"IsTaskAssociated": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project revenue v2 ¶
Delete a project revenue v2DELETE/Projects/{ProjectId}/Revenues/{RevenueId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueId
int
(required) Example: 29501
200
Headers
Content-Type: application/json
Body
{
"Id": 29501,
"StatusMessage": "Revenue deleted successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 29501,
"StatusMessage": "Project 43407 does not exist",
"StatusCode": 400
}
{
"RevenueId": 29501,
"StatusMessage": "Revenue 29501 does not exist",
"StatusCode": 400
}
{
"RevenueId": 29501,
"StatusMessage": "Account 4019 does not exist",
"StatusCode":400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a project revenue v2GET/Projects/{ProjectId}/Revenues/{RevenueId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueId
int
(required) Example: 29514
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 29514,
"No": "",
"Name": "test21052021",
"Description": "sdgsdgsdgsd",
"DueDate": "2021-05-21T00:00:00Z",
"StatusId": 47131,
"StatusDate": "2021-05-21T00:00:00Z",
"ProjectedAmount": {
"Amount": 100,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-21T05:50:17Z"
},
"ActualAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-05-21T11:20:56Z"
},
"DependingOnTaskId": 0,
"DependingOnTaskName": "",
"TaskDateGap": 0,
"IsDependUponTaskStartDate": false,
"Period": null
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project revenue v2PATCH/Projects/{ProjectId}/Revenues/{RevenueId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueId
int
(required) Example: 29515
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Test Update",
"StatusId": 22,
"ProjectedAmount": 100,
"ActualAmount": 0,
"Description": "",
"StatusDate": "2017-03-14T00:00:00Z",
"DueDate": "2017-03-14T00:00:00Z",
"TaskDateGap": 0,
"IsDependOnTask": false,
"IsStartDate": "",
"No": "",
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountChangeApplied": "2017-03-14T00:00:00Z",
"ActualAmountCurrencyId": 1113,
"ActualAmountChangeApplied": "2017-03-14T00:00:00Z",
"IsDependUponTaskStartDate": true,
"IsConsiderActualValue": false,
"DependingOnTaskId": 0
}
200
Headers
Content-Type: application/json
Body
{
"RevenueId": 29515,
"StatusMessage": "Revenue updated successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Revenue 29515 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Project 43407 does not exist",
"StatusCode": 400
}
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Project 43407 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter revenue name.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid due date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter status id greater than 0.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid projected amount currency id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid total amount currency id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid depending task id.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter First revenue date.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter Repeat type.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter Number of recurrences.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Associated Tasks With Revenue ¶
Get Associated Tasks With RevenueGET/Projects/{ProjectId}/Revenues/{RevenueId}/Periods/{MonthPeriod}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueId
int
(required) Example: 29493- MonthPeriod
int
(required) Example: 202005
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 1031678,
"Name": "Task 1",
"Price": 2000,
"Status": null,
"IsSelected": false,
"IsAlreadyAssociated": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service revenues ¶
Get service revenuesGET/service/{ServiceId}/revenues
Retrieves a list of all revenues of a particular service, including their details.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
RevenueId
-
RevenueName
-
RevenueStatus.RevenueStatusName
-
RevenueStatus.RevenueStatusId
-
RevenueStatus.StatusDate
-
ProjectedAmountDetail.ProjectedAmount
-
ProjectedAmountDetail.ProjectedAmountCurrencyId
-
ProjectedAmountDetail.ProjectedAmountExchangeRate
-
ProjectedAmountDetail.ProjectedAmountChangeApplied
-
ProjectedAmountDetail.ProjectedAmountCurrencySymbol
-
ProjectedAmountDetail.ProjectedAmountCurrencyAlphabeticCode
-
ActualAmountDetail.ActualAmount
-
ActualAmountDetail.ActualAmountCurrencyId
-
ActualAmountDetail.ActualAmountExchangeRate
-
ActualAmountDetail.ActualAmountChangeApplied
-
ActualAmountDetail.ActualAmountCurrencySymbol
-
ActualAmountDetail.ActualAmountCurrencyAlphabeticCode
-
Description
-
DueDate
-
DependingOnActivity.DependingOnActivityId
-
DependingOnActivity.DependingOnActivityName
-
ActivityDateGap
-
IsDependOnActivity
-
IsStartDate
-
RevenueNo
-
IsDocumentAttached
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceId": 542,
"RevenueId": 2947,
"RevenueName": "test revenue",
"RevenueStatus": {
"RevenueStatusName": "Busy",
"RevenueStatusId": 13,
"RevenueStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/pencil--arrow.png",
"StatusDate": "2017-07-25T00:00:00Z"
},
"Description": "revenue description",
"DueDate": "2017-07-25T00:00:00Z",
"DependingOnActivity": {
"DependingOnActivityName": "test activity",
"DependingOnActivityId": 175313
},
"ActivityDateGap": 0,
"IsDependOnActivity": true,
"IsStartDate": false,
"RevenueNo": "rev123",
"ActualAmountDetail": {
"ActualAmount": 0,
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 1,
"ActualAmountChangeApplied": "2017-09-07T11:44:09Z",
"ActualAmountCurrencySymbol": "$",
"ActualAmountCurrencyAlphabeticCode": "USD"
},
"ProjectedAmountDetail": {
"ProjectedAmount": 123,
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 1,
"ProjectedAmountChangeApplied": "2017-09-07T11:44:09Z",
"ProjectedAmountCurrencySymbol": "$",
"ProjectedAmountCurrencyAlphabeticCode": "USD"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid field name",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service revenue status ¶
Get service revenue statusGET/service/{ServiceId}/revenuestatuses
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"RevenueStatusName": "Available",
"RevenueStatusBaseId": 22,
"IsConsiderAsActualValue": false,
"IconPath": "~/UploadData/Iconlibrary/plus.png",
"IsDefault": true
},
{
"RevenueStatusName": "Away",
"RevenueStatusBaseId": 16,
"IsConsiderAsActualValue": false,
"IconPath": "~/UploadData/Iconlibrary/application--plus.png",
"IsDefault": false
},
{
"RevenueStatusName": "Busy",
"RevenueStatusBaseId": 13,
"IsConsiderAsActualValue": false,
"IconPath": "~/UploadData/Iconlibrary/pencil--arrow.png",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service revenue ¶
Delete a service revenueDELETE/service/{ServiceId}/revenue/{RevenueId}
Example URI
- ServiceId
int
(required) Example: 542- RevenueId
int
(required) Example: 2951
200
Headers
Content-Type: application/json
Body
{
"RevenueId": null,
"StatusMessage": "Revenue deleted successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Revenue id/s doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a service revenueGET/service/{ServiceId}/revenue/{RevenueId}
Example URI
- ServiceId
int
(required) Example: 542- RevenueId
int
(required) Example: 2947
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ServiceId": 542,
"RevenueId": 2947,
"RevenueName": "test revenue",
"RevenueStatusName": "Busy",
"RevenueStatusId": 13,
"RevenueStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/pencil--arrow.png",
"StatusDate": "2017-07-25T00:00:00Z",
"ProjectedAmount": 123,
"ActualAmount": 0,
"Description": "test re",
"DueDate": "2017-07-25T00:00:00Z",
"DependingOnActivityName": "test activity",
"DependingOnActivityId": 175313,
"ActivityDateGap": 0,
"IsDependOnActivity": false,
"IsStartDate": false,
"RevenueNo": "rev123",
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 1,
"ProjectedAmountChangeApplied": "2017-09-07T11:44:09Z",
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 1,
"ActualAmountChangeApplied": "2017-09-07T11:44:09Z",
"IsConsiderActualValue": false,
"IsDependUponActivityStartDate": true,
"ActivityPath": "test activity"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a service revenuePOST/service/{ServiceId}/revenue/
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
Body
"For single revenue"
{
"RevenueName":"Revenue Insert",
"RevenueStatusId":13,
"ProjectedAmount":100,
"ActualAmount":0,
"Description":"",
"StatusDate":"2017-03-14T00:00:00Z",
"DueDate":"2017-03-14T00:00:00Z",
"ActivityDateGap":0,
"IsDependOnActivity":false,
"IsStartDate":"",
"RevenueNo":"",
"ProjectedAmountCurrencyId":1113,
"ProjectedAmountExchangeRate":1,
"ProjectedAmountChangeApplied":"2017-03-14T00:00:00Z",
"ActualAmountCurrencyId":1113,
"ActualAmountExchangeRate":1,
"ActualAmountChangeApplied":"2017-03-14T00:00:00Z",
"IsDependUponTaskStartDate":true,
"IsConsiderActualValue":false,
"DependingOnActivityId" :0
}
"For recurring revenue"
{
"RevenueName":"Recurring revenue",
"Description":"description",
"RevenueStatusId":22,
"StatusDate": "2017-07-05T00:00:00Z",,
"RevenueNo":"1234",
"ActualAmount":100,
"ActualAmountCurrencyId":1113,
"ProjectedAmountExchangeRate":1,
"ActualAmountChangeApplied":"2017-07-05T08:43:23.076Z",
"ProjectedAmount":100,
"ProjectedAmountCurrencyId":1113,
"ProjectedAmountExchangeRate":1,
"ProjectedAmountChangeApplied":"2017-07-05T08:43:23.076Z",
"DependingOnTaskId":0,
"IsRecurrence":true,
"DueDateAfter":1,
"FirstRevenueDate":"2017-07-05T00:00:00Z",
"RepeatsOn":2,
"RepeatsOnValue":1,
"NumberOfRecurrences":2
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"RevenueId":3014,
"StatusMessage": "Revenue inserted successfully",
"StatusCode": 201
}
}
{
{
"RevenueId": [
"3015",
"3016"
],
"StatusMessage": "Revenue(s) inserted successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter revenue name",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter status date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid due date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid Projected amount",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid actual amount",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid projected amount currency id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid total amount currency id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid depending activity id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service revenuePUT/service/{ServiceId}/revenue/{RevenueId}
Example URI
- ServiceId
int
(required) Example: 542- RevenueId
int
(required) Example: 3014
Headers
Content-Type: application/json
Token: [token]
Body
{
"RevenueName": "Update Revenue",
"RevenueStatusId": 13,
"ProjectedAmount": 100,
"ActualAmount": 0,
"Description": "",
"StatusDate": "2017-03-14T00:00:00Z",
"DueDate": "2017-03-14T00:00:00Z",
"ActivityDateGap": 0,
"IsDependOnActivity": false,
"IsStartDate": "",
"RevenueNo": "",
"ProjectedAmountCurrencyId": 1113,
"ProjectedAmountExchangeRate": 1,
"ProjectedAmountChangeApplied": "2017-03-14T00:00:00Z",
"ActualAmountCurrencyId": 1113,
"ActualAmountExchangeRate": 1,
"ActualAmountChangeApplied": "2017-03-14T00:00:00Z",
"IsDependUponTaskStartDate": true,
"IsConsiderActualValue": false,
"DependingOnActivityId": 0
}
201
Headers
Content-Type: application/json
Body
{
"RevenueId": 3014,
"StatusMessage": "Revenue updated successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid revenue id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter revenue name",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter status date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter status id greater than 0",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid status date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid due date",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid Projected amount",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid actual amount",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid projected amount currency id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid total amount currency id",
"StatusCode": 400
}
{
"RevenueId": 0,
"StatusMessage": "Please enter valid depending task id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Revenue Recognitions ¶
Revenue Recognition Summary ¶
Get Revenue Recognition SummaryGET/Projects/{ProjectId}/RevenueRecognitionSummary
Example URI
- ProjectId
int
(required) Example: 52306
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RevenueRecognitionModel": "PERCENTAGE",
"RevenueBudget": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T07:17:57Z",
"BaseAmount": 100000
},
"Accumulated": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 20000
},
"ActualValue": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 15000
},
"RevenueRecognitions": [
{
"RevenueRecognitionId": 1242,
"AccountId": 4019,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:45:51Z",
"BaseAmount": 5000
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:45:51Z",
"BaseAmount": 5000
},
"Status": "Actual",
"Period": {
"Id": 202004,
"Description": "April-20",
"StartDate": "2020-04-01T00:00:00Z",
"EndDate": "2020-04-30T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1,
"OriginalPercentage": 0.1,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:45:51Z",
"BaseAmount": 5000
},
"AccumulatedPercentage": 0.1,
"Model": "PERCENTAGE",
"Creator": {
"UserId": 47477,
"AccountId": 4019,
"EmailAddress": "dhruval.shah@tatvasoft.com",
"DisplayName": "Dhruval Shah",
"UserRoleId": 0,
"FirstName": "Dhruval",
"LastName": "Shah",
"Photo": "http://localhost/ITM.Web/uploaddata\\photo\\48by48_47477.jpg"
},
"CreatedDate": "2020-11-13T12:45:53Z",
"Date": "2020-11-13T00:00:00Z",
"Description": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.05
},
{
"RevenueRecognitionId": 1243,
"AccountId": 4019,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:47:35Z",
"BaseAmount": 5000
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:47:35Z",
"BaseAmount": 5000
},
"Status": "Actual",
"Period": {
"Id": 202005,
"Description": "May-20",
"StartDate": "2020-05-01T00:00:00Z",
"EndDate": "2020-05-31T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1,
"OriginalPercentage": 0.1,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T12:47:35Z",
"BaseAmount": 10000
},
"AccumulatedPercentage": 0.2,
"Model": "PERCENTAGE",
"Creator": {
"UserId": 47477,
"AccountId": 4019,
"EmailAddress": "dhruval.shah@tatvasoft.com",
"DisplayName": "Dhruval Shah",
"UserRoleId": 0,
"FirstName": "Dhruval",
"LastName": "Shah",
"Photo": "http://localhost/ITM.Web/uploaddata\\photo\\48by48_47477.jpg"
},
"CreatedDate": "2020-11-13T12:47:35Z",
"Date": "2020-11-13T00:00:00Z",
"Description": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.05
},
{
"RevenueRecognitionId": 1245,
"AccountId": 4019,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T13:51:38Z",
"BaseAmount": 10000
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T13:51:38Z",
"BaseAmount": 10000
},
"Status": "Actual",
"Period": {
"Id": 202006,
"Description": "June-20",
"StartDate": "2020-06-01T00:00:00Z",
"EndDate": "2020-06-30T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1,
"OriginalPercentage": 0.1,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-11-13T13:51:38Z",
"BaseAmount": 20000
},
"AccumulatedPercentage": 0.3,
"Model": "PERCENTAGE",
"Creator": {
"UserId": 47477,
"AccountId": 4019,
"EmailAddress": "dhruval.shah@tatvasoft.com",
"DisplayName": "Dhruval Shah",
"UserRoleId": 0,
"FirstName": "Dhruval",
"LastName": "Shah",
"Photo": "http://localhost/ITM.Web/uploaddata\\photo\\48by48_47477.jpg"
},
"CreatedDate": "2020-11-13T13:51:40Z",
"Date": "2020-11-13T00:00:00Z",
"Description": "test",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.1
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333333
},
"Status": "Forecast",
"Period": {
"Id": 202007,
"Description": "July-20",
"StartDate": "2020-07-01T00:00:00Z",
"EndDate": "2020-07-31T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666667,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 33333.333333
},
"AccumulatedPercentage": 0.4166666667,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333333
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333333
},
"Status": "Forecast",
"Period": {
"Id": 202008,
"Description": "August-20",
"StartDate": "2020-08-01T00:00:00Z",
"EndDate": "2020-08-31T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666667,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 46666.666666
},
"AccumulatedPercentage": 0.5333333334,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333333
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333333
},
"Status": "Forecast",
"Period": {
"Id": 202009,
"Description": "September-20",
"StartDate": "2020-09-01T00:00:00Z",
"EndDate": "2020-09-30T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666667,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 59999.999999
},
"AccumulatedPercentage": 0.6500000001,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333333
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333333
},
"Status": "Forecast",
"Period": {
"Id": 202010,
"Description": "October-20",
"StartDate": "2020-10-01T00:00:00Z",
"EndDate": "2020-10-31T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666667,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 73333.333332
},
"AccumulatedPercentage": 0.7666666668,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333333
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333333
},
"Status": "Forecast",
"Period": {
"Id": 202011,
"Description": "November-20",
"StartDate": "2020-11-01T00:00:00Z",
"EndDate": "2020-11-30T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666667,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 86666.666665
},
"AccumulatedPercentage": 0.8833333335,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333333
},
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 13333.333335
},
"Status": "Forecast",
"Period": {
"Id": 202012,
"Description": "December-20",
"StartDate": "2020-12-01T00:00:00Z",
"EndDate": "2020-12-31T00:00:00Z"
},
"ProjectId": 52306,
"Percentage": 0.1166666665,
"OriginalPercentage": 0,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 100000
},
"AccumulatedPercentage": 1,
"Model": "PERCENTAGE",
"CreatedDate": "",
"Date": "",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.13333333335
}
],
"ProjectedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 5000
},
"ProjectedPercentage": 0.05
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Insert Revenue Recognition SummaryPOST/Projects/{ProjectId}/RevenueRecognitionSummary
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"Amount": 1000,
"AmountCurrencyId": 4145,
"Date": "2020-08-10",
"Description": "test from postman"
}
201
Headers
Content-Type: application/json
Body
{
"Id": 1258,
"StatusMessage": "Revenue Recognition inserted successfully.",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project doesn't exist.",
"StatusCode": 404
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Next Revenue Recognition Forecast ¶
Get Next Revenue Recognition ForecastGET/Projects/{ProjectId}/NextRevenueRecognitionForecast
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RevenueRecognitionId": 0,
"AccountId": 0,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 51.79461497
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 51.79461497
},
"Status": "Forecast",
"Period": {
"Id": 201909,
"Description": "September-19",
"StartDate": "2019-09-01T00:00:00Z",
"EndDate": "2019-09-30T00:00:00Z"
},
"ProjectId": 43407,
"Percentage": 0.0256408985,
"OriginalPercentage": 0.0256408985,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "",
"BaseAmount": 155.38461497
},
"AccumulatedPercentage": 0.0769230768,
"Model": "FIXED",
"CreatedDate": "",
"Date": "2022-01-10T16:38:10Z",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.0256408985
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Revenue Recognition ¶
Get Revenue RecognitionGET/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueRecognitionId
int
(required) Example: 1258
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RevenueRecognitionId": 1258,
"AccountId": 4019,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 1000
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 51.794615
},
"Status": "Actual",
"Period": {
"Id": 201909,
"Description": "September-19",
"StartDate": "2019-09-01T00:00:00Z",
"EndDate": "2019-09-30T00:00:00Z"
},
"ProjectId": 43407,
"Percentage": 0.495049505,
"OriginalPercentage": 0.0256408985,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 1103.59
},
"AccumulatedPercentage": 0.5463316832,
"Model": "FIXED",
"Creator": {
"UserId": 49842,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": "Darshi",
"LastName": "Shah"
},
"CreatedDate": "2022-01-10T16:55:49Z",
"Date": "2020-08-10T00:00:00Z",
"Description": "darshi from postman",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.49504950495049505
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Revenue RecognitionPATCH/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueRecognitionId
int
(required) Example: 1258
Headers
Content-Type: application/json
Token: [token]
Body
{
"Confirmed": 1,
"ConfirmedBy": 7489,
"ConfirmedDate": "2020-08-10",
"Description": "test from postman"
}
200
Headers
Content-Type: application/json
Body
{
"RevenueRecognitionId": 1258,
"AccountId": 4019,
"Amount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 1000
},
"OriginalAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 51.794615
},
"Status": "Actual",
"Period": {
"Id": 201909,
"Description": "September-19",
"StartDate": "2019-09-01T00:00:00Z",
"EndDate": "2019-09-30T00:00:00Z"
},
"ProjectId": 43407,
"Percentage": 0.495049505,
"OriginalPercentage": 0.0256408985,
"AccumulatedAmount": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-10T16:55:50Z",
"BaseAmount": 1103.59
},
"AccumulatedPercentage": 0.5463316832,
"Model": "FIXED",
"Creator": {
"UserId": 49842,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": "Darshi",
"LastName": "Shah"
},
"CreatedDate": "2022-01-10T16:55:49Z",
"Date": "2020-08-10T00:00:00Z",
"Description": "darshi from postman",
"Locked": false,
"LockedBy": 0,
"LockedDate": "",
"CalculatedPercentage": 0.49504950495049505
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete Revenue RecognitionDELETE/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}
Example URI
- ProjectId
int
(required) Example: 43407- RevenueRecognitionId
int
(required) Example: 1260
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 1260,
"StatusMessage": "Record deleted successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
{
"Id": 1259,
"StatusMessage": "Given revenue recognition id is not allowed to delete.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risks ¶
Get risks v2 ¶
Get risks v2GET/risks/search
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 3,
"pagerid": "81de6678-84aa-4a35-807c-fd4f31ec792d",
"page": 1,
"pageSize": 2,
"list": [
{
"Id": 8073,
"Name": "Risk 1",
"Description": "",
"Status": {
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
"Type": {
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Level": {
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Id": 29059,
"Value": 40,
"Level": "High",
"AccountId": 4019,
"BaseId": 29056,
"Assessment": "Red"
},
"Manager": {
"ProjectUserId": 150746,
"ProjectId": 43407,
"Order": 0,
"CreatedBy": null,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": true,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 7489,
"AccountId": 4019,
"EmailAddress": "",
"DisplayName": "Girish Tank",
"UserRoleId": 0,
"FirstName": null,
"LastName": null,
"Photo": ""
},
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": "",
"AllCustomFields": {
"Test %": 12,
"Custom FIeld 1": "2019-07-24T00:00:00Z",
"List": [
{
"Id": 6608,
"Value": "1"
},
{
"Id": 6611,
"Value": "2"
}
],
"Dropdown CustomField": "drp1",
"Custom Field HTML": "<h1>Test Custom Field HTML</h1>"
}
},
{
"Id": 8074,
"Name": "Risk 2",
"Description": "",
"Status": {
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
"Type": {
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Level": {
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Id": 29059,
"Value": 40,
"Level": "High",
"AccountId": 4019,
"BaseId": 29056,
"Assessment": "Red"
},
"Manager": null,
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": null,
"AllCustomFields": {
"Test %": null,
"Custom FIeld 1": "2019-07-17T00:00:00Z",
"List": [],
"Dropdown CustomField": null,
"Custom Field HTML": null
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get project risks v2 ¶
Get project risks v2GET/Projects/{ProjectId}/Risks
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 2,
"pagerid": "27e73637-2555-4f36-a487-22765741a67a",
"page": 0,
"pageSize": 2,
"list": [
{
"Id": 8073,
"Name": "Risk 1",
"Description": "",
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": "",
"Assessment": ""
},
{
"Id": 8074,
"Name": "Risk 2",
"Description": "",
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": null,
"Assessment": ""
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get project risks search v2 ¶
Get project risks search v2GET/Projects/{ProjectId}/Risks/Search
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 3,
"pagerid": "81de6678-84aa-4a35-807c-fd4f31ec792d",
"page": 1,
"pageSize": 2,
"list": [
{
"Id": 8073,
"Name": "Risk 1",
"Description": "",
"Status": {
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
"Type": {
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Level": {
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Id": 29059,
"Value": 40,
"Level": "High",
"AccountId": 4019,
"BaseId": 29056,
"Assessment": "Red"
},
"Manager": {
"ProjectUserId": 150746,
"ProjectId": 43407,
"Order": 0,
"CreatedBy": null,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": true,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 7489,
"AccountId": 4019,
"EmailAddress": "",
"DisplayName": "Girish Tank",
"UserRoleId": 0,
"FirstName": null,
"LastName": null,
"Photo": ""
},
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": "",
"AllCustomFields": {
"Test %": 12,
"Custom FIeld 1": "2019-07-24T00:00:00Z",
"List": [
{
"Id": 6608,
"Value": "1"
},
{
"Id": 6611,
"Value": "2"
}
],
"Dropdown CustomField": "drp1",
"Custom Field HTML": "<h1>Test Custom Field HTML</h1>"
}
},
{
"Id": 8074,
"Name": "Risk 2",
"Description": "",
"Status": {
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
"Type": {
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Level": {
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Id": 29059,
"Value": 40,
"Level": "High",
"AccountId": 4019,
"BaseId": 29056,
"Assessment": "Red"
},
"Manager": null,
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": null,
"AllCustomFields": {
"Test %": null,
"Custom FIeld 1": "2019-07-17T00:00:00Z",
"List": [],
"Dropdown CustomField": null,
"Custom Field HTML": null
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get project risk managers ¶
Get project risk managersGET/project/{ProjectId}/riskmanagers
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectUserId": 706,
"Manager": "Julio Cline"
},
{
"ProjectUserId": 715,
"Manager": "David Simon"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project risk v1 ¶
Delete a project riskDELETE/project/{ProjectId}/risk/{RiskId}
Example URI
- ProjectId
int
(required) Example: 331- RiskId
int
(required) Example: 599
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Risk deleted successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"StatusMessage": "Risk id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project risk v2 ¶
Get a project risk v2GET/Projects/{ProjectId}/Risks/{RiskId}
Example URI
- ProjectId
int
(required) Example: 43407- RiskId
int
(required) Example: 8073
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 8073,
"AccountId": 4019,
"UserId": 0,
"LanguageId": 0,
"Name": "Risk 1",
"Description": "",
"ProjectId": 43407,
"Status": {
"Id": 0,
"Name": "new status",
"AccountId": 0,
"BaseId": 86707
},
"Type": {
"Id": 0,
"Name": "new",
"AccountId": 0,
"LanguageId": 0,
"BaseId": 115827
},
"Impact": {
"Id": 0,
"Name": "Alto",
"Value": 10,
"DisplayName": "Alto(10)",
"AccountId": 0,
"BaseId": 38795
},
"No": "R-4019-19070001",
"Probability": {
"Id": 0,
"Name": "Alta",
"Value": 4,
"DisplayName": "Alta(4)",
"AccountId": 0,
"BaseId": 38759
},
"Level": {
"Id": 0,
"Value": 40,
"Level": "Alto",
"AccountId": 0,
"BaseId": 29056,
"Assessment": ""
},
"Manager": {
"ProjectUserId": 150746,
"ProjectId": 0,
"Order": 0,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": false,
"IsStackHolder": false,
"IsProjectManager": false,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 0,
"AccountId": 0,
"DisplayName": "Girish Tank",
"UserRoleId": 0
},
"MitigationPlan": "",
"ContigencyPlan": "",
"OccurrenceScope": "",
"OccurrenceCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-05-01T13:29:47Z",
"BaseAmount": 0
},
"ScheduleVarianceHours": 0,
"RiskManagementActionTaskCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-05-01T13:29:47Z",
"BaseAmount": 0
},
"IsConsiderActionTaskCost": false,
"RiskManagementTaskHours": 0,
"IsConsiderActionTaskHours": false,
"Assessment": "3",
"CreatedDate": "",
"CreatedBy": 0,
"Tasks": []
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"StatusMessage": "Risk id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project risk v2POST/Projects/{ProjectId}/Risks/
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Risk 123",
"StatusId": 29092,
"TypeId": 38901,
"ImpactId": 38795,
"ProbabilityId": 38759,
"LevelId": 29056
}
200
Headers
Content-Type: application/json
Body
{
"Id": 10345,
"StatusMessage": "Risk Inserted Successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Risk name already exists.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Level ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Impact ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Type ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Status ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter risk name.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project risk v2PATCH/Projects/{ProjectId}/Risks/{RiskId}
Example URI
- ProjectId
int
(required) Example: 43407- RiskId
int
(required) Example: 10345
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Risk 123",
"StatusId": 29092,
"TypeId": 38901,
"ImpactId": 38795,
"ProbabilityId": 38759,
"LevelId": 29056
}
200
Headers
Content-Type: application/json
Body
{
"Id": 10345,
"StatusMessage": "Risk Inserted Successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Risk name already exists.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Level ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Impact ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Type ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid Risk Status ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter risk name.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Associated issues of risk ¶
Get associated issues of riskGET/project/{ProjectId}/Risk/{RiskId}/AssociatedIssues
Example URI
- ProjectId
int
(required) Example: 12259- RiskId
int
(required) Example: 6906
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RiskId": 6906,
"AssociatedIssueDetails": [
{
"RiskIssueId": 13,
"IssueId": 12,
"IssueName": "Issue 18",
"IssueType": {
"IssueTypeId": 211,
"IssueTypeName": "Change request",
"IsClosed": false
},
"IssueStatus": {
"IssueStatusId": 141,
"IssueStatusName": "Open",
"IsClosed": false
},
"IssueManager": {
"UserId": 132784,
"EmailAddress": "1",
"DisplayName": "Peter Yi (Non Login)"
},
"IssueManagementCost": 145
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Associated issue list ¶
Get associated project issue listGET/project/{ProjectId}/Risk/{RiskId}/AssociatedIssueList
Retrieves a project associated issue list details for risk.
Example URI
- ProjectId
int
(required) Example: 12259- RiskId
int
(required) Example: 6906
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"RiskId": 6906,
"AffectedIssues": [
{
"RiskIssueId": 0,
"IssueId": 11,
"IssueName": "Issue 16",
"IssueType": {
"IssueTypeId": 211,
"IssueTypeName": "Change request",
"IsClosed": false
},
"IssueStatus": {
"IssueStatusId": 141,
"IssueStatusName": "Open",
"IsClosed": false
},
"IssueManager": {
"UserId": 33531,
"EmailAddress": "JAYESH.VARU@etatvasoft.com1",
"DisplayName": "Jayesh \"Varu\""
},
"IssueManagementCost": 0,
"IsSelected": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Affected Issues ¶
Add Risk Affected IssuesPOST/project/{ProjectId}/risk/RiskAffectedIssues
Adds Risk Affected Issues for issue.
Example URI
- ProjectId
int
(required) Example: 12259
Headers
Content-Type: application/json
Token: [token]
Body
{
[
{
"IssueId" : 11
},
{
"IssueId" : 12
}
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Associated issues inserted",
"StatusCode": 200,
"RiskId": 6906
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
404
Headers
Content-Type: application/json
Body
{
"RiskId":0
"StatusMessage": "Risk does not exist.",
"StatusCode": 404
}
{
"ProjectId":0
"StatusMessage": "Project does not exist.",
"StatusCode": 404
}
{
"RiskId":0
"StatusMessage": "Issue ID does not exist.",
"StatusCode": 404
}
Project Risk Name ¶
Update project risk namePUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskName
Example URI
- ProjectId
int
(required) Example: 331- RiskId
int
(required) Example: 67
Headers
Content-Type: application/json
Token: [token]
Body
{
"RiskName": "New Risk from API"
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
"RiskId": 67,
"StatusMessage": "Risk updated",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 404
}
{
"RiskId":0,
"StatusMessage": "Risk does not exist",
"StatusCode": 404
}
{
"RiskId":0,
"StatusMessage": "Risk name already exists",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Please enter risk name",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Risk Impact ¶
Update project risk ImpactPUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskImpact
Example URI
- ProjectId
int
(required) Example: 51241- RiskId
int
(required) Example: 9667
Headers
Content-Type: application/json
Token: [token]
Body
{
"ImpactId": 127353,
"LevelId": 29056
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
"RiskId": 9667,
"StatusMessage": "Risk updated",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 404
}
{
"RiskId":0,
"StatusMessage": "Risk does not exist",
"StatusCode": 404
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Risk Probability ¶
Update project risk ProbabilityPUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskProbability
Example URI
- ProjectId
int
(required) Example: 51241- RiskId
int
(required) Example: 9667
Headers
Content-Type: application/json
Token: [token]
Body
{
"ProbabilityId": 127319,
"LevelId": 29056
}
201
Headers
Content-Type: application/json
Token: [token]
Body
{
"RiskId": 9667,
"StatusMessage": "Risk updated",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 404
}
{
"RiskId":0,
"StatusMessage": "Risk does not exist",
"StatusCode": 404
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Affected Risks ¶
Delete task affected risksDELETE/project/{ProjectId}/risk/{RiskId}/taskaffectedRisks
Deletes Task Affected Risks for risk.
Example URI
- ProjectId
int
(required) Example: 12259- RiskId
int
(required) Example: 6906
Headers
Content-Type: application/json
Token: [token]
Body
{
[
{
"IssueId" : 11,
"RiskIssueId":14
},
{
"IssueId" : 12,
"RiskIssueId":15
}
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Affected issues deleted",
"StatusCode": 200,
"IssueId": 11
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
404
Headers
Content-Type: application/json
Body
{
"RiskId":0
"StatusMessage": "Risk does not exist.",
"StatusCode": 404
}
{
"ProjectId":0
"StatusMessage": "Project does not exist.",
"StatusCode": 404
}
{
"IssueId":0
"StatusMessage": "Issue ID does not exist.",
"StatusCode": 404
}
Issues ¶
Get issues v2 ¶
Get issues v2GET/issues/search
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 93,
"pagerid": "81de6678-84aa-4a35-807c-fd4f31ec792d",
"page": 1,
"pageSize": 2,
"list": [
{
"Id": 1,
"Name": "one issue",
"Description": "",
"ManagementCost": {
"Amount": 350,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-04-14T14:52:49Z",
"BaseAmount": 350
},
"ManagementHours": "1800:00",
"ChangeInProjectCost": {
"Amount": 1,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-04-14T14:52:49Z",
"BaseAmount": 1
},
"ChangeInProjectScheduleDays": 1,
"Manager": null,
"AllCustomFields": {}
},
{
"Id": 2,
"Name": "Two issue",
"Description": "",
"ManagementCost": {
"Amount": 910,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-04-14T16:18:04Z",
"BaseAmount": 910
},
"ManagementHours": "40:00",
"ChangeInProjectCost": {
"Amount": 501,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2020-04-14T16:18:04Z",
"BaseAmount": 501
},
"ChangeInProjectScheduleDays": 41,
"Manager": null,
"AllCustomFields": {}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project issues v2 ¶
Get project issues v2GET/Projects/{ProjectId}/Issues
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"pagerid": "4d9b3f66-30d6-4ef1-aa67-675f2cbaaaaf",
"page": 1,
"pageSize": 10,
"list": [
{
"Id": 1147,
"Name": "new new",
"Description": "testst",
"ManagementCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-05-11T17:36:22Z",
"BaseAmount": 0
},
"ManagementHours": "00:00",
"ChangeInProjectCost": {
"Amount": -1,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-05-11T17:36:22Z",
"BaseAmount": -1
},
"ChangeInProjectScheduleDays": 0,
"Type": {
"AccountId": 4019,
"Id": 205,
"BaseId": 211,
"Name": "Change request",
"LanguageId": 1,
"IsClosed": false
},
"Status": {
"AccountId": 4019,
"Id": 137,
"BaseId": 141,
"Name": "Open",
"LanguageId": 1,
"IsClosed": false
},
"Manager": {
"ProjectUserId": 189570,
"ProjectId": 43407,
"Order": 0,
"CreatedBy": null,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": true,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 49842,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": null,
"LastName": null,
"Photo": "UploadData\\PHOTO\\49842.png"
},
"AllCustomFields": {
"Your last Date": "",
"Test": ""
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"StatusMessage": "Risk id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get project issues search v2 ¶
Get project issues search v2GET/Projects/{ProjectId}/Issues/Search
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"filter": {
"Type.BaseId": {
"$in": [
"211"
]
},
"Status.BaseId": {
"$in": [
"141"
]
},
"AssociatedRisks.Risk.Id": {
"$in": [
"8073"
]
}
}
}
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"pagerid": "4d9b3f66-30d6-4ef1-aa67-675f2cbaaaaf",
"page": 1,
"pageSize": 10,
"list": [
{
"Id": 1147,
"Name": "new new",
"Description": "testst",
"ManagementCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-05-11T17:36:22Z",
"BaseAmount": 0
},
"ManagementHours": "00:00",
"ChangeInProjectCost": {
"Amount": -1,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-05-11T17:36:22Z",
"BaseAmount": -1
},
"ChangeInProjectScheduleDays": 0,
"Type": {
"AccountId": 4019,
"Id": 205,
"BaseId": 211,
"Name": "Change request",
"LanguageId": 1,
"IsClosed": false
},
"Status": {
"AccountId": 4019,
"Id": 137,
"BaseId": 141,
"Name": "Open",
"LanguageId": 1,
"IsClosed": false
},
"Manager": {
"ProjectUserId": 189570,
"ProjectId": 43407,
"Order": 0,
"CreatedBy": null,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": true,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 49842,
"AccountId": 4019,
"EmailAddress": "darshi.shah@internal.mail",
"DisplayName": "Darshi Shah",
"UserRoleId": 0,
"FirstName": null,
"LastName": null,
"Photo": "UploadData\\PHOTO\\49842.png"
},
"AllCustomFields": {
"Your last Date": "",
"Test": ""
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project issue v2 ¶
Get a project issue v2GET/Projects/{ProjectId}/Issues/{IssueId}
Example URI
- ProjectId
int
(required) Example: 43407- IssueId
int
(required) Example: 1131
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"AccountId": 4019,
"ProjectId": 43407,
"LanguageId": 1,
"Id": 1131,
"No": "I-4019-22040001",
"Name": "new issue edit1",
"Description": "stette edit1",
"IsConsiderActionTaskCost": true,
"ManagementCost": {
"Amount": 7278.5,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-04-28T17:01:41Z",
"BaseAmount": 7278.5
},
"IsConsiderActionTaskHours": false,
"ManagementHours": "05:00",
"IsConsiderRiskOccurrenceCost": true,
"ChangeInProjectCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-04-28T17:01:41Z",
"BaseAmount": 0
},
"IsConsiderRiskOccurrenceDays": true,
"ChangeInProjectScheduleDays": 0,
"Type": {
"AccountId": 4019,
"Id": 206,
"BaseId": 212,
"Name": "Bug",
"LanguageId": 1,
"IsClosed": false
},
"Status": {
"AccountId": 4019,
"Id": 16235,
"BaseId": 16235,
"Name": "Read",
"LanguageId": 1,
"IsClosed": false
},
"FinalResolution": "testsetset edit1",
"ChangeInScope": "testsetest edit1",
"Manager": {
"ProjectUserId": 189559,
"ProjectId": 43407,
"Order": 0,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": false,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 47477,
"AccountId": 4019,
"EmailAddress": "dhruval.shah@tatvasoft.com",
"DisplayName": "Dhruval Shah",
"UserRoleId": 0,
"Photo": "UploadData\\PHOTO\\47477.jpg"
},
"CreatedBy": {
"UserId": 49842,
"AccountId": 0,
"UserRoleId": 0
},
"CreatedDate": "2022-04-22T17:58:19Z",
"UpdatedDate": "",
"AllCustomFields": {
"Your last Date": "2022-04-22T00:00:00Z",
"Test": "2022-04-25T00:00:00Z"
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"StatusMessage": "Issue id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project issue v2POST/Projects/{ProjectId}/Issues/
Example URI
- ProjectId
int
(required) Example: 43407
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "issue test",
"Description": "test desc",
"Type": "211",
"Status": "141"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 1148,
"StatusMessage": "Issue inserted",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"RiskId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Issue name already exists.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid issue type ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid issue status ID.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project issue v2PATCH/Projects/{ProjectId}/Issues/{IssueId}
Example URI
- ProjectId
int
(required) Example: 43407- IssueId
int
(required) Example: 1131
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "Test edit",
"Description": "test desc",
"Manager": 189570,
"Type": "211",
"Status": "141",
"IsConsiderActionTaskCost": false,
"ManagementCost": 500,
"ManagementCostCurrencyId": 4145,
"IsConsiderActionTaskHours": false,
"ManagementHours": 5,
"IsConsiderRiskOccurrenceCost": false,
"ChangeInProjectCost": 400,
"ChangeInProjectCostCurrencyId": 4145,
"IsConsiderRiskOccurrenceDays": false,
"ChangeInProjectScheduleDays": 5,
"FinalResolution": "Final Resolution",
"ChangeInScope": "Change In Scope"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 1131,
"StatusMessage": "Issue updated successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Issue doesn't exist",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid issue type ID.<br/>",
"StatusCode": 400
}
{
"Id": 0,
"StatusMessage": "Please enter valid issue status ID.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"RiskId": 0,
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a project issue v2DELETE/Projects/{ProjectId}/Issues/{IssueId}
Example URI
- ProjectId
int
(required) Example: 43407- IssueId
int
(required) Example: 29501
200
Headers
Content-Type: application/json
Body
{
"Id": 29501,
"StatusMessage": "Issue deleted successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id": 1131,
"StatusMessage": "Project 43407 does not exist",
"StatusCode": 400
}
{
"Id": 1132,
"StatusMessage": "Revenue 1132 does not exist",
"StatusCode": 400
}
{
"Id": 29501,
"StatusMessage": "Account 4019 does not exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Issue associated risk v2 ¶
Get associated project risk v2GET/Projects/{ProjectId}/Issues/{IssueId}/Risks
Example URI
- ProjectId
int
(required) Example: 8879- IssueId
int
(required) Example: 3
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"pagerid": "6e4cbf1e-22ba-4ea1-8420-6920428ad35a",
"page": 0,
"pageSize": 8,
"list": [
{
"RiskIssueDetail": {
"Id": 0,
"AccountId": 4019,
"Risk": {
"Id": 8073,
"AccountId": 4019,
"UserId": 0,
"LanguageId": 1,
"Name": "Risk 1",
"Description": "teste",
"ProjectId": 43407,
"Status": {
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
"Type": {
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Level": {
"Impact": {
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
"Probability": {
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
"Id": 29059,
"Value": 40,
"Level": "High",
"AccountId": 4019,
"BaseId": 29056,
"Assessment": "Red"
},
"No": "R-4019-19070001",
"Manager": {
"ProjectUserId": 150746,
"ProjectId": 43407,
"Order": 0,
"CreatedDate": "",
"UpdatedDate": "",
"IsActive": true,
"IsStackHolder": false,
"IsProjectManager": false,
"InternalCostPerHour": 0,
"ChargedCostPerHour": 0,
"TAChargedCostPerHour": 0,
"UserId": 7489,
"AccountId": 4019,
"EmailAddress": "",
"DisplayName": "Girish Tank",
"UserRoleId": 0,
"Photo": ""
},
"MitigationPlan": "testsetest <span style=\"font-family:Lato, Arial, Helvetica, 'Sans Serif';font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;text-align:right;white-space:nowrap;\">Mitigation Plan:</span>",
"ContigencyPlan": "<span style=\"font-family:Lato, Arial, Helvetica, 'Sans Serif';font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;text-align:right;white-space:nowrap;\">dgfsdv Mitigation Plan:</span>",
"OccurrenceScope": "<p>testse</p>",
"OccurrenceCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-17T16:48:02Z",
"BaseAmount": 100
},
"ScheduleVarianceHours": 4,
"RiskManagementActionTaskCost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2022-01-17T16:48:02Z",
"BaseAmount": 500
},
"IsConsiderActionTaskCost": false,
"RiskManagementTaskHours": 300,
"IsConsiderActionTaskHours": false,
"CreatedBy": 0,
"CreatedDate": "",
"UpdatedBy": 0,
"UpdatedDate": "",
"AllCustomFields": {
"Test %": 12,
"Custom FIeld 1": "2019-07-24T00:00:00Z",
"List": [
{
"Id": 6608,
"Value": "1"
},
{
"Id": 6611,
"Value": "2"
}
],
"Dropdown CustomField": "drp1",
"Custom Field HTML": "<h1>Test Custom Field HTML</h1>"
}
},
"Issue": {
"AccountId": 0,
"ProjectId": 0,
"LanguageId": 0,
"Id": 1131,
"IsConsiderActionTaskCost": false,
"IsConsiderActionTaskHours": false,
"ManagementHours": "00:00",
"IsConsiderRiskOccurrenceCost": false,
"IsConsiderRiskOccurrenceDays": false,
"ChangeInProjectScheduleDays": 0,
"CreatedDate": "",
"UpdatedDate": "",
"AllCustomFields": {}
},
"CreatorId": 0,
"CreationDate": ""
},
"IsSelected": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Occurrence Management ¶
Get Risk Occurrence ManagementGET/project/{ProjectId}/Issue/{IssueId}/riskoccurencemanagement
Example URI
- ProjectId
int
(required) Example: 12259- IssueId
int
(required) Example: 11
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"TotalRiskOccurenceCost": 230,
"TotalScheduleVariance": 2
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Issue Affected Risks ¶
Add Issue Affected RisksPOST/project/{ProjectId}/Issue/{IssueId}/IssueAffectedRisks
Example URI
- ProjectId
int
(required) Example: 12259- IssueId
int
(required) Example: 11
Headers
Content-Type: application/json
Token: [token]
Body
{
[
{"RiskId" : 6906},
{"RiskId" : 7659}
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": " Associated risks inserted",
"StatusCode": 200,
"IssueId": 11
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
404
Headers
Content-Type: application/json
Body
{
"IssueId":0
"StatusMessage": "Issue does not exist.",
"StatusCode": 404
}
{
"ProjectId":0
"StatusMessage": "Project does not exist.",
"StatusCode": 404
}
{
"RiskId":0
"StatusMessage": "Risk ID does not exist.",
"StatusCode": 404
}
Delete Issue Affected RisksDELETE/project/{ProjectId}/Issue/{IssueId}/IssueAffectedRisks
Example URI
- ProjectId
int
(required) Example: 12259- IssueId
int
(required) Example: 11
Headers
Content-Type: application/json
Token: [token]
Body
{
[
{
"RiskId" : 6906,
"RiskIssueId":11
},
{
"RiskId" : 7659,
"RiskIssueId":12
}
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Associated risks deleted",
"StatusCode": 200,
"IssueId": 11
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
404
Headers
Content-Type: application/json
Body
{
"IssueId":0
"StatusMessage": "Issue does not exist.",
"StatusCode": 404
}
{
"ProjectId":0
"StatusMessage": "Project does not exist.",
"StatusCode": 404
}
{
"RiskId":0
"StatusMessage": "Associated risk does not exist.",
"StatusCode": 404
}
Documents ¶
Project Documents ¶
Get project documentsGET/project/{ProjectId}/documents/
Retrieves a list of all project documents including their details.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
DocumentId
-
TaskId
-
TaskKindId
-
DocumentName
-
ShortDocumentName
-
AreaSection
-
Description
-
UploadedDate
-
IsExternal
-
UploadedBy
-
IsVisibleForGuest
-
ParentTask:20141130
-
TypeId
-
DocumentType
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"DocumentId": 1519,
"TaskId": 0,
"ProjectId": 331,
"TaskKindId": 0,
"DocumentName": "Test Doc 1",
"ShortDocumentName": "Test Doc 1",
"AreaSection": "Android Mobile Application test ",
"URL": "https://app.itmplatform.com//UploadData/1142/ProjectDocuments/331/Capture001.png",
"Description": "Test",
"UploadedDate": "2017-09-11T12:06:08.330Z",
"IsExternal": false,
"UploadedBy": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"IsVisibleForGuest": false,
"ParentTask": "",
"TypeId": 338,
"DocumentType": 1,
"ViewFile": null,
"FileUploadedPath": "https://app.itmplatform.com/UploadData/1142/ProjectDocuments/331/Capture001.png",
"FileContentLength": 0,
"IsService": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid filters",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete project documentsDELETE/project/{ProjectId}/documents/{DocumentIds}
Example URI
- ProjectId
int
(required) Example: 331- DocumentIds
string
(required) Example: 456,345
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Document deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service Documents ¶
Get service documentsGET/service/{ServiceId}/documents/
Retrieves a list of all service documents including their details. You can apply filters to limit the results.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
DocumentId
-
Activity.ActivityId
-
Activity.ActivityName
-
Activity.ActivityKindId
-
Activity.ParentActivity
-
DocumentName
-
ShortDocumentName
-
AreaSection
-
Description
-
UploadedDate
-
IsExternal
-
IsVisibleForGuest
-
TypeId
-
DocumentType
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"DocumentId": 1529,
"Activity": null,
"ServiceId": 542,
"DocumentName": "Test Service Doc 2",
"ShortDocumentName": "Test Service Doc 2",
"AreaSection": "Test update",
"URL": "https://app.itmplatform.com/UploadData/1142/ProjectDocuments/542/Capture001_9_11_2017_15_43_53.png",
"Description": "Test",
"UploadedDate": "2017-09-11T15:43:40.883Z",
"IsExternal": false,
"UploadedBy": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"IsVisibleForGuest": false,
"TypeId": 542,
"DocumentType": 3
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid filters",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete service documentsDELETE/service/{ServiceId}/documents/{DocumentIds}
Example URI
- ServiceId
int
(required) Example: 542- DocumentIds
string
(required) Example: 1535,345
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Document deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project document ¶
Get a project documentGET/project/{ProjectId}/document/{DocumentId}
Example URI
- ProjectId
string
(required) Example: 331- DocumentId
string
(required) Example: 956
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"DocumentId": 956,
"TaskId": 0,
"ProjectId": 331,
"TaskKindId": 0,
"DocumentName": "Test Doc 1",
"ShortDocumentName": null,
"AreaSection": null,
"URL": "https://app.itmplatform.com/UploadData/1142/ProjectDocuments/338/Capture001.png",
"Description": "Test",
"UploadedDate": null,
"IsExternal": false,
"UploadedBy": null,
"IsVisibleForGuest": false,
"ParentTask": null,
"TypeId": 338,
"DocumentType": 0,
"FileUploadedPath": null,
"FileContentLength": 0,
"IsService": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a project documentPOST/project/{ProjectId}/document/
Adds a project document.
TypeId is id of the entity (for eg ProjectId for project document).
To set URL of any document set IsExternal field true.
For internal document set IsExternal is false and have to set FileUploadedPath.
Document Type is from following list:
ProjectDocument = 1,
TaskDocument = 2,
ServiceDocument = 3,
ActivityDocument = 4,
RiskMitigationDocument = 5,
RiskContingencyDocument = 6,
PurchaseDocument = 7,
RevenueDocument = 8
Example URI
- ProjectId
int
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"DocumentName":"Document 1",
"Description":"Description",
"URL":"http://www.goole.com/",
"IsExternal":true,
"IsVisibleForGuest":true,
"DocumentType":1,
"TypeId":331,
"FileUploadedPath":"",
"FileContentLength":5884
}
}
200
Headers
Content-Type: application/json
Body
{
{
"DocumentId":456,
"StatusMessage": "Document inserted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter document name",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter file URL",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please Upload except exe,dll,com,php,aspx or asp files",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Due to license policy, space allocated to you is full",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please upload file smaller than +size+ MB",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a project documentPUT/project/{ProjectId}/document/{DocumentId}
Updates a project document.
TypeId is id of the entity (for eg ProjectId for project document).
To set URL of any document set IsExternal field true.
For internal document set IsExternal is false and have to set FileUploadedPath.
Document Type is from following list:
ProjectDocument = 1,
TaskDocument = 2,
ServiceDocument = 3,
ActivityDocument = 4,
RiskMitigationDocument = 5,
RiskContingencyDocument = 6,
PurchaseDocument = 7,
RevenueDocument = 8
Example URI
- ProjectId
int
(required) Example: 331- DocumentId
int
(required) Example: 456
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"DocumentName":"Document 1",
"Description":"Description",
"URL":"http://www.goole.com/",
"IsExternal":true,
"IsVisibleForGuest":true,
"DocumentType":1,
"TypeId":331,
"FileUploadedPath":"",
"FileContentLength":5884
}
}
200
Headers
Content-Type: application/json
Body
{
{
"DocumentId":456,
"StatusMessage": "Document updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Document doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Project doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter document name",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter file URL",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please Upload except exe,dll,com,php,aspx or asp files",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Due to license policy, space allocated to you is full",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please upload file smaller than +size+ MB",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service document ¶
Get a service documentGET/service/{ServiceId}/document/{DocumentId}
Example URI
- ServiceId
string
(required) Example: 33157- DocumentId
string
(required) Example: 956
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"DocumentId": 956,
"ActivityId": 0,
"ServiceId": 331,
"ActivityKindId": 0,
"DocumentName": "Test Doc 1",
"ShortDocumentName": null,
"AreaSection": null,
"URL": "https://app.itmplatform.com/UploadData/1142/ProjectDocuments/338/Capture001.png",
"Description": "Test",
"UploadedDate": null,
"IsExternal": false,
"UploadedBy": null,
"IsVisibleForGuest": false,
"ParentTask": null,
"TypeId": 338,
"DocumentType": 0,
"FileUploadedPath": null,
"FileContentLength": 0,
"IsService": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a service documentPOST/service/{ServiceId}/document/
Adds a project document.
TypeId is id of the entity (for eg ServiceId for service document).
To set URL of any document set IsExternal field true.
For internal document set IsExternal is false and have to set FileUploadedPath.
Document Type is from following list:
ProjectDocument = 1,
TaskDocument = 2,
ServiceDocument = 3,
ActivityDocument = 4,
RiskMitigationDocument = 5,
RiskContingencyDocument = 6,
PurchaseDocument = 7,
RevenueDocument = 8
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"DocumentName":"Document 1",
"Description":"Description",
"URL":"http://www.goole.com/",
"IsExternal":true,
"IsVisibleForGuest":true,
"DocumentType":3,
"TypeId":542,
"FileUploadedPath":"",
"FileContentLength":5884
}
}
200
Headers
Content-Type: application/json
Body
{
{
"DocumentId":456,
"StatusMessage": "Document inserted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter document name",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter file URL",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please Upload except exe,dll,com,php,aspx or asp files",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Due to license policy, space allocated to you is full",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please upload file smaller than +size+ MB",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service documentPUT/service/{ServiceId}/document/{DocumentId}
Updates a project document.
TypeId is id of the entity (for eg ServiceId for service document).
To set URL of any document set IsExternal field true.
For internal document set IsExternal is false and have to set FileUploadedPath.
Document Type is from following list:
ProjectDocument = 1,
TaskDocument = 2,
ServiceDocument = 3,
ActivityDocument = 4,
RiskMitigationDocument = 5,
RiskContingencyDocument = 6,
PurchaseDocument = 7,
RevenueDocument = 8
Example URI
- ServiceId
int
(required) Example: 542- DocumentId
int
(required) Example: 1535
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"DocumentName":"Document 1",
"Description":"Description",
"URL":"http://www.goole.com/",
"IsExternal":true,
"IsVisibleForGuest":true,
"DocumentType":3,
"TypeId":542,
"FileUploadedPath":"",
"FileContentLength":5884
}
}
200
Headers
Content-Type: application/json
Body
{
{
"DocumentId":1535,
"StatusMessage": "Document updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Document doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter document name",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please enter file URL",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please Upload except exe,dll,com,php,aspx or asp files",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Due to license policy, space allocated to you is full",
"StatusCode": 400
}
{
"DocumentId":0,
"StatusMessage": "Please upload file smaller than +size+ MB",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Document uploaded by users ¶
Get a document uploaded by usersGET/project/{ProjectId}/uploadedbyusers
Example URI
- ProjectId
string
(required) Example: 331
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"UserId": 1686,
"DisplayName": "David Simon (stakeholder@globalcorp360.com)"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Documents uploaded by users ¶
Get documents uploaded by usersGET/service/{ServiceId}/uploadedbyusers
Example URI
- ServiceId
string
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"UserId": 1686,
"DisplayName": "Major Wyman (major.wyman@globalcorp360.com"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Costs ¶
Project Costs ¶
Get Project CostsGET/Projects/ProjectCosts
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 49936,
"Name": "Budget Account 1",
"Description": "",
"ProjectId": 0,
"ProviderId": 0,
"CreatedDate": "",
"Cost": {
"Amount": 0,
"CurrencyId": 10090,
"ExchangeRate": 4,
"AppliedDate": "2021-07-20T18:35:28Z",
"BaseAmount": 120000
}
},
{
"Id": 59748,
"Name": "Test 1",
"Description": "Testt",
"ProjectId": 0,
"ProviderId": 0,
"CreatedDate": "",
"Cost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-06-29T10:53:58Z",
"BaseAmount": 1800
}
},
{
"Id": 59751,
"Name": "Test currency",
"Description": "test",
"ProjectId": 0,
"ProviderId": 0,
"CreatedDate": "",
"Cost": {
"Amount": 0,
"CurrencyId": 18301,
"ExchangeRate": 56,
"AppliedDate": "2021-07-20T19:01:05Z",
"BaseAmount": 0
}
},
{
"Id": 59752,
"Name": "testet",
"Description": "",
"ProjectId": 0,
"ProviderId": 0,
"CreatedDate": "",
"Cost": {
"Amount": 0,
"CurrencyId": 4145,
"ExchangeRate": 1,
"AppliedDate": "2021-07-22T17:37:19Z",
"BaseAmount": 0
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Resources ¶
Project Resources ¶
Get Project ResourcesGET/Projects/{ProjectId}/Resources
Example URI
- ProjectId
string
(required) Example: 62112
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"IntervalType": 0,
"Intervals": [
{
"IntervalIdentity": 1,
"IntervalName": "01-01-2021",
"StartDate": "2021-01-01T00:00:00Z",
"EndDate": "2021-01-31T00:00:00Z"
},
{
"IntervalIdentity": 2,
"IntervalName": "02-01-2021",
"StartDate": "2021-02-01T00:00:00Z",
"EndDate": "2021-02-28T00:00:00Z"
},
{
"IntervalIdentity": 3,
"IntervalName": "03-01-2021",
"StartDate": "2021-03-01T00:00:00Z",
"EndDate": "2021-03-31T00:00:00Z"
},
{
"IntervalIdentity": 4,
"IntervalName": "04-01-2021",
"StartDate": "2021-04-01T00:00:00Z",
"EndDate": "2021-04-30T00:00:00Z"
},
{
"IntervalIdentity": 5,
"IntervalName": "05-01-2021",
"StartDate": "2021-05-01T00:00:00Z",
"EndDate": "2021-05-31T00:00:00Z"
},
{
"IntervalIdentity": 6,
"IntervalName": "06-01-2021",
"StartDate": "2021-06-01T00:00:00Z",
"EndDate": "2021-06-30T00:00:00Z"
},
{
"IntervalIdentity": 7,
"IntervalName": "07-01-2021",
"StartDate": "2021-07-01T00:00:00Z",
"EndDate": "2021-07-31T00:00:00Z"
}
],
"Project": {
"Categories": [
{
"CategoryId": 21687,
"CategoryType": 2,
"Efforts": []
},
{
"CategoryId": 21687,
"CategoryType": 1,
"Efforts": []
}
]
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Project ResourcesPATCH/Projects/{ProjectId}/Resources
Example URI
- ProjectId
string
(required) Example: 62112
Headers
Content-Type: application/json
Token: [token]
Body
{
"IntervalType": 0,
"Intervals": [
{
"IntervalIdentity": 1,
"IntervalName": "01-01-2021",
"StartDate": "2021-01-01T00:00:00Z",
"EndDate": "2021-01-31T00:00:00Z"
},
{
"IntervalIdentity": 2,
"IntervalName": "02-01-2021",
"StartDate": "2021-02-01T00:00:00Z",
"EndDate": "2021-02-28T00:00:00Z"
},
{
"IntervalIdentity": 3,
"IntervalName": "03-01-2021",
"StartDate": "2021-03-01T00:00:00Z",
"EndDate": "2021-03-31T00:00:00Z"
},
{
"IntervalIdentity": 4,
"IntervalName": "04-01-2021",
"StartDate": "2021-04-01T00:00:00Z",
"EndDate": "2021-04-30T00:00:00Z"
},
{
"IntervalIdentity": 5,
"IntervalName": "05-01-2021",
"StartDate": "2021-05-01T00:00:00Z",
"EndDate": "2021-05-31T00:00:00Z"
},
{
"IntervalIdentity": 6,
"IntervalName": "06-01-2021",
"StartDate": "2021-06-01T00:00:00Z",
"EndDate": "2021-06-30T00:00:00Z"
},
{
"IntervalIdentity": 7,
"IntervalName": "07-01-2021",
"StartDate": "2021-07-01T00:00:00Z",
"EndDate": "2021-07-31T00:00:00Z"
}
],
"Project": {
"Categories": [
{
"CategoryId": 21687,
"CategoryType": 2,
"Efforts": []
},
{
"CategoryId": 21687,
"CategoryType": 1,
"Efforts": []
}
]
}
}
200
Headers
Content-Type: application/json
Body
{
"Id": 55711,
"StatusMessage": "Resources updated sucessfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Services ¶
Services ¶
Get servicesGET/services
Retrieves a list of all services including their details.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ServiceId
-
AccountId
-
ServiceNo
-
ServiceName:Inhouse Project
-
ServiceType.ServiceTypeName
-
ServiceType.ServiceTypeId
-
ServiceStatus.ServiceStatusName
-
ServiceStatus.ServiceStatusId
-
ServiceApproval.ServiceApprovalName
-
ServiceApproval.ServiceApprovalId
-
ServicePriority.ServicePriorityName
-
ServicePriority.ServicePriorityId
-
ServiceStartDate
-
ServiceEndDate
-
CompanyServiceCode
-
ServiceTeam.ServiceManagers.UserId
-
ServiceTeam.ServiceTeamMembers.UserId
-
ServiceTeam.ServiceGuests.UserId
-
Sponsor.SponsorName
-
Sponsor.SponsorId
-
InternalClient.InternalClientName
-
InternalClient.InternalClientId
-
ExternalClient.ExternalClientName
-
ExternalClient.ExternalClientId
-
Active
-
MainProcessAffected.MainProcessAffectedName
-
MainProcessAffected.MainProcessAffectedId
-
DestinationResource.DestinationResourceName
-
DestinationResource.DestinationResourceId
-
TopDownBudget.TopDownExternalTeamHours
-
TopDownBudget.TopDownExternalTeamCost
-
TopDownBudget.TopDownUndefinedTeamHours
-
TopDownBudget.TopDownUndefinedTeamCost
-
TopDownBudget.TopDownTotalWorkforceHours
-
TopDownBudget.TopDownTotalWorkforceCost
-
TopDownBudget.TopDownPurchases
-
TopDownBudget.TopDownRevenue
-
TopDownBudget.TopDownMargin
-
TopDownBudget.TopDownTotalBudget
-
TopDownBudget.TopDownInternalTeamHours
-
TopDownBudget.TopDownInternalTeamCost
-
ActualValues.ActualInternalTeamHours
-
ActualValues.ActualInternalTeamCost
-
ActualValues.ActualExternalTeamHours
-
ActualValues.ActualExternalTeamCost
-
ActualValues.ActualTotalWorkforceHours
-
ActualValues.ActualTotalWorkforceCost
-
ActualValues.ActualPurchases
-
ActualValues.ActualMargin
-
ActualValues.ActualRevenue
-
ActualValues.ActualTotalConsumption
-
PECValues.PECInternalTeamHours
-
PECValues.PECInternalTeamCost
-
PECValues.PECExternalTeamHours
-
PECValues.PECExternalTeamCost
-
PECValues.PECTotalWorkforceHours
-
PECValues.PECTotalWorkforceCost
-
PECValues.PECPurchases
-
PECValues.PECTotalConsumption
-
BottomUpBudget.BottomUpRevenue
-
BottomUpBudget.BottomUpMargin
-
BottomUpBudget.BottomUpPurchases
-
IsServiceManager
-
ServiceDescription
-
InternalCostCenter
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceId": 345,
"AccountId": 1142,
"ServiceNo": "SR-1142-13120001",
"ServiceName": "Good Service",
"ServiceType": {
"ServiceTypeName": "Support",
"ServiceTypeIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/folders.png",
"ServiceTypeId": 8333
},
"ServiceStatus": {
"ServiceStatusName": "Initial",
"ServiceStatusId": 12744,
"ServiceStatusIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/balloons-white.png"
},
"ServiceApproval": {
"ServiceApprovalName": "Approve",
"ServiceApprovalId": 11434,
"ServiceApprovalIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/status.png"
},
"ServicePriority": {
"ServicePriorityName": "Urgent",
"ServicePriorityId": 7893,
"ServicePriorityIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/flag--exclamation.png"
},
"ServiceStartDate": "",
"ServiceEndDate": "",
"CompanyServiceCode": "",
"ServiceTeam": {
"ServiceManagers": [
{
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
}
],
"ServiceTeamMembers": [
{
"UserId": 1688,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
}
],
"ServiceGuests": []
},
"Sponsor": {
"SponsorName": "Asp.Net",
"SponsorId": 450
},
"InternalClient": {
"InternalClientName": "Jumla",
"InternalClientId": 457
},
"ExternalClient": {
"ExternalClientName": "Test client 3",
"ExternalClientId": 141
},
"Active": true,
"MainProcessAffected": {
"MainProcessAffectedName": "PRC1",
"MainProcessAffectedId": 115
},
"DestinationResource": {
"DestinationResourceName": "Asset1",
"DestinationResourceId": 133
},
"TopDownBudget": {
"TopDownExternalTeamHours": "00:00",
"TopDownExternalTeamCost": 0,
"TopDownUndefinedTeamHours": "00:00",
"TopDownUndefinedTeamCost": 0,
"TopDownTotalWorkforceHours": "00:00",
"TopDownTotalWorkforceCost": 0,
"TopDownPurchases": 0,
"TopDownRevenue": 0,
"TopDownMargin": 0,
"TopDownTotalBudget": 0,
"TopDownInternalTeamHours": "00:00",
"TopDownInternalTeamCost": 0
},
"ActualValues": {
"ActualInternalTeamHours": "0:00",
"ActualInternalTeamCost": 0,
"ActualExternalTeamHours": "0:00",
"ActualExternalTeamCost": 0,
"ActualTotalWorkforceHours": "0:00",
"ActualTotalWorkforceCost": 0,
"ActualPurchases": 0,
"ActualMargin": 0,
"ActualRevenue": 0,
"ActualTotalConsumption": 1200
},
"PECValues": {
"PECInternalTeamHours": "0:00",
"PECInternalTeamCost": 0,
"PECExternalTeamHours": "0:00",
"PECExternalTeamCost": 0,
"PECTotalWorkforceHours": "0:00",
"PECTotalWorkforceCost": 0,
"PECPurchases": 0,
"PECTotalConsumption": 0
},
"BottomUpBudget": {
"BottomUpRevenue": 0,
"BottomUpMargin": 0,
"BottomUpPurchases": 0
},
"IsServiceManager": true,
"ServiceDescription": "service description",
"InternalCostCenter": "Internal cost center",
"ServiceCreator": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"AllCustomFields": {}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid field name",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid date",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service ¶
Add a servicePOST/service
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ServiceName":"service insert from api",
"ServiceDescription":"service description",
"ServiceTypeId":8333,
"ServiceStatusId":12744,
"ServiceApprovalId":11434,
"ServicePriorityId":7893,
"ServiceStartDate":"2017-06-20T00:00:00Z",
"ServiceEndDate":"2017-06-20T00:00:00Z",
"CompanyServiceCode":"Company Service Code",
"SponsorId":450,
"InternalClientId":457,
"ExternalClientId":141,
"MainProcessAffectedId":115,
"DestinationAssetId":133,
"InternalCostCenter":"Internal cost center"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"ServiceId":1135,
"StatusMessage": "Service inserted successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service name",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service status id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service status id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service type id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service type id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service approval id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service approval id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service priority id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service priority id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service start date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service end date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Service end date must be greater than or equal to service start date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid assest destination id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid main process affected id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid internal client id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid sponsor id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid external client id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
{
"ServiceId":0,
"StatusMessage": "Due to license policy, you cannot create more services",
"StatusCode": 403
}
{
"ServiceId":0,
"StatusMessage": "Service name already exists",
"StatusCode": 403
}
Update a servicePUT/service{?ServiceId}
Example URI
- ServiceId
int
(required) Example: 1135
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ServiceName":"service insert from api",
"ServiceDescription":"service description",
"ServiceTypeId":8333,
"ServiceStatusId":12744,
"ServiceApprovalId":11434,
"ServicePriorityId":7893,
"ServiceStartDate":"2017-06-20T00:00:00Z",
"ServiceEndDate":"2017-06-20T00:00:00Z",
"CompanyServiceCode":"Company Service Code",
"SponsorId":450,
"InternalClientId":457,
"ExternalClientId":141,
"MainProcessAffectedId":115,
"DestinationAssetId":133,
"InternalCostCenter":"Internal cost center"
}
201
Headers
Content-Type: application/json
Body
{
{
"ServiceId":1135,
"StatusMessage": "Service updated successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service name",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service status id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service status id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service type id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service type id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service approval id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service approval id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter service priority id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service priority id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service start date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid service end date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Service end date must be greater than or equal to service start date",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid assest destination id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid main process affected id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid internal client id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid sponsor id",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid external client id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid date range. Activity date range cannot fall outside of service date range.",
"StatusCode": 403
}
{
"ServiceId":0,
"StatusMessage": "Please enter valid date range. Time entry is outside date range.",
"StatusCode": 403
}
{
"ServiceId":0,
"StatusMessage": "Service name already exists.",
"StatusCode": 403
}
Service budget ¶
Get a service budgetGET/service/{ServiceId}/budget
Example URI
- ServiceId
int
(required) Example: 1135
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"TopDownBudget": {
"TopDownInternalTeamCost": 0,
"TopDownInternalTeamHours": "00:00",
"TopDownExternalTeamCost": 0,
"TopDownExternalTeamHours": "00:00",
"TopDownUndefinedTeamCost": 0,
"TopDownUndefinedTeamHours": "00:00",
"TopDownPurchases": 0,
"TopDownRevenue": 0,
"TopDownInternalTeamCostCurrencyId": 1113,
"TopDownInternalTeamCostExchangeRate": 1,
"TopDownInternalTeamCostChangeApplied": "2017-06-20T15:54:56Z",
"TopDownExternalTeamCostCurrencyId": 1113,
"TopDownExternalTeamCostExchangeRate": 1,
"TopDownExternalTeamCostChangeApplied": "2017-06-20T15:54:56Z",
"TopDownPurchasesCurrencyId": 1113,
"TopDownPurchasesBudgetExchangeRate": 1,
"TopDownPurchasesChangeApplied": "2017-06-20T15:54:56Z",
"TopDownUndefinedTeamCostCurrencyId": 1113,
"TopDownUndefinedTeamCostExchangeRate": 1,
"TopDownUndefinedTeamCostChangeApplied": "2017-06-20T15:54:56Z",
"TopDownRevenueCurrencyId": 0,
"TopDownRevenueChangeApplied": "0001-01-01T00:00:00Z",
"TopDownRevenueExchangeRate": 0
},
"BottomUpBudget": {
"BottomUpInternalTeamCost": 0,
"BottomUpInternalTeamHours": "0:00",
"BottomUpExternalTeamCost": 0,
"BottomUpExternalTeamHours": "0:00",
"BottomUpUndefinedTeamCost": 0,
"BottomUpUndefinedTeamHours": "00:00",
"BottomUpPurchases": 0,
"BottomUpRevenue": 0
},
"ActualValues": {
"ActualInternalTeamCost": 0,
"ActualInternalTeamHours": "00:00",
"ActualExternalTeamCost": 0,
"ActualExternalTeamHours": "00:00",
"ActualPurchases": 0,
"ActualRevenue": 0
},
"LastPECValues": {
"PECInternalTeamCost": 0,
"PECInternalTeamHours": "00:00",
"PECExternalTeamCost": 0,
"PECExternalTeamHours": "00:00",
"PECPurchases": 0,
"PECRevenue": 0
},
"GlobalStandardCost": {
"GlobalStandardGeneralCost": 10,
"GlobalStandardInternalCost": 8,
"GlobalStandardExternalCost": 1
}
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service budgetPUT/service/{ServiceId}/budget
Example URI
- ServiceId
int
(required) Example: 1135
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"TopDownInternalTeamCost": 0,
"TopDownInternalTeamHours": "1",
"TopDownExternalTeamCost": 0,
"TopDownExternalTeamHours": "2",
"TopDownUndefinedTeamCost": 0,
"TopDownUndefinedTeamHours": "3",
"TopDownPurchases": 0,
"TopDownRevenue": 2000,
"TopDownInternalTeamCostCurrencyId": 1113,
"TopDownInternalTeamCostExchangeRate": 1,
"TopDownInternalTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownExternalTeamCostCurrencyId": 1113,
"TopDownExternalTeamCostExchangeRate": 1,
"TopDownExternalTeamCostChangeApplied": "2017-06-12T21:00:14Z",
"TopDownPurchasesCurrencyId": 1113,
"TopDownPurchasesBudgetExchangeRate": 1,
"TopDownPurchasesChangeApplied": "2017-06-13T02:16:26Z",
"TopDownUndefinedTeamCostCurrencyId": 1113,
"TopDownUndefinedTeamCostExchangeRate": 1,
"TopDownUndefinedTeamCostChangeApplied": "2017-06-13T02:16:26Z",
"TopDownRevenueCurrencyId": 1113,
"TopDownRevenueChangeApplied": "2017-06-12T15:31:16Z",
"TopDownRevenueExchangeRate": 1
}
}
201
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Budget updated successfully.",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
InActive a serviceDELETE/service/{ServiceId}/budget
Example URI
- ServiceId
int
(required) Example: 331
200
Headers
Content-Type: application/json
Body
{
{
"ServiceId":542,
"StatusMessage": "Record inactive successfully",
"StatusCode": 200
}
{
"ServiceId":542,
"StatusMessage": "Record successfully activated",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ServiceId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service Activities ¶
Service activities ¶
Get service activitiesGET/service/{ServiceId}/activities
Retrieves a list of all activities of a particular service, including their details.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ActivityId
-
ActivityKindId
-
ActivityName
-
ActivityNo
-
ActivityType.ActivityTypeName
-
ActivityType.ActivityTypeId
-
ActivityStatus.ActivityStatusName
-
ActivityStatus.ActivityStatusId
-
ActivityPriority.ActivityPriorityId
-
ActivityPriority.ActivityPriorityName
-
ActivityStartDate
-
ActivityEndDate
-
ParentActivity.ParentActivityId
-
ParentActivity.ParentActivityName
-
ActivityCategory
-
ActivityDuration
-
Efforts.EstEffort
-
Efforts.ActEffort
-
ActivityProgressDate
-
OverAllocation
-
Assessment.AssessmentName
-
Assessment.AssessmentId
-
Completed
-
Expected
-
Deviation
-
BaselineStart
-
BaselineEnd
-
DisplayInPortfolio
-
Costs.ActualCost
-
Costs.PlannedCost
-
Revenues.PlannedRevenue
-
Revenues.ActualRevenue
-
IsServices
-
IsActivity
-
MemberName
-
ActualEffortTimeEntry
Example URI
- ServiceId
string
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceId": 542,
"ActivityId": 140763,
"ActivityKindId": 3,
"ActivityName": "Activity 2",
"ActivityNo": "A-542-14110004",
"ActivityType": {
"ActivityTypeId": 9852,
"ActivityTypeName": "General"
},
"ActivityStatus": {
"ActivityStatusId": 8121,
"ActivityStatusName": "In Progress"
},
"ActivityPriority": {
"ActivityPriorityId": 7625,
"ActivityPriorityName": "Normal"
},
"ActivityStartDate": "2014-11-07T00:00:00Z",
"ActivityEndDate": "2014-11-28T00:00:00Z",
"ActivityProgressDate": "2017-09-02T17:16:26Z",
"BaselineStart": "",
"BaselineEnd": "",
"ActivityTeam": {
"ActivityManagers": [],
"ActivityTeamMembers": [
{
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
{
"UserId": 1688,
"EmailAddress": "torel@globalcorp360.com",
"DisplayName": "Travis Orellana"
}
]
},
"ParentActivity": {
"ParentActivityId": 175330,
"ParentActivityName": "summary 1"
},
"ActivityCategory": "Activity",
"ActivityDuration": 16,
"Efforts": {
"EstEffort": "00:00",
"ActEffort": "00:00"
},
"ActualEffortTimeEntry": "00:00",
"OverAllocation": false,
"Assessment": {
"AssessmentName": "Dirty Check",
"AssessmentId": 4812,
"AssessmentIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/Microsoft-Word-icon.png"
},
"Completed": 10,
"Expected": 100,
"Deviation": -90,
"DisplayInPortfolio": false,
"Costs": {
"ActualCost": 0,
"PlannedCost": 0
},
"Revenues": {
"PlannedRevenue": 789,
"ActualRevenue": 0
},
"IsDocumentAttached": 0,
"IsActivityManager": false,
"IsServices": false,
"IsActivity": false,
"TotalHour": "00:00"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Please enter valid filters",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity ¶
Add a service activityPOST/project/{ServiceId}/activity/
Adds a service activity.
Example URI
- ServiceId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ActivityName":"Activity 1",
"ParentActivityId":0,
"ActivityStartDate":"2017-01-01T00:00:00Z",
"ActivityEndDate":"2017-01-02T00:00:00Z",
"ActivityStatusName" :"Scheduled",
"ActivityTypeName":"Analysis",
"ActivityPriorityName" :"High",
"ActivityKindId" :3
}
}
201
Headers
Content-Type: application/json
Body
{
{
"ActivityId":180452,
"StatusMessage": "Activity inserted successfully",
"StatusCode": 201,
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity name",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity status",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity priority",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity type",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity start date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity start date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Activity start date should be less then or equal to activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity status",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid parent activity id",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity type",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity priority",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service activityPUT/project/{ServiceId}/activity/{ActivityId}
Updates a service activity.
Note: Entity Text is passed but need to change with primary key.
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 346128
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ActivityName":"Activity 1 update",
"ParentActivityId":0,
"ActivityStartDate":"2017-01-01T00:00:00Z",
"ActivityEndDate":"2017-01-02T00:00:00Z",
"ActivityStatusName" :"Scheduled",
"ActivityTypeName":"Analysis",
"ActivityPriorityName" :"High123"
}
}
200
Headers
Content-Type: application/json
Body
{
{
"ActivityId":346128,
"StatusMessage": "Activity updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Activity doesn't exists",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity name",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity status",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity priority",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity type",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity start date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity start date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Activity start date should be less then or equal to activity end date",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity status",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid parent activity id",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity type",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Please enter valid activity priority",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "You cannot complete status because child activities of this activity are not completed",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Time entry already exists so you cannot change activity parent",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Time entry already exists, therefore you cannot update activity dates",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a service activityDELETE/project/{ServiceId}/activity/{ActivityId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 542
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"ActivityIds":175312
}
}
200
Headers
Content-Type: application/json
Body
{
{
"ActivityId": 175312,
"StatusMessage": "Activity deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Cannot delete activity, reference is already in use",
"StatusCode": 400
}
{
"ActivityId":0,
"StatusMessage": "Activity doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get a service activityGET/project/{ServiceId}/activity/{ActivityId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"ActivityId": 180452,
"ActivityNo": "A-542-17090002",
"ActivityName": "New Activity update",
"ActivityDetails": "",
"ParentActivityName": "",
"ActivityTypeName": "Analysis",
"ActivityTypeId": 9849,
"ActivityStatusName": "Scheduled",
"ActivityStatusId": 8120,
"ActivityPriorityName": "High123",
"ActivityPriorityId": 7624,
"ActivityDuration": 1,
"ActivityStartDate": "2017-01-01T00:00:00Z",
"ActivityEndDate": "2017-01-02T00:00:00Z",
"DisplayInPortfolio": false,
"ServiceId": 542,
"ParentActivityId": 0,
"IsActivity": true,
"ActivityCategory": "Activity",
"ActivityKindId": 3,
"EstEffort": "00:00"
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity team ¶
Get a service activity teamGET/service/{ServiceId}/activity/{ActivityId}/team
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"SrNo": "1",
"UserId": 1686,
"UserName": "jucli@globalcorp360.com",
"LastName": "Julio",
"FirstName": "Cline",
"ServiceAlias": "Julio Cline",
"ActivityUserId": 8429,
"ServiceUserId": 2736,
"UserRole": "Manager",
"DepartmentName": "",
"PositionName": "",
"Photo": "",
"Category": "Default One",
"Provider": ""
},
{
"SrNo": "2",
"UserId": 2332,
"UserName": "John.Doe@globalcorp360.com",
"LastName": "John",
"FirstName": "Doe",
"ServiceAlias": "John Doe",
"ActivityUserId": 8430,
"ServiceUserId": 2737,
"UserRole": "Manager",
"DepartmentName": "",
"PositionName": "",
"Photo": "",
"Category": "Default One",
"Provider": ""
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity team member ¶
Delete a service activity team memberDELETE/service/{ServiceId}/activity/{ActivityId}/team/{ActivityUserId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- ActivityUserId
int
(required) Example: 8431
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Deleted Successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Cannot delete reference, Actual Effort Accepted is already entered",
"StatusCode": 400
}
{
"StatusMessage": "Cannot delete reference, already in time entry",
"StatusCode": 400
}
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity team members ¶
Assign service activity team membersPOST/service/{ServiceId}/activity/{ActivityId}/team/{ServiceUserIds}/{ActivityManager}
Assigns a service activity team.
ActivityManager specifies whther the user is the activity manager.
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- ServiceUserIds
string
(required) Example: 2737,348- ActivityManager
bool
(required) Example: false
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "User Assigned successfully.",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity progress reports ¶
Get service activity progress reportsGET/service/{ServiceId}/activity/{ActivityId}/progress
Retrieves a list of all progress of a particular service activity, including their details.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ActivityProgressId
-
ActivityName
-
Assessment.AssessmentName
-
Assessment.AssesmentId
-
DetailDescription
-
ShortDescription
-
PercentageCompleted
-
ReportDate
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 20441
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ActivityProgressId": 18697,
"ActivityId": 180452,
"ActivityName": "New Activity update",
"ServiceId": 542,
"Assessment": {
"AssessmentName": "Good",
"AssessmentId": 3009,
"AssessmentIcon": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png"
},
"DetailDescription": "",
"ShortDescription": "progress 1",
"PercentageCompleted": 56,
"ReportDate": "2017-09-12T10:26:15Z",
"CreatedBy": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"ActivityManagers": [
{
"UserId": 2194,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
}
]
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity progress report ¶
Get a service activity progress reportGET/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- ActivityProgressId
int
(required) Example: 18698
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ActivityProgressId": 18698,
"ActivityId": 180452,
"ActivityName": "New Activity update",
"ServiceId": 542,
"AssessmentName": "No Critical 2",
"AssessmentPath": "https://app.itmplatform.com/UploadData/Iconlibrary/icon_notepad.png",
"AssesmentId": 3288,
"DetailDescription": "",
"ShortDescription": "progress 2",
"PercentageCompleted": 50,
"ReportDate": "2017-09-13T10:26:30Z",
"CreatedBy": "Major Wyman",
"ActivityManagers": "John Doe"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete a service activity progress reportDELETE/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- ActivityProgressId
int
(required) Example: 18698
200
Headers
Content-Type: application/json
Body
{
{
"ActivityProgressId": 0,
"StatusMessage": "Activity progress deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Service doesn't exist",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Activity doesn't exist",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Activity progress id doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add a service activity progress reportPOST/service/{ServiceId}/activity/{ActivityId}/progress/
Example URI
- ServiceId
int
(required) Example: 331- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AssessmentId" : 3288,
"DetailDescription" : "detailsdescription",
"ShortDescription": "des",
"PercentageCompleted" : 45,
"ReportDate" : "2017-06-15T00:00:00Z"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"ActivityProgressId":18699,
"StatusMessage": "Activity progress inserted successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Activity does not exists",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Service does not exists",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter short description",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter assesment id greater than 0",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter valid assessment id",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter report date",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter valid report date",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter percentage completed",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Percentage completed should be between 0 to 100",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service activity progress reportPUT/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- ActivityProgressId
int
(required) Example: 18699
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AssessmentId" : 3288,
"DetailDescription" : "detailsdescription",
"ShortDescription": "des update",
"PercentageCompleted" : 45,
"ReportDate" : "2017-06-15T00:00:00Z"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"ActivityProgressId":18699,
"StatusMessage": "Activity progress updated successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Activity progress doesn't exist",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Activity doesn't exist",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Service does not exists.",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter valid Activity progress Id",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter short description",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter assesment id greater than 0",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter valid assessment id",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter report date",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter valid report date",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Please enter percentage completed",
"StatusCode": 400
}
{
"ActivityProgressId": 0,
"StatusMessage": "Percentage completed should be between 0 to 100",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity effort by professional category ¶
Get service activity effort by professional categoryGET/service/{ServiceId}/activity/{ActivityId}/effortbyprofessionalcategory
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Category": {
"MasterCategoryId": 379,
"CategoryId": 2693,
"CategoryName": "Default One",
"CategoryTypeId": 2,
"CategoryTypeName": "Internal"
},
"IsAutomaticActualEffortAccepted": true,
"Efforts": {
"AssignedEffort": "0:00",
"UnAssignedEffort": "0:00",
"ActualEffortAccepted": "0:00",
"ActualEffortByTimeEntry": "0:00",
"TotalEstimatedEffort": "0:00"
},
"IsOverload": false,
"OverloadDate": "",
"IsDelete": false
},
{
"Category": {
"MasterCategoryId": 0,
"CategoryId": 0,
"CategoryName": "General",
"CategoryTypeId": 0,
"CategoryTypeName": "No category"
},
"IsAutomaticActualEffortAccepted": false,
"Efforts": {
"AssignedEffort": "0:00",
"UnAssignedEffort": "0:00",
"ActualEffortAccepted": "0:00",
"ActualEffortByTimeEntry": "0:00",
"TotalEstimatedEffort": "0:00"
},
"IsOverload": false,
"OverloadDate": "",
"IsDelete": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity effort by team member ¶
Get service activity effort work by team memberGET/service/{ServiceId}/activity/{ActivityId}/effortbyteammember
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Category": {
"MasterCategoryId": 379,
"CategoryId": 2693,
"CategoryName": "Default One",
"CategoryTypeId": 2,
"CategoryTypeName": "Internal"
},
"IsAutomaticActualEffortAccepted": true,
"Efforts": {
"ActualEffortAccepted": "0:00",
"ActualEffortByTimeEntry": "0:00",
"EstimatedEffort": "0:00"
},
"User": {
"UserId": 1686,
"EmailAddress": "major.wyman@globalcorp360.com",
"DisplayName": "Major Wyman"
},
"IsOverload": false,
"OverloadDate": "",
"IsPECGeneratedByActivity": false,
"ActivityUserId": 8429
},
{
"Category": {
"MasterCategoryId": 379,
"CategoryId": 2693,
"CategoryName": "Default One",
"CategoryTypeId": 2,
"CategoryTypeName": "Internal"
},
"IsAutomaticActualEffortAccepted": true,
"Efforts": {
"ActualEffortAccepted": "0:00",
"ActualEffortByTimeEntry": "0:00",
"EstimatedEffort": "0:00"
},
"User": {
"UserId": 1693,
"EmailAddress": "JohnDoe@globalcorp360.com1",
"DisplayName": "John Doe"
},
"IsOverload": false,
"OverloadDate": "",
"IsPECGeneratedByActivity": false,
"ActivityUserId": 8430
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity effort categories ¶
Add service activity effort categoriesPOST/service/{ServiceId}/activity/{ActivityId}/categories
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452
Headers
Content-Type: application/json
Token: [token]
Body
[
{
"CategoryId": 602,
"CategoryType": "2"
}
]
201
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Categories Inserted Successfully",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Error occurred while Inserting Categories",
"StatusCode": 400
}
{
"StatusMessage": "Category already inserted",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service activity effort category ¶
Delete service activity effort categoryDELETE/service/{ServiceId}/activity/{ActivityId}/category/{CategoryId}
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 180452- CategoryId
int
(required) Example: 602
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"CategoryId": 602,
"CategoryType": "2"
}
}
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Deleted Successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "Error occurred while Deleting",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a service activity EffortPUT/service/{ServiceId}/activity/{ActivityId}/category/
Example URI
- ServiceId
int
(required) Example: 542- ActivityId
int
(required) Example: 140763
Headers
Content-Type: application/json
Token: [token]
Body
[
[
{
"ActivityId": "140763",
"EstimatedHours": "440",
"EstimatedMins": 0
}
],
[
{
"ActivityUserId": 8414,
"EstimatedHours": 50,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true,
"ActivityId": "140763"
},
{
"ActivityUserId": 8415,
"EstimatedHours": 60,
"EstimatedMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true,
"ActivityId": "140763"
}
],
[],
[
{
"CategoryId": 379,
"CategoryType": 2,
"NonAssignedEffort": "0",
"NonAssignedEffortMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true
},
{
"CategoryId": 433,
"CategoryType": 2,
"NonAssignedEffort": "20",
"NonAssignedEffortMins": 0,
"ActualEffortAcceptedHours": 0,
"ActualEffortAcceptedMins": 0,
"AutomaticActualEffortAccepted": true
}
]
]
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "updated Successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Time Report ¶
Time Entries ¶
Get time entriesGET/timehours/{?StartDate,EndDate,teammember}
Example URI
- StartDate
string
(required) Example: 2021-07-16- EndDate
string
(required) Example: 2021-07-23- teammember
string
(optional) Example: test.test@xyz.com
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Timeframe": {
"PeriodStart": "2021-07-16",
"PeriodEnd": "2021-07-23"
},
"User": {
"UserId": 7489,
"PersonnelNumber": "9898989898",
"DisplayName": "Peter Yi",
"UserPicture32x32": "http://localhost/ITM.Web/delete502/UploadData/PHOTO/32by32_7489.jpg"
},
"WorkingHours": [
{
"Date": "2018-07-16",
"WorkingHoursDay": "8:00",
"NonWorkingDay": false
},
{
"Date": "2018-07-17",
"WorkingHoursDay": "8:00",
"NonWorkingDay": false
},
{
"Date": "2018-07-18",
"WorkingHoursDay": "8:00",
"NonWorkingDay": false
}
],
"TimeReports": [
{
"Type": "waterfall Project",
"EntityNo": "PR-4019-17100006",
"Completed": false,
"EntityId": 31884,
"Name": "Project #20171016",
"IsManager": true,
"OrderOnList": 0,
"WorkItems": [
{
"Type": "Task",
"WorkItemNo": "T-31884-17110003",
"Completed": false,
"WorkItemId": 623845,
"Name": "Lorem ipsum dolor sit amet",
"IsManager": true,
"ProgressReportAllowed": true,
"CommentsAllowed": true,
"PreviousHoursAccum": "0:00",
"TimeEntries": [
{
"Date": "2018-07-16",
"EditingAllowed": true,
"EstimatedHours": "0:00",
"ReportedHours": "0:00",
"UserComments": null,
"Approval": null
},
{
"Date": "2018-07-17",
"EditingAllowed": true,
"EstimatedHours": "0:00",
"ReportedHours": "0:00",
"UserComments": null,
"Approval": null
}
]
}
]
}
]
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"startdate": null,
"StatusMessage": "Please enter start date",
"StatusCode": 400
}
{
"enddate": null,
"StatusMessage": "Please enter end date",
"StatusCode": 400
}
{
"startdate": "2018-16-07",
"StatusMessage": "Please enter valid start date",
"StatusCode": 400
}
{
"enddate": "2018-23-07",
"StatusMessage": "Please enter valid end date",
"StatusCode": 400
}
{
"startdate": "2018-07-16",
"enddate": "2018-07-10",
"StatusMessage": "Start date should be less than or equal to end date.",
"StatusCode": 400
}
{
"startdate": "2018-07-16",
"enddate": "2018-08-18",
"StatusMessage": "The time frame cannot be greater than 31 days.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Add time entriesPOST/timehours/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"TimeReports": [
{
"EntityId": 55767,
"WorkItemId": 1193245,
"Date": "2022-03-24",
"ReportedHours": "3:00",
"UserComment": ""
}
]
}
200
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Time entries done successfully.",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": null,
"StatusCode": 400,
"Errors": [
{
"EntityId": 55762227,
"WorkItemId": null,
"Message": "Entity does not exist"
}
]
}
{
"StatusMessage": null,
"StatusCode": 400,
"Errors": [
{
"EntityId": 55767,
"WorkItemId": 1193243335,
"Message": "Work item does not exist"
}
]
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Time Report ¶
Get time reportGET/timereport/hours/{?StartDate,EndDate}
When using the header IsCostRequested with value 1, the response will include cost-related values. Otherwise, these will come as zero.
Example URI
- StartDate
string
(required) Example: 2018-07-16- EndDate
string
(required) Example: 2018-07-23
Headers
Content-Type: application/json
Token: [token]
IsCostRequested: 1
200
Headers
Content-Type: application/json
Body
[
{
"TimeReportProjectId": 9338,
"TimeReportTaskId": 138346,
"ProjectUserId": 0,
"TimeReportHoursDate": "2018-07-16T00:00:00Z",
"TimeReportHoursEst": "0:57",
"TimeReportHoursReported": "0:00",
"TimeReportHoursAccepted": "0:00",
"TimeReportCostAccepted": 0,
"TimeReportCostReported": 0,
"TimeReportCostEst": 0,
"TimeReportCategoryId": 4681,
"TimeReportCategoryType": 2,
"UserId": 0,
"TimeReportUserComment": "",
"EntityType": "Project"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"startdate": "1/1/0001 12:00:00 AM",
"StatusMessage": "Please enter valid Start Date",
"StatusCode": 400
}
{
"enddate": "1/1/0001 12:00:00 AM",
"StatusMessage": "Please enter valid End Date",
"StatusCode": 400
}
{
"startdate": "2018-07-16",
"enddate": "2018-07-10",
"StatusMessage": "Start date should be less than or equal to end date.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Clients ¶
Clients ¶
Get clientsGET/clients{?ClientId}
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
ClientId
-
City
-
ClientName
-
CountryName
-
EmailAddress
-
Fax
-
Phone
-
State
-
StreetAddress
-
Website
-
Zipcode
-
FiscalId
Example URI
- ClientId
string
(optional) Example: 22
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ClientId": 77,
"ClientName": "New Client",
"StreetAddress": "Address",
"City": "City",
"State": "2016/02/02",
"Zipcode": "380061",
"EmailAddress": "foo@example1.com",
"Phone": "7927545454",
"Fax": "",
"Website": "www.mywebsite.com",
"CountryName": "India",
"FiscalId": "2345",
"ClientContacts": [
{
"ClientId": 77,
"ClientContactId": 58,
"ContactEmailAddress": "buyers@central.client",
"ContactPhone": "7925636362",
"ContactMobile": "9898562536",
"ContactFax": "",
"FirstName": "John",
"LastName": "Doe",
"DisplayName": "JD",
"AlternativeEmailAddress": "",
"Comments": "",
"FaceBook": "",
"Twitter": "",
"LinkedIn": "",
"WebSite": "www.mywebsite.com"
}
]
},
{
"ClientId": 78,
"ClientName": "Client 2",
"StreetAddress": "",
"City": "",
"State": "",
"Zipcode": "",
"EmailAddress": "",
"Phone": "",
"Fax": "",
"Website": "",
"CountryName": "",
"FiscalId": "123",
"ClientContacts": [
{
"ClientId": 78,
"ClientContactId": 60,
"ContactEmailAddress": "central@globalcorp360.com",
"ContactPhone": "",
"ContactMobile": "",
"ContactFax": "",
"FirstName": "New",
"LastName": "Client",
"DisplayName": "New Client",
"AlternativeEmailAddress": "www.mywebsite.com",
"Comments": ".Net & Windows Phone 1",
"FaceBook": "",
"Twitter": "",
"LinkedIn": "",
"WebSite": ""
}
]
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Client v2 ¶
Add a client v2POST/Clients/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"Name": "Test Client Entry",
"StreetAddress": "Address",
"City": "City",
"State": "state1",
"Zipcode": "380061",
"EmailAddress": "foo@example1.com",
"Phone": "7927545454",
"Fax": "123",
"Website": "www.mywebsite.com",
"Country": 88,
"FiscalId": "2345"
}
}
201
Headers
Content-Type: application/json
Body
{
{
"Id": 1234,
"StatusMessage": "Record inserted successfully.",
"StatusCode": 201
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id":0,
"StatusMessage": "Please enter Client name.<br/>",
"StatusCode": 400
}
{
"Id":0,
"StatusMessage": "Please enter valid Country id.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update a client v2PATCH/Clients/{?ClientId}
Example URI
- ClientId
int
(required) Example: 1124
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"Name": "Test Client Entry",
"StreetAddress": "Address",
"City": "City",
"State": "state1",
"Zipcode": "380061",
"EmailAddress": "foo@example1.com",
"Phone": "7927545454",
"Fax": "123",
"Website": "www.mywebsite.com",
"Country": 88,
"FiscalId": "2345"
}
}
200
Headers
Content-Type: application/json
Body
{
{
"Id": 1234,
"StatusMessage": "Record updated successfully.",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"Id":1234,
"StatusMessage": "Please enter Client name.<br/>",
"StatusCode": 400
}
{
"Id":1234,
"StatusMessage": "Please enter valid Country id.<br/>",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Custom Fields ¶
Custom Fields v2 ¶
Get custom fields v2GET/{EntityName}/CustomFields
Retrieves a list of all custom fields.
EntityName is from following list:
-
projects
-
services
-
tasks
-
activities
-
programs
-
risks
-
progressreports
-
purchases
-
revenues
-
issues
Example URI
- EntityName
string
(required) Example: projects
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 664,
"BaseId": 664,
"Name": "Number",
"TypeId": 2,
"TypeName": "Number",
"Description": "Number",
"Display": true,
"Required": true
},
{
"Id": 823,
"BaseId": 823,
"Name": "Cust Date",
"TypeId": 4,
"TypeName": "Date",
"Description": "custom date",
"Display": true,
"Required": true
},
{
"Id": 961,
"BaseId": 961,
"Name": "test project",
"TypeId": 5,
"TypeName": "HTML",
"Description": "",
"Display": true,
"Required": true
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Custom Fields By Type ¶
Get custom fields by typeGET/project/type/{TypeId}/customfields/{?PageId}
Retrieves a list of all custom fields by type and page Id.
Type Id is ProjectTypeBaseId.
Page Id is from following list:
Project = 57,
Service = 70,
Task = 66,
Activity = 94,
Programs = 137,
ProjectRisk = 62,
ProjectFollowUp = 63,
Revenue = 181,
Purchases = 25
Example URI
- PageId
string
(required) Example: 57- TypeId
string
(required) Example: 0
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"CustomFieldId": 966,
"AccountId": 1142,
"LanguageId": 1,
"CustomFieldBaseId": "966",
"PageId": 57,
"CustomFieldTypeId": 6,
"CustomFieldName": "test ryg field",
"Description": "",
"Required": false,
"CustomFieldValue": "",
"CustomFieldTypeName": "RYGList",
"Option": false,
"ColorList": true,
"IsVisible": true,
"Options": [
{
"CustomFieldOptionId": 1123,
"CustomFieldOptionBaseId": 1123,
"CustomFieldId": 966,
"Text": "Ready",
"ColorName": "Red",
"SortOrder": 1,
"Selected": false,
"SelectedOptions": "1126,"
}
}
]
},
{
"CustomFieldId": 972,
"AccountId": 1142,
"LanguageId": 1,
"CustomFieldBaseId": "972",
"PageId": 57,
"CustomFieldTypeId": 3,
"CustomFieldName": "Project Custom Field",
"Description": "",
"Required": false,
"CustomFieldValue": "",
"CustomFieldTypeName": "Percentage",
"Option": false,
"ColorList": false,
"IsVisible": true,
"Options": null
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "No Custom fields found for this project",
"StatusCode": 400
}
{
"StatusMessage": "There are no options for custom field",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Custom Field Options ¶
Get custom field optionsGET/project/customfieldoptions/{CustomFieldBaseId}
Example URI
- CustomFieldBaseId
string
(required) Example: 966
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"CustomFieldOptionId": 1123,
"CustomFieldOptionBaseId": 1123,
"CustomFieldId": 966,
"Text": "Ready",
"ColorName": "Red",
"SortOrder": 1,
"Selected": false,
"SelectedOptions": null
},
{
"CustomFieldOptionId": 1126,
"CustomFieldOptionBaseId": 1126,
"CustomFieldId": 966,
"Text": "Steady",
"ColorName": "Yellow",
"SortOrder": 2,
"Selected": false,
"SelectedOptions": null
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "There are no options for custom field",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Account ¶
Account details ¶
Get account detailsGET/accountdetail/{CompanyAdminUserId}
Example URI
- CompanyAdminUserId
int
(required) Example: 1686
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"CompanyAdminUserId": 1686,
"CompanyName": "Company name",
"StreetAddress1": "123451",
"StreetAddress2": "456781",
"City": "city1",
"State": "state1",
"Zipcode": "1234561",
"CountryId": 20,
"Phone": "12345671",
"Corporation": "test1",
"Website": "test.blogspot.com",
"ApplicationName": "BHL",
"LanguageId": 1,
"Tax": "10.00",
"PersonalEmailAddress": "me@globalcorp360.co.in",
"Linkdin": "test1",
"Facebook": "test2",
"StandardPaymentClauses": 1,
"MaxFileSizeUpload": 251,
"MinPassLength": 1,
"FiscalYearStartDate": 2,
"FiscalYearEndDate": 12,
"FiscalYearName": 2017,
"AllowTimeEntryOutOfTaskDate": true,
"WeekDaysWorkingHour": 0,
"WeekDaysWorkingMin": 0,
"SaturDayWorkingHour": 0,
"SaturDayWorkingMin": 0,
"SunDayWorkingHour": 0,
"SunDayWorkingMin": 0,
"DateFormatTypeId": 2,
"Currency": "US Dollar ($)",
"FirstDayOfWeekId": 1,
"NumberFormatId": 2
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update account detailsPUT/accountdetail/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"CompanyAdminUserId":1686,
"CompanyName":"Global corp 360",
"StreetAddress1":"123",
"StreetAddress2":"456",
"City":"",
"State":"",
"Zipcode":"1234",
"CountryId":20,
"Phone":"1234567",
"Corporation":"test",
"Website":"jucli@globalcorp360.com",
"ApplicationName":"BHL",
"LanguageId":1,
"Tax":"0.00",
"PersonalEmailAddress":"me@globalcorp360.co.in",
"Linkdin":"",
"Facebook":"",
"StandardPaymentClauses":0,
"MaxFileSizeUpload":250,
"MinPassLength":3,
"FiscalYearStartDate":1,
"FiscalYearEndDate":1,
"FiscalYearName":2016,
"AllowTimeEntryOutOfTaskDate":true,
"WeekDaysWorkingHour":0,
"WeekDaysWorkingMin":0,
"SaturDayWorkingHour":0,
"SaturDayWorkingMin":0,
"SunDayWorkingHour":0,
"SunDayWorkingMin":0,
"DateFormatTypeId":1,
"Currency":"USD",
"FirstDayOfWeekId":1,
"NumberFormatId":1
}
}
200
Headers
Content-Type: application/json
Body
{
{
"AccountId": 1142,
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Account doesn't exist",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter company name",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter URL name for company",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Max file size can not be negative",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter min password between 1 to 255",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Standard payment clauses can not be negative",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Tax % can not be greater than 100",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter correct tax %",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter valid language id",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter valid country id",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter valid application name",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Date format type id should be 1 or 2",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "First day of week id should be between 0(sun) to 6 (sat)",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Number format type id should be 1 or 2",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter valid company email address",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "Please enter valid website",
"StatusCode": 400
}
{
"AccountId": 0,
"StatusMessage": "URL already exists",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Account Configuration ¶
Account Configuration ¶
Get Account ConfigurationGET/AccountConfiguration/
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"AccountConfigurationId": 10,
"AccountId": 4019,
"ProgressModelId": 1,
"RevenueModelId": 1,
"RevenueRecognitionModelId": 2,
"RevenueRecognitionFutureModelId": 2,
"RevenueRecognitionPeriodTypeId": 1,
"AllowProjectOverride": true,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Insert Account ConfigurationPOST/AccountConfiguration/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"AccountId": 4019,
"ProgressModelId": 1,
"RevenueModelId": 1,
"RevenueRecognitionModelId": 2,
"RevenueRecognitionFutureModelId": 2,
"RevenueRecognitionPeriodTypeId": 1,
"AllowProjectOverride": true
}
200
Headers
Content-Type: application/json
Body
{
"AccountConfigurationId": 2743
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Account ConfigurationPATCH/AccountConfiguration/{AccountConfigurationId}
Example URI
- AccountConfigurationId
int
(required) Example: 10
Headers
Content-Type: application/json
Token: [token]
Body
{
"AccountId": 4019,
"ProgressModelId": 1,
"RevenueModelId": 1,
"RevenueRecognitionModelId": 2,
"RevenueRecognitionFutureModelId": 2,
"RevenueRecognitionPeriodTypeId": 1,
"AllowProjectOverride": true
}
200
Headers
Content-Type: application/json
Body
{
"AccountId": 4019,
"ProgressModelId": 1,
"RevenueModelId": 1,
"RevenueRecognitionModelId": 2,
"RevenueRecognitionFutureModelId": 2,
"RevenueRecognitionPeriodTypeId": 1,
"AllowProjectOverride": true,
"AccountConfigurationId": 10
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Project Type Configuration ¶
Get Project Type ConfigurationGET/ProjectTypeConfiguration/{ProjectTypeId}
Example URI
- ProjectTypeId
int
(required) Example: 116745
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProjectTypeConfigurationId": 2,
"ProjectTypeId": 116745,
"OverrideAccountConfiguration": true,
"ProgressModelId": 1,
"RevenueRecognitionModelId": 5,
"RevenueModelId": 1,
"RevenueRecognitionFutureModelId": 0,
"RevenueRecognitionPeriodTypeId": 0,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Type Configuration ¶
Insert Project Type ConfigurationPOST/ProjectTypeConfiguration/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"ProjectTypeConfigurationId": 2,
"ProjectTypeId": 116745,
"OverrideAccountConfiguration": true,
"ProgressModelId": 1,
"RevenueRecognitionModelId": 5,
"RevenueModelId": 1,
"RevenueRecognitionFutureModelId": 0,
"RevenueRecognitionPeriodTypeId": 0,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true
}
200
Headers
Content-Type: application/json
Body
{
"ProjectTypeConfigurationId": 28
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Project Type ConfigurationPATCH/ProjectTypeConfiguration/{ProjectTypeConfigurationId}
Example URI
- ProjectTypeConfigurationId
int
(required) Example: 1
Headers
Content-Type: application/json
Token: [token]
Body
{
"ProjectTypeId": 116746,
"OverrideAccountConfiguration": true,
"ProgressModelId": 1,
"RevenueRecognitionModelId": 5,
"RevenueModelId": 1,
"RevenueRecognitionFutureModelId": 0,
"RevenueRecognitionPeriodTypeId": 0,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true
}
200
Headers
Content-Type: application/json
Body
{
"ProjectTypeId": 116746,
"OverrideAccountConfiguration": true,
"ProgressModelId": 1,
"RevenueRecognitionModelId": 5,
"RevenueModelId": 1,
"RevenueRecognitionFutureModelId": 0,
"RevenueRecognitionPeriodTypeId": 0,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true,
"ProjectTypeConfigurationId": 1
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Default Configuration ¶
Get Default ConfigurationGET/DefaultConfiguration/{ProjectTypeId}
Example URI
- ProjectTypeId
int
(required) Example: 116745
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"ProgressModelId": 1,
"RevenueModelId": 1,
"RevenueRecognitionModelId": 5,
"RevenueRecognitionFutureModelId": 0,
"RevenueRecognitionPeriodTypeId": 0,
"AllowProjectOverride": true,
"AllowManualProgress": true,
"AllowManualAmountInputRR": true
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Currency ¶
Get Currencies ¶
Get Account CurrenciesGET/GetCurrency
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"CurrencyName": "US Dollar",
"AccountCurrencyId": 4145,
"SymbolAndIso": "$ (USD)",
"IsActive": true,
"ExchangeValue": 1,
"Symbol": "$",
"AlphabeticCode": "USD"
},
{
"CurrencyName": "Denar",
"AccountCurrencyId": 18410,
"SymbolAndIso": "ден (MKD)",
"IsActive": true,
"ExchangeValue": 15,
"Symbol": "ден",
"AlphabeticCode": "MKD"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Objectives & Processes ¶
Business Goal Categories ¶
Get business goal categoriesGET/businessgoalcategories
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"BusinessGoalCategoryId": 3936,
"BusinessGoalCategoryName": "Cost reduction"
},
{
"BusinessGoalCategoryId": 3935,
"BusinessGoalCategoryName": "Grow the business"
},
{
"BusinessGoalCategoryId": 3937,
"BusinessGoalCategoryName": "Run the business "
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Business Goals ¶
Get business goalsGET/businessgoals
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"BusinessGoalId": 140,
"BusinessGoalName": "New Plan\\Increase Sales",
"GoalNo": "BG-1142-13110001"
},
{
"BusinessGoalId": 141,
"BusinessGoalName": "Plan Estratégico\\Increase Profit",
"GoalNo": "BG-1142-13110002"
},
{
"BusinessGoalId": 142,
"BusinessGoalName": "Plan Estratégico\\My Goal",
"GoalNo": "BG-1142-13120001"
}
]
Business Plans ¶
Get business plansGET/businessplans
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"BusinessPlanId": 115,
"BusinessPlanName": "Plan Estratégico",
"StartDate": "2010-01-01T00:00:00",
"EndDate": "2010-12-31T00:00:00"
},
{
"BusinessPlanId": 116,
"BusinessPlanName": "New Plan",
"StartDate": "2016-05-11T00:00:00",
"EndDate": "2016-05-11T00:00:00"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Business Processes ¶
Get business processesGET/businessprocesses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"BusinessProcessName": "New Process 1",
"BusinessProcessId": 114,
"ActivityName": "new Activity 1",
"ValueChainName": "new chain1",
"ParentProcess": "PRC1"
},
{
"BusinessProcessName": "PRC1",
"BusinessProcessId": 115,
"ActivityName": "new Activity 1",
"ValueChainName": "new chain1",
"ParentProcess": ""
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Organization ¶
Organization Units ¶
Get organization unitsGET/organizationunits
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"UnitId": 450,
"UnitName": "Asp.Net",
"ParentUnitId": 458,
"ParentUnitName": "Android",
"UnitCode": "123",
"EmailAddress": "test"
},
{
"UnitId": 451,
"UnitName": "MVC",
"ParentUnitId": 450,
"ParentUnitName": "Asp.Net",
"UnitCode": "",
"EmailAddress": ""
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Assets ¶
Assets ¶
Get assetsGET/assets
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"AssetId": 133,
"AssetName": "Asset",
"ParentAssetId": 0,
"ParentAssetName": "",
"AssetType": "Infrastructure"
},
{
"AssetId": 134,
"AssetName": "Test",
"ParentAssetId": 0,
"ParentAssetName": "",
"AssetType": "Application"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Parameters ¶
Project Approvals ¶
Get project approvalsGET/projectapprovals
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ProjectApprovalBaseId": 11430,
"ProjectApprovalName": "Approved",
"IconPath": "~/UploadData/Iconlibrary/status.png",
"IsDefault": false
},
{
"ProjectApprovalBaseId": 11431,
"ProjectApprovalName": "Cancel",
"IconPath": "~/UploadData/Iconlibrary/status-offline.png",
"IsDefault": false
},
{
"ProjectApprovalBaseId": 11432,
"ProjectApprovalName": "Pending",
"IconPath": "~/UploadData/Iconlibrary/status-away.png",
"IsDefault": true
},
{
"ProjectApprovalBaseId": 11433,
"ProjectApprovalName": "Rejected",
"IconPath": "~/UploadData/Iconlibrary/status-busy.png",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Priorities v2 ¶
Get Project Priorities v2GET/ProjectPriorities
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 77573,
"Name": "Urgent",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/flag--exclamation.png",
"IsSelected": false
},
{
"Id": 77574,
"Name": "High",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/flag.png",
"IsSelected": false
},
{
"Id": 77575,
"Name": "Normal",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/flag-green.png",
"IsSelected": true
},
{
"Id": 77576,
"Name": "Low",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/flag-white.png",
"IsSelected": false
},
{
"Id": 211168,
"Name": "Test Priority",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/asterisk-yellow.png",
"IsSelected": false
},
{
"Id": 231148,
"Name": "new priority",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/pda.png",
"IsSelected": false
},
{
"Id": 404257,
"Name": "traffic light",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/traffic-light.png",
"IsSelected": false
},
{
"Id": 542647,
"Name": "$abc",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/folder-network.png",
"IsSelected": false
},
{
"Id": 542749,
"Name": "dnl",
"IsSelected": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Statuses v2 ¶
Get Project Statuses v2GET/ProjectStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 126621,
"Name": "Initial 1",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/balloons-white.png",
"IsCompleted": false
},
{
"Id": 126622,
"Name": "Draft 5",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/pencil-ruler.png",
"IsCompleted": false
},
{
"Id": 126623,
"Name": "In Progress 6",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/chart-up-color.png",
"IsCompleted": false
},
{
"Id": 126624,
"Name": "Closed 4",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/lock.png",
"IsCompleted": true
},
{
"Id": 126626,
"Name": "Canceled 3 dhruv",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/minus.png",
"IsCompleted": false
},
{
"Id": 376505,
"Name": "new status",
"IsCompleted": false
},
{
"Id": 658040,
"Name": "new Status 34",
"IsCompleted": false
},
{
"Id": 664355,
"Name": "Status Name Is Unknown long name/Tatva",
"IsCompleted": false
},
{
"Id": 883649,
"Name": "D_abc",
"IsCompleted": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Project Types v2 ¶
Get Project Types v2GET/GetProjectTypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 116741,
"Name": "Presales and Commercial management",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/chart.png"
},
{
"Id": 116742,
"Name": "Research, Studies, Viability",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/external.png"
},
{
"Id": 116743,
"Name": "Consulting",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/property.png"
},
{
"Id": 116744,
"Name": "New product of Business process",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/databases.png"
},
{
"Id": 116745,
"Name": "Change Management",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/node-select-all.png"
},
{
"Id": 116746,
"Name": "Adaptation of product or process",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/node-select.png"
},
{
"Id": 318052,
"Name": "Test Project Type",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/tick-red.png"
},
{
"Id": 457040,
"Name": "category7"
},
{
"Id": 457043,
"Name": "Jira category 3"
},
{
"Id": 457049,
"Name": "Jira Category 2"
},
{
"Id": 499658,
"Name": "Classic",
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/folder-rename.png"
},
{
"Id": 499661,
"Name": "Kanban"
},
{
"Id": 781584,
"Name": "Test Classic Category"
},
{
"Id": 781587,
"Name": "teste category"
},
{
"Id": 818451,
"Name": "Classical"
},
{
"Id": 819646,
"Name": "new"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Priorities v2 ¶
Get Task Priorities v2GET/GetTaskPriorities
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 77515,
"Name": "Urgent",
"Default": false
},
{
"Id": 77516,
"Name": "High",
"Default": false
},
{
"Id": 77517,
"Name": "Normal",
"Default": false
},
{
"Id": 77518,
"Name": "Low",
"Default": false
},
{
"Id": 211046,
"Name": "test",
"Default": false
},
{
"Id": 231020,
"Name": "new priority",
"Default": false
},
{
"Id": 254550,
"Name": "test priority 001",
"Default": false
},
{
"Id": 303157,
"Name": "Medium",
"Default": true
},
{
"Id": 303160,
"Name": "Lowest",
"Default": false
},
{
"Id": 303259,
"Name": "Highest",
"Default": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Statuses v2 ¶
Get Task Statuses v2GET/GetTaskStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 77652,
"Name": "To Do",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 2
},
"Default": true,
"LanguageId": 1
},
{
"Id": 77653,
"Name": "In Progress",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 77654,
"Name": "To Verify",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 2
},
"Default": false,
"LanguageId": 1
},
{
"Id": 77655,
"Name": "Completed",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 3
},
"Default": false,
"LanguageId": 1
},
{
"Id": 275185,
"Name": "test Elf satus",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 302617,
"Name": "new status",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 334909,
"Name": "Test status 001",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 401703,
"Name": "New Jira Status",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 2
},
"Default": false,
"LanguageId": 1
},
{
"Id": 401838,
"Name": "Backlog1",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 3
},
"Default": false,
"LanguageId": 1
},
{
"Id": 540609,
"Name": "factor dell",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 697153,
"Name": "Done",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 3
},
"Default": false,
"LanguageId": 1
},
{
"Id": 730778,
"Name": "almost done",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 730930,
"Name": "Backlog",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 0
},
"Default": false,
"LanguageId": 1
},
{
"Id": 730931,
"Name": "Archive",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 4
},
"Default": false,
"LanguageId": 1
},
{
"Id": 779495,
"Name": "pending",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 779498,
"Name": "tested status",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
},
{
"Id": 780076,
"Name": "Doing",
"KanbanId": 0,
"Order": 0,
"Type": {
"Id": 1
},
"Default": false,
"LanguageId": 1
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Task Types v2 ¶
Get Task Types v2GET/GetTaskTypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 116317,
"Name": "Management",
"Default": false
},
{
"Id": 116318,
"Name": "Design",
"Default": false
},
{
"Id": 116319,
"Name": "Technical",
"Default": false
},
{
"Id": 116320,
"Name": "Analysis",
"Default": false
},
{
"Id": 116321,
"Name": "With clients/users",
"Default": false
},
{
"Id": 116322,
"Name": "Generic",
"Default": true
},
{
"Id": 116323,
"Name": "Documentation",
"Default": false
},
{
"Id": 317031,
"Name": "test",
"Default": false
},
{
"Id": 455440,
"Name": "Story",
"Default": false
},
{
"Id": 455443,
"Name": "Task",
"Default": false
},
{
"Id": 455446,
"Name": "Bug",
"Default": false
},
{
"Id": 455455,
"Name": "Sub-task",
"Default": false
},
{
"Id": 455467,
"Name": "Epic",
"Default": false
},
{
"Id": 819695,
"Name": "Demo",
"Default": false
},
{
"Id": 819701,
"Name": "Demo4",
"Default": false
},
{
"Id": 819707,
"Name": "Demo2",
"Default": false
},
{
"Id": 819713,
"Name": "Demo3",
"Default": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Purchase Types v2 ¶
Get Purchase Types v2GET/PurchaseTypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 29087,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Goods",
"BaseId": 29083,
"IsConsiderAsActualValue": false
},
{
"Id": 29088,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Services",
"BaseId": 29084,
"IsConsiderAsActualValue": false
},
{
"Id": 29089,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Indirect costs",
"BaseId": 29085,
"IsConsiderAsActualValue": false
},
{
"Id": 29090,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Financial costs",
"BaseId": 29086,
"IsConsiderAsActualValue": false
},
{
"Id": 96225,
"AccountId": 4019,
"LanguageId": 1,
"Name": "test type",
"BaseId": 96225,
"IsConsiderAsActualValue": false
},
{
"Id": 106245,
"AccountId": 4019,
"LanguageId": 1,
"Name": "new type",
"BaseId": 106245,
"IsConsiderAsActualValue": false
},
{
"Id": 118037,
"AccountId": 4019,
"LanguageId": 1,
"Name": "test 002",
"BaseId": 118037,
"IsConsiderAsActualValue": false
},
{
"Id": 193073,
"AccountId": 4019,
"LanguageId": 1,
"Name": "new",
"BaseId": 193073,
"IsConsiderAsActualValue": false
},
{
"Id": 222091,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Temp Delete",
"BaseId": 222091,
"IsConsiderAsActualValue": false
},
{
"Id": 262568,
"AccountId": 4019,
"LanguageId": 1,
"Name": "Other",
"BaseId": 262568,
"IsConsiderAsActualValue": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Purchase Statuses v2 ¶
Get Purchase Statuses v2GET/PurchaseStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 47136,
"AccountId": 4019,
"BaseId": 47131,
"Name": "Planned",
"LanguageId": 1,
"IsConsiderAsActualValue": false,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-insert.png"
},
{
"Id": 47137,
"AccountId": 4019,
"BaseId": 47132,
"Name": "Order placed",
"LanguageId": 1,
"IsConsiderAsActualValue": false,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--pencil.png"
},
{
"Id": 47138,
"AccountId": 4019,
"BaseId": 47133,
"Name": "Order received",
"LanguageId": 1,
"IsConsiderAsActualValue": false,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--plus.png"
},
{
"Id": 47139,
"AccountId": 4019,
"BaseId": 47134,
"Name": "Paid",
"LanguageId": 1,
"IsConsiderAsActualValue": true,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/tick-button.png"
},
{
"Id": 47140,
"AccountId": 4019,
"BaseId": 47135,
"Name": "Canceled",
"LanguageId": 1,
"IsConsiderAsActualValue": false,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--minus.png"
},
{
"Id": 130617,
"AccountId": 4019,
"BaseId": 130617,
"Name": "test status",
"LanguageId": 1,
"IsConsiderAsActualValue": false
},
{
"Id": 143023,
"AccountId": 4019,
"BaseId": 143023,
"Name": "new status",
"LanguageId": 1,
"IsConsiderAsActualValue": false
},
{
"Id": 157514,
"AccountId": 4019,
"BaseId": 157514,
"Name": "status 002",
"LanguageId": 1,
"IsConsiderAsActualValue": false
},
{
"Id": 250944,
"AccountId": 4019,
"BaseId": 250944,
"Name": "new",
"LanguageId": 1,
"IsConsiderAsActualValue": false
},
{
"Id": 287095,
"AccountId": 4019,
"BaseId": 287095,
"Name": "Temp Delete",
"LanguageId": 1,
"IsConsiderAsActualValue": false,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-select-week.png"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Revenue Statuses v2 ¶
Get Revenue Statuses v2GET/RevenueStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"AccountId": 4019,
"Name": "Planned",
"Id": 47136,
"BaseId": 47131,
"IsConsiderActualValue": false,
"LanguageId": 1,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/calendar-insert.png"
},
{
"AccountId": 4019,
"Name": "Billed",
"Id": 47137,
"BaseId": 47132,
"IsConsiderActualValue": false,
"LanguageId": 1,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--pencil.png"
},
{
"AccountId": 4019,
"Name": "Cashed",
"Id": 47138,
"BaseId": 47133,
"IsConsiderActualValue": true,
"LanguageId": 1,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--plus.png"
},
{
"AccountId": 4019,
"Name": "Canceled",
"Id": 47139,
"BaseId": 47134,
"IsConsiderActualValue": false,
"LanguageId": 1,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/clipboard--minus.png"
},
{
"AccountId": 4019,
"Name": "Refused",
"Id": 47140,
"BaseId": 47135,
"IsConsiderActualValue": false,
"LanguageId": 1,
"Icon": "http://localhost/ITM.Web/UploadData/Iconlibrary/traffic-light--exclamation.png"
},
{
"AccountId": 4019,
"Name": "test status",
"Id": 130613,
"BaseId": 130613,
"IsConsiderActualValue": false,
"LanguageId": 1
},
{
"AccountId": 4019,
"Name": "new type",
"Id": 143002,
"BaseId": 143002,
"IsConsiderActualValue": false,
"LanguageId": 1
},
{
"AccountId": 4019,
"Name": "revenue 002",
"Id": 157481,
"BaseId": 157481,
"IsConsiderActualValue": false,
"LanguageId": 1
},
{
"AccountId": 4019,
"Name": "new",
"Id": 250816,
"BaseId": 250816,
"IsConsiderActualValue": false,
"LanguageId": 1
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Impacts v2 ¶
Get Risk Impacts v2GET/RiskImpacts
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 38799,
"Name": "High",
"Value": 10,
"DisplayName": "High(10)",
"AccountId": 4019,
"BaseId": 38795
},
{
"Id": 38800,
"Name": "MediumHigh",
"Value": 7,
"DisplayName": "MediumHigh(7)",
"AccountId": 4019,
"BaseId": 38796
},
{
"Id": 38801,
"Name": "MediumLow",
"Value": 5,
"DisplayName": "MediumLow(5)",
"AccountId": 4019,
"BaseId": 38797
},
{
"Id": 38802,
"Name": "Low",
"Value": 1,
"DisplayName": "Low(1)",
"AccountId": 4019,
"BaseId": 38798
},
{
"Id": 105586,
"Name": "2",
"Value": 32,
"DisplayName": "2(32)",
"AccountId": 4019,
"BaseId": 105586
},
{
"Id": 127353,
"Name": "23",
"Value": 12,
"DisplayName": "23(12)",
"AccountId": 4019,
"BaseId": 127353
},
{
"Id": 202120,
"Name": "58",
"Value": 58,
"DisplayName": "58(58)",
"AccountId": 4019,
"BaseId": 202120
},
{
"Id": 271226,
"Name": "65",
"Value": 65,
"DisplayName": "65(65)",
"AccountId": 4019,
"BaseId": 271226
},
{
"Id": 271353,
"Name": "TestDLImpact",
"Value": 2,
"DisplayName": "TestDLImpact(2)",
"AccountId": 4019,
"BaseId": 271353
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Types v2 ¶
Get Risk Types v2GET/RiskTypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 38905,
"Name": "Technical",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 38901
},
{
"Id": 38906,
"Name": "Scope",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 38902
},
{
"Id": 38907,
"Name": "Team",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 38903
},
{
"Id": 38908,
"Name": "Organizational",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 38904
},
{
"Id": 105789,
"Name": "test",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 105789
},
{
"Id": 115827,
"Name": "new",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 115827
},
{
"Id": 127589,
"Name": "test 002",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 127589
},
{
"Id": 202518,
"Name": "new 1",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 202518
},
{
"Id": 271985,
"Name": "TestDL02",
"AccountId": 4019,
"LanguageId": 1,
"BaseId": 271985
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Levels v2 ¶
Get Risk Levels v2GET/RiskLevels
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 29059,
"Value": 0,
"Level": "",
"AccountId": 4019,
"BaseId": 29056,
"assessment": "3",
"Assessment": "Red"
},
{
"Id": 29060,
"Value": 0,
"Level": "",
"AccountId": 4019,
"BaseId": 29057,
"assessment": "2",
"Assessment": "Yellow"
},
{
"Id": 29061,
"Value": 0,
"Level": "",
"AccountId": 4019,
"BaseId": 29058,
"assessment": "1",
"Assessment": "Green"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Probabilities v2 ¶
Get Risk Probabilities v2GET/RiskProbabilities
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 38763,
"Name": "High",
"Value": 4,
"DisplayName": "High(4)",
"AccountId": 4019,
"BaseId": 38759
},
{
"Id": 38764,
"Name": "MediumHigh",
"Value": 3,
"DisplayName": "MediumHigh(3)",
"AccountId": 4019,
"BaseId": 38760
},
{
"Id": 38765,
"Name": "MediumLow",
"Value": 2,
"DisplayName": "MediumLow(2)",
"AccountId": 4019,
"BaseId": 38761
},
{
"Id": 38766,
"Name": "Low",
"Value": 1,
"DisplayName": "Low(1)",
"AccountId": 4019,
"BaseId": 38762
},
{
"Id": 105547,
"Name": "312",
"Value": 32,
"DisplayName": "312(32)",
"AccountId": 4019,
"BaseId": 105547
},
{
"Id": 127319,
"Name": "10",
"Value": 20,
"DisplayName": "10(20)",
"AccountId": 4019,
"BaseId": 127319
},
{
"Id": 202081,
"Name": "67",
"Value": 67,
"DisplayName": "67(67)",
"AccountId": 4019,
"BaseId": 202081
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Risk Statuses v2 ¶
Get Risk Statuses v2GET/RiskStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 29095,
"Name": "Resolved",
"AccountId": 4019,
"BaseId": 29092
},
{
"Id": 29096,
"Name": "Not Analyzed",
"AccountId": 4019,
"BaseId": 29093
},
{
"Id": 29097,
"Name": "Analyzed",
"AccountId": 4019,
"BaseId": 29094
},
{
"Id": 79195,
"Name": "test 1",
"AccountId": 4019,
"BaseId": 79195
},
{
"Id": 86707,
"Name": "new status",
"AccountId": 4019,
"BaseId": 86707
},
{
"Id": 95530,
"Name": "status 002",
"AccountId": 4019,
"BaseId": 95530
},
{
"Id": 151599,
"Name": "new",
"AccountId": 4019,
"BaseId": 151599
},
{
"Id": 203529,
"Name": "Test-DL",
"AccountId": 4019,
"BaseId": 203529
},
{
"Id": 203541,
"Name": "TestDL3",
"AccountId": 4019,
"BaseId": 203541
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Issue Statuses v2 ¶
Get Issue Statuses v2GET/IssueStatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"AccountId": 4019,
"Id": 137,
"BaseId": 141,
"Name": "Open",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 138,
"BaseId": 142,
"Name": "Closed",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 16235,
"BaseId": 16235,
"Name": "Read",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 16238,
"BaseId": 16238,
"Name": "Survey",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 16241,
"BaseId": 16241,
"Name": "Approved",
"LanguageId": 1,
"IsClosed": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Issue Types v2 ¶
Get Issue Types v2GET/IssueTypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"AccountId": 4019,
"Id": 205,
"BaseId": 211,
"Name": "Change request",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 206,
"BaseId": 212,
"Name": "Bug",
"LanguageId": 1,
"IsClosed": false
},
{
"AccountId": 4019,
"Id": 207,
"BaseId": 213,
"Name": "Problem",
"LanguageId": 1,
"IsClosed": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Assessments ¶
Get assessmentsGET/assessments
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"AssesmentBaseId": 3009,
"AssesmentName": "Good",
"AssessmentPath": "~/App_Themes/Default/Images/Green.png"
},
{
"AssesmentBaseId": 3010,
"AssesmentName": "Not Critical",
"AssessmentPath": "~/App_Themes/Default/Images/Yellow.png"
},
{
"AssesmentBaseId": 3011,
"AssesmentName": "Critical",
"AssessmentPath": "~/App_Themes/Default/Images/Red.png"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Countries ¶
Get countriesGET/countries
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"CountryId": 289,
"CountryCode": "AF",
"CountryName": "Afghanistan"
},
{
"CountryId": 292,
"CountryCode": "AL",
"CountryName": "Albania"
},
{
"CountryId": 334,
"CountryCode": "DZ",
"CountryName": "Algeria"
},
{
"CountryId": 278,
"CountryCode": "VI",
"CountryName": "American Virgin Islands"
},
{
"CountryId": 2,
"CountryCode": "AD",
"CountryName": "Andorra"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Service Types ¶
Get service typesGET/servicetypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceTypeBaseId": 8337,
"ServiceTypeName": "Infrastructure Management update",
"IconPath": "~/UploadData/Iconlibrary/folder-network.png",
"IsDefault": false
},
{
"ServiceTypeBaseId": 8335,
"ServiceTypeName": "Manteinance",
"IconPath": "~/UploadData/Iconlibrary/folder--pencil.png",
"IsDefault": false
},
{
"ServiceTypeBaseId": 8336,
"ServiceTypeName": "Others",
"IconPath": "~/UploadData/Iconlibrary/folder--plus.png",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service Statuses ¶
Get service statusesGET/servicestatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceStatusBaseId": 12746,
"ServiceStatusName": "Approved",
"IconPath": "~/UploadData/Iconlibrary/tick.png",
"IsDefault": false
},
{
"ServiceStatusBaseId": 12750,
"ServiceStatusName": "Canceled",
"IconPath": "~/UploadData/Iconlibrary/minus.png",
"IsDefault": false
},
{
"ServiceStatusBaseId": 12748,
"ServiceStatusName": "Closed",
"IconPath": "~/UploadData/Iconlibrary/lock.png",
"IsDefault": false
},
{
"ServiceStatusBaseId": 12745,
"ServiceStatusName": "Draft",
"IconPath": "~/UploadData/Iconlibrary/pencil-ruler.png",
"IsDefault": true
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service Priorities ¶
Get service prioritiesGET/servicepriorities
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServicePriorityBaseId": 7894,
"ServicePriorityName": "High",
"IconPath": "~/UploadData/Iconlibrary/flag.png",
"IsDefault": false
},
{
"ServicePriorityBaseId": 7896,
"ServicePriorityName": "Low",
"IconPath": "~/UploadData/Iconlibrary/flag-white.png",
"IsDefault": false
},
{
"ServicePriorityBaseId": 7895,
"ServicePriorityName": "Normal",
"IconPath": "~/UploadData/Iconlibrary/flag-green.png",
"IsDefault": true
},
{
"ServicePriorityBaseId": 7893,
"ServicePriorityName": "Urgent",
"IconPath": "~/UploadData/Iconlibrary/flag--exclamation.png",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Service Approvals ¶
Get service approvalsGET/serviceapprovals
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ServiceApprovalBaseId": 11434,
"ServiceApprovalName": "Approve",
"IconPath": "~/UploadData/Iconlibrary/status.png",
"IsDefault": false
},
{
"ServiceApprovalBaseId": 11435,
"ServiceApprovalName": "Cancel",
"IconPath": "~/UploadData/Iconlibrary/status-offline.png",
"IsDefault": false
},
{
"ServiceApprovalBaseId": 11436,
"ServiceApprovalName": "Pending",
"IconPath": "~/UploadData/Iconlibrary/status-away.png",
"IsDefault": true
},
{
"ServiceApprovalBaseId": 11437,
"ServiceApprovalName": "Rejected",
"IconPath": "~/UploadData/Iconlibrary/status-busy.png",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Activity Priorities ¶
Get activity prioritiesGET/activitypriorities
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ActivityPriorityBaseId": 7624,
"ActivityPriorityName": "High123",
"IsDefault": true
},
{
"ActivityPriorityBaseId": 7625,
"ActivityPriorityName": "Normal",
"IsDefault": false
},
{
"ActivityPriorityBaseId": 7626,
"ActivityPriorityName": "Low",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Activity Statuses ¶
Get activity statusesGET/activitystatuses
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ActivityStatusBaseId": 8120,
"ActivityStatusName": "Scheduled",
"IsDefault": true
},
{
"ActivityStatusBaseId": 8121,
"ActivityStatusName": "In Progress",
"IsDefault": false
},
{
"ActivityStatusBaseId": 8122,
"ActivityStatusName": "StandBy",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Activity Types ¶
Get activity typesGET/activitytypes
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"ActivityTypeBaseId": 9848,
"ActivityTypeName": "Management123",
"IsDefault": false
},
{
"ActivityTypeBaseId": 9849,
"ActivityTypeName": "Analysis",
"IsDefault": false
},
{
"ActivityTypeBaseId": 9850,
"ActivityTypeName": "Technical Issue",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Costing ¶
Professional categories ¶
Get categoriesGET/effortcategories
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"CategoryId": 379,
"AccountId": 1142,
"CategoryName": "Default One",
"IsDefault": true,
"Active": true
},
{
"CategoryId": 403,
"AccountId": 1142,
"CategoryName": "Software Engineer",
"IsDefault": false,
"Active": true
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Category ¶
Categories ¶
Get CategoriesGET/Categories
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 4681,
"Name": "Default delete502"
},
{
"Id": 5549,
"Name": "Software Engineer"
},
{
"Id": 11147,
"Name": "Network Engineer"
},
{
"Id": 13097,
"Name": "QA Engg, test"
},
{
"Id": 20449,
"Name": "New Category 1"
},
{
"Id": 21687,
"Name": "Brand New Category(UIX)"
},
{
"Id": 27501,
"Name": "Mangement"
},
{
"Id": 27502,
"Name": "Test"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Category ¶
Get CategoryGET/Category/{CategoryId}
Example URI
- CategoryId
int
(required) Example: 4681
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 4681,
"Name": "Default delete502"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Communication ¶
Get Account Language ¶
Get Account LanguageGET/accountlanguages
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"LanguageId": 1,
"LanuageName": "English",
"LanguageDefaultName": "English"
},
{
"LanguageId": 2,
"LanuageName": "Spanish",
"LanguageDefaultName": "Español"
},
{
"LanguageId": 3,
"LanuageName": "Portuguese",
"LanguageDefaultName": "Português"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
User Management ¶
Users ¶
Get usersGET/users
Retrieves list of account users.
This endpoint accepts Group Filtering v1. The parameters this filter accepts are:
-
AccountId
-
DisplayName
-
FirstName
-
LastName
-
UserName
-
LanguageId
-
DepartmentId
-
IsActive
-
GroupId
-
CurrentPosition
-
ProviderName
-
ProviderId
-
CategoryName
-
CategoryId
-
DepartmentName
-
LanguageName
-
StandardWorkHourName
-
StandardWorkHourId
-
UserRole
-
UserLicense
-
UserGroup
-
IsNonLoginUser
-
UserEmail
-
PersonnelNumber
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"UserId": 1686,
"AccountId": 1142,
"DisplayName": "David Simon",
"FirstName": "David",
"LastName": "Simon",
"UserName": "stakeholder@globalcorp360.com",
"Photo": "",
"LanguageId": 1,
"DepartmentId": 0,
"IsActive": true,
"GroupId": 0,
"CurrentPosition": "",
"ProviderName": "",
"ProviderId": 0,
"CategoryName": "",
"CategoryId": 0,
"DepartmentName": "",
"LanuageName": "English",
"StandardWorkHourName": "Default",
"StandardWorkHourId": 581,
"UserRole": "",
"UserLicense": "",
"UserGroup": "",
"IsNonLoginUser": false,
"UserEmail": "stakeholder@globalcorp360.com",
"PersonnelNumber": "9898989898"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
User ¶
Get a user v2GET/users/{UserId}
Example URI
- UserId
int
(required) Example: 1686
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"UserId": 1686,
"AccountId": 1142,
"EmailAddress": "stakeholder@globalcorp360.com",
"DisplayName": "David Simon",
"FirstName": "David",
"LastName": "Simon",
"Photo": "",
"IsNonLoginUser": false,
"PersonalNumber": "9898989898",
"AlternativeEmailAddress": "",
"DefaultLanguage": "English",
"ProfessionalExperience": "3 years experience in this industry",
"Specialities": "Backend and Front End",
"FacebookLink": "www.facebook.com/itmplatform",
"LinkedInLink": "www.linkedin.com/itmplatform",
"WebsiteLink": "www.itmplatform.com",
"AboutMe": "Hi! I am David Simon.",
"Resume": "",
"Groups": [
{
"GroupId": 832
},
{
"GroupId": 1007
}
],
"Roles": [
{
"Id": 32811,
"Name": "View Only Role"
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
404
Headers
Content-Type: application/json
Body
{
"Id": 1142,
"StatusMessage": "User does not exist.",
"StatusCode": 404
}
All Users v2 ¶
Get Account Users v2POST/AllUsers
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"pagerid": "907b142f-955c-4c6f-8c83-3114289128c8",
"page": 0,
"pageSize": 1,
"list": [
{
"UserId": 39783,
"AccountId": 18137,
"EmailAddress": "junior.perassoli@itmplatform.com",
"DisplayName": "Junior Perassoli",
"StandardWorkHourId": 0,
"FirstName": "Junior",
"LastName": "Perassoli",
"Initials": "JP",
"Photo": "",
"IsNonLoginUser": false,
"PersonalNumber": "",
"AlternativeEmailAddress": "",
"DefaultLanguage": "Spanish",
"ProfessionalExperience": "",
"Specialities": "",
"FacebookLink": "",
"LinkedInLink": "",
"WebsiteLink": "",
"AboutMe": "",
"IsActive": true,
"Resume": "",
"DateFormatTypeId": 0,
"NumberFormatId": 0,
"FirstDayOfWeek": 0,
"NotifyViaEmailForNewTask": false,
"NotifyViaEmailForUpdatedTask": false,
"TimeEntryType": 0,
"CreatedDate": "",
"UpdatedDate": "",
"Groups": [],
"Roles": [],
"CountryId": 0,
"Category": "Tester",
"Provider": "Supplier1",
"Department": "Sales",
"Holidays": [
{
"UserId": 0,
"HolidayId": 0,
"HolidayDate": "2017-09-15T00:00:00Z",
"EndDate": "2017-09-16T00:00:00Z"
},
{
"UserId": 0,
"HolidayId": 0,
"HolidayDate": "2018-03-30T00:00:00Z",
"EndDate": "2018-03-31T00:00:00Z"
}
],
"Position": "Jefe de pruebas"
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
User Roles ¶
Get Account User RolesGET/Roles
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 10529,
"Name": "Project and Service Manager (PPM)",
"License": {
"Id": 8,
"UserId": 0,
"PriorityOrder": 0,
"IsProjectManagerLicense": false,
"InternalLicenseName": "Project & Service Manager (PPM)",
"PublicLicenseName": "Project Manager",
"Count": 0
}
},
{
"Id": 10530,
"Name": "Team Member (PPM)",
"License": {
"Id": 9,
"UserId": 0,
"PriorityOrder": 0,
"IsProjectManagerLicense": false,
"InternalLicenseName": "Team Member (PPM)",
"PublicLicenseName": "Team Member",
"Count": 0
}
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Standard Work Hours ¶
Standard Work Hours ¶
Insert Standard Work HoursPOST/StandardWorkHours/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "test 2",
"Monday": "1:00",
"Tuesday": "1:59",
"Wednesday": "1:49",
"Thursday": "1:0",
"Friday": "1:0",
"Saturday": "1:0",
"Sunday": "1:58",
"IsDefault": 1
}
200
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "Working hours schedule created",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update Standard Work HoursPATCH/StandardWorkHours/{StandardWorkHourId}
Example URI
- StandardWorkHourId
int
(required) Example: 23482
Headers
Content-Type: application/json
Token: [token]
Body
{
"Name": "test 2",
"Monday": "1:00",
"Tuesday": "1:59",
"Wednesday": "1:49",
"Thursday": "1:0",
"Friday": "1:0",
"Saturday": "1:0",
"Sunday": "1:58",
"IsDefault": 1
}
200
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "Working hours schedule updated",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete Standard Work HoursDELETE/StandardWorkHours/{StandardWorkHourId}
Example URI
- StandardWorkHourId
int
(required) Example: 23482
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "Working hours schedule deleted",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "You can not delete this standard work hour, as it's default standard work hour.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Standard Work HourGET/StandardWorkHours/{StandardWorkHourId}
Example URI
- StandardWorkHourId
int
(required) Example: 3658
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 3658,
"AccountId": 4019,
"Name": "Default",
"Monday": "08:00",
"Tuesday": "08:00",
"Wednesday": "08:00",
"Thursday": "09:00",
"Friday": "08:00",
"Saturday": "00:00",
"Sunday": "00:00",
"IsDefault": false
}
400
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "You can not delete this standard work hour, as it's default standard work hour.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Standard Work Hours ¶
Get Standard Work HoursGET/StandardWorkHours
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 3658,
"AccountId": 4019,
"Name": "Default",
"MonHour": 8,
"MonMin": 0,
"Monday": "08:00",
"TueHour": 8,
"TueMin": 0,
"Tuesday": "08:00",
"WedHour": 8,
"WedMin": 0,
"Wednesday": "08:00",
"ThuHour": 9,
"ThuMin": 0,
"Thursday": "09:00",
"FriHour": 8,
"FriMin": 0,
"Friday": "08:00",
"SatHour": 0,
"SatMin": 0,
"Saturday": "00:00",
"SunHour": 0,
"SunMin": 0,
"Sunday": "00:00",
"IsDefault": false
},
{
"Id": 7582,
"AccountId": 4019,
"Name": "noon shift",
"MonHour": 13,
"MonMin": 30,
"Monday": "13:30",
"TueHour": 13,
"TueMin": 30,
"Tuesday": "13:30",
"WedHour": 13,
"WedMin": 30,
"Wednesday": "13:30",
"ThuHour": 13,
"ThuMin": 30,
"Thursday": "13:30",
"FriHour": 13,
"FriMin": 30,
"Friday": "13:30",
"SatHour": 13,
"SatMin": 30,
"Saturday": "13:30",
"SunHour": 13,
"SunMin": 30,
"Sunday": "13:30",
"IsDefault": false
}
]
400
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "You can not delete this standard work hour, as it's default standard work hour.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Standard Work Hours Search ¶
Get Standard Work Hours SearchPOST/StandardWorkHours/Search
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"total": 2,
"pagerid": "7561840d-d483-4ef9-929f-419790689df7",
"page": 1,
"pageSize": 50,
"list": [
{
"Id": 3658,
"AccountId": 4019,
"Name": "Default",
"Monday": "08:00",
"Tuesday": "08:00",
"Wednesday": "08:00",
"Thursday": "09:00",
"Friday": "08:00",
"Saturday": "00:00",
"Sunday": "00:00",
"IsDefault": false
},
{
"Id": 7582,
"AccountId": 4019,
"Name": "noon shift",
"Monday": "13:30",
"Tuesday": "13:30",
"Wednesday": "13:30",
"Thursday": "13:30",
"Friday": "13:30",
"Saturday": "13:30",
"Sunday": "13:30",
"IsDefault": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"Id": 23482,
"StatusMessage": "You can not delete this standard work hour, as it's default standard work hour.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
My Profile ¶
My details ¶
Get my detailsGET/mydetail
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"LoginName": "stakeholder@globalcorp360.com",
"AlternativeEmailAddress": "me@globalcorp360.co.in",
"FirstName": "David",
"LastName": "Simon",
"LanguageId": 1,
"ProfessionalExperience": ".Net & Windows Phone 1",
"Specialities": "test",
"Linkdin": "",
"Facebook": "",
"Website": "stakeholder@globalcorp360.com",
"Resume": null,
"Photo": null,
"AboutMe": "test",
"DateFormatTypeId": 0,
"FirstDayOfWeekId": 0,
"NumberFormatId": 1
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Update my detailsPUT/mydetail
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"LoginName":"new.user@globalcorp360.com",
"AlternativeEmailAddress":"me@globalcorp360.co.in",
"FirstName":"John",
"LastName":"Doe",
"LanguageId":1,
"ProfessionalExperience":".Net & Windows Phone 1",
"Specialities":"test",
"Linkdin":"test",
"Facebook":"test",
"Website":"john.blogspot.com",
"Resume":"",
"Photo":"",
"AboutMe":"",
"DateFormatTypeId":2,
"FirstDayOfWeekId": 0,
"NumberFormatId": 1
}
}
200
Headers
Content-Type: application/json
Body
{
{
"UserId":1686,
"StatusMessage": "User updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "User doesn't exist",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter login name(Email Address)",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter valid email address",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter first name",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter last name",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter valid language id",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter valid alternative email address",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Please enter valid website",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Date format type id should be 1 or 2",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "First day of week id should be between 0(sun) to 6 (sat)",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Number format type id should be 1 or 2",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "Login name already exists",
"StatusCode": 400
}
{
"UserId":0,
"StatusMessage": "This user is currently inactive",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
My default preferences ¶
Get my default preferencesGET/mydefaultpreference
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"OnCommentsOfMyMsg": true,
"OnMsgThatIHaveCommented": true,
"OnDirectMsg": true,
"OnSystemDirectMsg": true,
"OnTeamBoardMsg": true,
"OnTaskStartBeforeDays": true,
"OnTaskEndBeforeDays": true,
"DaysBeforeTaskStart": 10,
"DaysBeforeTaskEnd": 1,
"DaysAhead": 3,
"IsActive": true,
"DaysAfterStatusChanged": 5
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Update my default preferencesPUT/mydefaultpreference
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"OnCommentsOfMyMsg": true,
"OnMsgThatIHaveCommented": true,
"OnDirectMsg": true,
"OnSystemDirectMsg": true,
"OnTeamBoardMsg": true,
"OnTaskStartBeforeDays": true,
"OnTaskEndBeforeDays": true,
"DaysBeforeTaskStart": 10,
"DaysBeforeTaskEnd": 1,
"DaysAhead": 3,
"IsActive": true,
"DaysAfterStatusChanged": 5
}
}
200
Headers
Content-Type: application/json
Body
{
{
"StatusMessage": "Record updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"StatusMessage": "detailsdoesn't exist",
"StatusCode": 400
}
{
"StatusMessage": "Days before task start should be between 0 to 365",
"StatusCode": 400
}
{
"StatusMessage": "Days before task end should be between 0 to 365",
"StatusCode": 400
}
{
"StatusMessage": "Days ahead should be between 0 to 365",
"StatusCode": 400
}
{
"StatusMessage": "Days after status changed should be between 0 to 365",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
My educations ¶
Get my educationsGET/myeducations
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"SrNo": 1,
"UserEducationId": 68,
"CountryId": 355,
"InstituteName": "test1 123",
"Degree": "test2",
"EducationStartMonthId": 6,
"EducationStartYear": 2013,
"EducationEndMonthId": 2,
"EducationEndYear": 2016,
"Activities": "test3",
"Note": "test4",
"DisplayPublic": true
},
{
"SrNo": 2,
"UserEducationId": 71,
"CountryId": 378,
"InstituteName": "test 3",
"Degree": "test 4",
"EducationStartMonthId": 1,
"EducationStartYear": 2016,
"EducationEndMonthId": 1,
"EducationEndYear": 2017,
"Activities": "test 5",
"Note": "test 6",
"DisplayPublic": false
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
My education ¶
Get my educationGET/myeducation/{UserEducationId}
Example URI
- UserEducationId
int
(required) Example: 68
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
"SrNo": 1,
"UserEducationId": 68,
"CountryId": 355,
"InstituteName": "test1 123",
"Degree": "test2",
"EducationStartMonthId": 6,
"EducationStartYear": 2013,
"EducationEndMonthId": 2,
"EducationEndYear": 2016,
"Activities": "test3",
"Note": "test4",
"DisplayPublic": true
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Add my educationPOST/myeducation/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"CountryId": 355,
"InstituteName": "test institute",
"Degree": "test2",
"EducationStartMonthId": 6,
"EducationStartYear": 2013,
"EducationEndMonthId": 2,
"EducationEndYear": 2016,
"Activities": "test3",
"Note": "test4",
"DisplayPublic": true
}
}
200
Headers
Content-Type: application/json
Body
{
{
"UserEducationId":68,
"StatusMessage": "User Education inserted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter institute name",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter degree",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter country id greater than 0",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter education start month id between 1 to 12",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid education start year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter education end month id between 1 to 12",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid education end year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid country id",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Education end year must be the same as or later than start year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Education end month id must be the same as or later than start month id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Update my educationPUT/myeducation/{UserEducationId}
Example URI
- UserEducationId
int
(required) Example: 68
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"CountryId": 355,
"InstituteName": "test institute",
"Degree": "test2",
"EducationStartMonthId": 6,
"EducationStartYear": 2013,
"EducationEndMonthId": 2,
"EducationEndYear": 2016,
"Activities": "test3",
"Note": "test4",
"DisplayPublic": true
}
}
200
Headers
Content-Type: application/json
Body
{
{
"UserEducationId":68,
"StatusMessage": "User Education updated successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "User education detailsdoesn't exist",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter institute name",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter degree",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter country id greater than 0",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter education start month id between 1 to 12",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid education start year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter education end month id between 1 to 12",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid education end year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Please enter valid country id",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Education end year must be the same as or later than start year",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "Education end month id must be the same as or later than start month id",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Delete my educationDELETE/myeducation/{UserEducationId}
Example URI
- UserEducationId
int
(required) Example: 331
200
Headers
Content-Type: application/json
Body
{
{
"UserEducationId":331,
"StatusMessage": "User Education deleted successfully",
"StatusCode": 200
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"UserEducationId":0,
"StatusMessage": "User education detailsdoesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Favorites ¶
Entity Favorites ¶
Get entity favoritesGET/favourite/{EntityId}/{EntityType}
Retrieves a favourite id. EntityId is id of any entity like projectId, TaskId, etc. This method will return favourite id if particular entity is mark as favourite otherwise it will return -1.
Entity Type is from following list:
-
Project = 1
-
Task = 2
-
Service = 3
-
Activity = 4
-
ProjectTeam = 5
-
ProjectBudget = 6
-
TaskList = 7
-
ProjectPurchase = 8
-
TaskTeam = 9
-
TaskPurchase = 10
-
ProjectList = 11
-
MyProjects = 12
-
MyServices = 13
-
MyTaskAndActivities = 14
-
ProjectRevenue = 15
-
TaskRevenue = 16
-
ProjectPurchaseDetail=17
-
ProjectRevenueDetail=18
-
ProjectRisk=19
-
ProjectRiskDetail=20
-
TaskFollowUp=21
-
TaskFollowUpDetail=22
-
TaskPurchaseDetail=23
-
TaskRevenueDetail=24
-
ProjectKanban = 25
-
TaskEffort = 26
Example URI
- EntityId
int
(required) Example: 20441- EntityType
int
(required) Example: 3
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
{
4816
}
}
{
{
-1
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Favorite ¶
Add a favoritePOST/favourite/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
{
"AccountId":1143,
"UserId":1745,
"EntityId":331,
"EntityType":1,
"Order":-1,
"URL":"UserPages/ProjectGeneral.aspx?pid=331",
"ParentEntityType":0,
"ParentEntityId":0
}
}
201
Headers
Content-Type: application/json
Body
{
{
"IsSuccess": "1",
"FavouriteId" : 4880
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Delete a favoriteDELETE/favourite/{FavouriteId}
Example URI
- FavouriteId
int
(required) Example: 4880
201
Headers
Content-Type: application/json
Body
{
{
"IsSuccess": "1"
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Favourites ¶
Get FavoritesGET/favourites
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"FavouriteId": 4876,
"AccountId": 1142,
"UserId": 1686,
"EntityId": 367,
"EntityType": 5,
"Order": 1,
"URL": "UserPages/ProjectTeam.aspx?pid=367",
"EntityName": "New Prj",
"ParentEntityType": 0,
"ParentEntityId": 0,
"ParentEntityName": ""
},
{
"FavouriteId": 4879,
"AccountId": 1142,
"UserId": 1686,
"EntityId": 22454,
"EntityType": 9,
"Order": 2,
"URL": "UserPages/TaskTeam.aspx?pid=367",
"EntityName": "Configuración DataLoader",
"ParentEntityType": 1,
"ParentEntityId": 367,
"ParentEntityName": "New Prj"
},
{
"FavouriteId": 4878,
"AccountId": 1142,
"UserId": 1686,
"EntityId": 22454,
"EntityType": 2,
"Order": 4,
"URL": "UserPages/TaskDetail.aspx?pid=367",
"EntityName": "Configuración DataLoader",
"ParentEntityType": 1,
"ParentEntityId": 367,
"ParentEntityName": "New Prj"
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Reorder Favourite ¶
Reorder FavoritePOST/favourite/{FavouriteId}/reorder/{NewIndex}
Example URI
- FavouriteId
int
(required) Example: 4880- NewIndex
int
(required) Example: 1
201
Headers
Content-Type: application/json
Body
{
{
"IsSuccess": "1"
}
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
User Invite ¶
Check Mail Status ¶
Check Mail StatusPOST/userinvite/CheckMailStatus/{Email}
Check user has already sent mail to particular mail or not
Example URI
string
(required) Example: fawad.abbas@itmplatform.com
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"IsSent": "1"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Check User Exist ¶
Check User ExitsPOST/CheckUserExist/{Email}
Check user email alrady exists in database or not
Example URI
string
(required) Example: fawad.abbas@itmplatform.com
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"IsExists": "1"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Save User Invitation details ¶
Save User Invitation detailsPOST/SaveUserDetails
Insert invite user detail
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"InviteUserId": 6,
"InviteEmail": "info@ibereffect.com",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
"RoleId": 32,
"StatusId": 1
}
200
Headers
Content-Type: application/json
Body
{
"IsSuccess": "1"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Update user invite detail ¶
Update user invite detailPUT/UpdateUserDetails/{InviteId}
Example URI
- InviteId
int
(required) Example: 7489
Headers
Content-Type: application/json
Token: [token]
Body
{
"InviteId": 6,
"InviteEmail": "info@ibereffect.com",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
"UserRoleName": "Team Member (PPM)",
"StatusId": 1
}
200
Headers
Content-Type: application/json
Body
{
"InviteId": 68,
"StatusMessage": "User Invitation detail updated successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
{
"InviteId":0,
"StatusMessage": "User Invitation details doesn't exist",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Send User Invitation email ¶
Send User Invitation emailPOST/SendUserInvitationEmail/{InviteId}
Send User Invitation email
Example URI
- InviteId
int
(required) Example: 7489
Headers
Content-Type: application/json
Token: [token]
Body
{
"InviteEmail": "info@ibereffect.com",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
}
200
Headers
Content-Type: application/json
Body
{
"IsSent": "1"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Get email details ¶
Get email detailsGET/GetEmailDetail
Get email detail that already sent.
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"InviteId": 6,
"InviteEmail": "info@ibereffect.com",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
"UserRoleName": "Team Member (PPM)",
"StatusId": 1
},
{
"InviteId": 11,
"InviteEmail": "walter.marin@cavingenieros.com",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
"UserRoleName": "IT Manager",
"StatusId": 2
},
{
"InviteId": 267,
"InviteEmail": "vinayak.darji@etatvasoft.com12",
"Message": Hello, I would like you to try ITM Platform, the project and portfolio management cloud-based solution. Please accept the invitation.,
"UserRoleName": "Projects and Services Manager",
"StatusId": 3
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Set Password ¶
Set PasswordPOST/SetPassword/{InviteId}
Set user password if he/she has registered in another account instead of this
Example URI
- InviteId
int
(required) Example: 7489
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Password": "324234"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Save User Confirmation ¶
Save User ConfirmationPOST/SaveUserConfirmation/{InviteId}
Example URI
- InviteId
int
(required) Example: 7489
Headers
Content-Type: application/json
Token: [token]
Body
{
"Password": 355,
"FirstName": "test institute",
"LastName": "test2"
}
200
Headers
Content-Type: application/json
Body
{
"IsSuccess": "1"
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
Provider ¶
Providers ¶
Get ProvidersGET/Providers/
Example URI
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
[
{
"Id": 1178,
"AccountId": 4019,
"Name": "Test Provider",
"Code": ""
},
{
"Id": 1641,
"AccountId": 4019,
"Name": "new provider",
"Code": ""
},
{
"Id": 1758,
"AccountId": 4019,
"Name": "New provider 123",
"Code": ""
},
{
"Id": 1863,
"AccountId": 4019,
"Name": "provider002",
"Code": ""
},
{
"Id": 2081,
"AccountId": 4019,
"Name": "New Provider on 02/08",
"Code": ""
},
{
"Id": 3635,
"AccountId": 4019,
"Name": "new prvoder test",
"Code": ""
},
{
"Id": 5144,
"AccountId": 4019,
"Name": "ITM Manager",
"Code": ""
},
{
"Id": 5145,
"AccountId": 4019,
"Name": "Blue Engineering",
"Code": ""
},
{
"Id": 5146,
"AccountId": 4019,
"Name": "Manpower Inc.",
"Code": ""
},
{
"Id": 5147,
"AccountId": 4019,
"Name": "Quality Materials, Spa.",
"Code": ""
}
]
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Insert ProvidersPOST/Providers/
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"AccountId": 9,
"Name": "client1",
"StreetAddress": "streetAddress123",
"City": "city1",
"State": "state1",
"Zipcode": "382345",
"Email": "test@test.com",
"Phone": "123456",
"Fax": "123456",
"Website": "www.test.com",
"StandardPaymentClauses": "123",
"CountryId": "1"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 7377,
"StatusMessage": "Provider Inserted Successfully",
"StatusCode": 201
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Update ProvidersPATCH/Providers/{ProviderId}
Example URI
- ProviderId
int
(required) Example: 7377
Headers
Content-Type: application/json
Token: [token]
Body
{
"AccountId": 9,
"Name": "client1",
"StreetAddress": "streetAddress123",
"City": "city1",
"State": "state1",
"Zipcode": "382345",
"Email": "test@test.com",
"Phone": "123456",
"Fax": "123456",
"Website": "www.test.com",
"StandardPaymentClauses": "123",
"CountryId": "1"
}
200
Headers
Content-Type: application/json
Body
{
"Id": 7377,
"StatusMessage": "Provider Updated Successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Delete ProvidersDELETE/Providers/{ProviderId}
Example URI
- ProviderId
int
(required) Example: 7377
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 7377,
"StatusMessage": "Provider Deleted Successfully",
"StatusCode": 200
}
400
Headers
Content-Type: application/json
Body
{
"Id": 0,
"StatusMessage": "Provider does not exist.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Providers v2 ¶
Get Provider v2GET/Provider/{ProviderId}
Example URI
- ProviderId
int
(required) Example: 3725
Headers
Content-Type: application/json
Token: [token]
200
Headers
Content-Type: application/json
Body
{
"Id": 3725,
"AccountId": 18137,
"LanguageId": 0,
"Name": "Supplier1",
"Code": "",
"CountryId": 0,
"StandardPaymentClauses": 0,
"Tax": 0,
"blnActive": false
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}
Get Providers v2 ¶
Get Providers v2GET/Providers/Search
Example URI
Headers
Content-Type: application/json
Token: [token]
Body
{
"filter": {
"Name": {"$regex": "Supplier"}
}
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"pagerid": "7b9e39cf-7746-4d49-8349-85f0289e1d9c",
"page": 0,
"pageSize": 1,
"list": [
{
"Id": 3725,
"AccountId": 18137,
"LanguageId": 0,
"Name": "Supplier1",
"Code": "",
"CountryId": 0,
"StandardPaymentClauses": 0,
"Tax": 0,
"blnActive": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Token expired. Please generate a new token.",
"StatusCode": 400
}
401
Headers
Content-Type: application/json
Body
{
"StatusMessage": "Invalid Token.",
"StatusCode": 401
}
403
Headers
Content-Type: application/json
Body
{
"StatusMessage": "You need additional privileges to complete this action.",
"StatusCode": 403
}