Back to top

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 Authentication
GET/login/{APIKey}

Gets the sessions token based on the API Key

Example URI

GET /login/3140fcb4-3462-4cad-afcc-a75d266af47d
URI Parameters
HideShow
APIKey
string (required) Example: 3140fcb4-3462-4cad-afcc-a75d266af47d
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Token": "552520150723161530268",
  "UserID": "1686",
  "Result": "1",
  "ResultStatus": "Success"
}
Response  400
HideShow
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.

If you do not use `/search`, the results will be limited to 50 records.

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 the pagerid: 4.
    Please note that you can switch between multiple pages with the same pagerId, but if you make changes to sorting, filtering or properties, the pagerId 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

GET https://api.itmplatform.com/v2/companyURL/projects/search?pageSize=10&page=3
POST https://api.itmplatform.com/v2/companyURL/projects/search?pageSize=10&page=3

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

POST https://api.itmplatform.com/v2/companyURL/projects/search/

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}}
$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 or desc

Example URI

GET https://api.itmplatform.com/v2/companyURL/projects/search?sortBy=Duration&sortOrder=desc
POST https://api.itmplatform.com/v2/companyURL/projects/search?sortBy=Duration&sortOrder=desc

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 or Name) 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

POST https://api.itmplatform.com/v2/companyURL/projects/search/

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

POST https://api.itmplatform.com/v2/companyURL/projects/search?page=2&pagerid=11&pageSize=11&sortBy=Name&sortOrder=asc

Body payload

{
    "Filter": {
        "Name": { "$regex": "growth"},
        "KindId": { "$in" : [2, 3] }
    }
,
    "Columns": { "$in": ["Id", "Name"] }
}
If query string parameters and the body request payload contradict each other in a POST method, the body request payload will prevail.

Projects

Projects

The /projects endpoint is available both for v1 and v2 versions.

We recommend using v2.

Get Projects v1 v2
GET/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

GET /projects
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
      "StatusMessage": "Please enter valid field name",
      "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project v2

Get Projects v2
POST/projects/{ProjectId}

Only available on v2, this method accepts paging, sorting, filtering and property selection as described in the section Filter, Page, Sort v2.

Example URI

POST /projects/32005
URI Parameters
HideShow
ProjectId
int (required) Example: 32005
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Filter": {
    "Name": {
      "$regex": "growth"
    },
    "KindId": {
      "$in": [
        2,
        3
      ]
    }
  },
  "Columns": {
    "$in": [
      "Id",
      "Name"
    ]
  }
}
Response  200
HideShow
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"
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
      "StatusMessage": "Please enter valid field name",
      "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project v2

Get a project v2
GET/projects/{?ProjectId}

Example URI

GET /projects/?ProjectId=32005
URI Parameters
HideShow
ProjectId
int (required) Example: 32005
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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&nbsp;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&amp;dh=1\">http://www.youtube.com/watch?v=bdpHRZHv4d8&amp;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&rsquo;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"
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project v2
POST/projects/

Pass IsKanbanProject property true in body for agile project and false for waterfall project.

Example URI

POST /projects/
Request
HideShow
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"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 1234,
  "StatusMessage": "Project inserted successfully.",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
PATCH/projects/{?ProjectId}

Example URI

PATCH /projects/?ProjectId=12262
URI Parameters
HideShow
ProjectId
int (required) Example: 12262
Request
HideShow
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"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 12262,
  "StatusMessage": "Project updated successfully.",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Budget

Get a project budget
GET/project/{ProjectId}/budget

Example URI

GET /project/331/budget
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project budget
PUT/project/{ProjectId}/budget

Example URI

PUT /project/12262/budget
URI Parameters
HideShow
ProjectId
int (required) Example: 12262
Request
HideShow
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
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Budget updated successfully.",
  "StatusCode": 201
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Team

Get a project team
GET/project/{ProjectId}/team

Example URI

GET /project/331/team
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
        }
      }
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Swimlanes

Get project swimlanes
GET/project/{ProjectId}/swimlanes

Example URI

GET /project/627/swimlanes
URI Parameters
HideShow
ProjectId
int (required) Example: 627
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Progress Report

Get project progress report
GET/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

GET /project/331/progress/
URI Parameters
HideShow
ProjectId
string (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
      }
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project progress report
POST/project/{ProjectId}/progress/

Example URI

POST /project/331/progress/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
      "AssessmentId" : 3011,
      "DetailDescription" : "detailsdescription",
      "ShortDescription": "des",
      "PercentageCompleted" : 45,
      "ReportDate" : "2017-06-15T00:00:00Z"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
      "ProjectProgressId":67,
      "StatusMessage": "Project progress inserted successfully",
      "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project progress report
PUT/project/{ProjectId}/progress/{?ProjectProgressId}

Example URI

PUT /project/331/progress/?ProjectProgressId=456
URI Parameters
HideShow
ProjectId
int (required) Example: 331
ProjectProgressId
int (required) Example: 456
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
      "AssessmentId" : 3011,
      "DetailDescription" : "detailsdescription",
      "ShortDescription": "des",
      "PercentageCompleted" : 45,
      "ReportDate" : "2017-06-15T00:00:00Z"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
      "ProjectProgressId":456,
      "StatusMessage": "Project progress updated successfully",
      "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a project progress report
DELETE/project/{ProjectId}/progress/{?ProjectProgressId}

Example URI

DELETE /project/331/progress/?ProjectProgressId=2338
URI Parameters
HideShow
ProjectId
int (required) Example: 331
ProjectProgressId
int (required) Example: 2338
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
      "ProjectProgressId": 2338,
      "StatusMessage": "Project progress deleted successfully",
      "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Change History

Change History
GET/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

GET /Projects/60989/changeHistory?fromDate=2020-12-20T17:00:37
URI Parameters
HideShow
ProjectId
string (required) Example: 60989

The ID of the project.

fromDate
string (optional) Example: 2020-12-20T17:00:37

The starting date from which to get the changes.

Response  200
HideShow
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
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Sprints

Get Project Sprint

Get Project Sprint Search
POST/Projects/{ProjectId}/Sprints/Search

Example URI

POST /Projects/62573/Sprints/Search
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
      }
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  500
HideShow
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 Sprint
GET/Projects/{ProjectId}/Sprints/{SprintId}

Example URI

GET /Projects/62573/Sprints/83338240-51d4-4c0f-b764-c8a7876a156a
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Response  200
HideShow
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": []
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  500
HideShow
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 Sprint
POST/Projects/{ProjectId}/Sprints/

Example URI

POST /Projects/62573/Sprints/
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Sprint inserted successfully",
  "StatusCode": 201,
  "OtherDetails": {
    "Id": "014eb417-2aab-444b-b4e2-a5eba73aae5d"
  }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Project Sprint
PATCH/Projects/{ProjectId}/Sprints/{SprintId}

Example URI

PATCH /Projects/62573/Sprints/83338240-51d4-4c0f-b764-c8a7876a156a
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Sprint updated successfully",
  "StatusCode": 200,
  "OtherDetails": {
    "Id": "83338240-51d4-4c0f-b764-c8a7876a156a"
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  500
HideShow
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 Sprint
DELETE/Projects/{ProjectId}/Sprints/{SprintId}

Example URI

DELETE /Projects/62573/Sprints/83338240-51d4-4c0f-b764-c8a7876a156a
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Sprint deleted successfully.",
  "StatusCode": 200
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Allocate Task to Sprint

Allocate Task to Sprint
POST/Projects/{ProjectId}/Sprints/{SprintId}/Allocate/{TaskId}

Example URI

POST /Projects/62573/Sprints/83338240-51d4-4c0f-b764-c8a7876a156a/Allocate/1540840
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
TaskId
int (required) Example: 1540840
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Sprint allocated successfully.",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Sprint
POST/Projects/{ProjectId}/Sprints/{SprintId}/Allocate

Example URI

POST /Projects/62573/Sprints/83338240-51d4-4c0f-b764-c8a7876a156a/Allocate
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "TaskIds": [
    1540840
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Sprint
GET/Projects/{ProjectId}/AllocatedTasks/{SprintId}

Example URI

GET /Projects/62573/AllocatedTasks/83338240-51d4-4c0f-b764-c8a7876a156a
URI Parameters
HideShow
ProjectId
int (required) Example: 62573
SprintId
string (required) Example: 83338240-51d4-4c0f-b764-c8a7876a156a
Response  200
HideShow
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
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Sprint 83338240-51d4-4c0f-b764-c8a7876a157a does not exists.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/Projects/{ProjectId}/Categories

Example URI

GET /Projects/55711/Categories
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Project does not exist.<br/>",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Associate Professional Categories To Project v2
PUT/Projects/{ProjectId}/Categories

Example URI

PUT /Projects/55711/Categories
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 55711,
  "StatusMessage": "Categories Linked to Project sucessfully",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Project does not exist.<br/>",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
PATCH/Projects/{ProjectId}/Category

Example URI

PATCH /Projects/55711/Category
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "CategoryId": 21687,
  "CategoryType": 2
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 55711,
  "StatusMessage": "Categories Linked to Project sucessfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Insert Professional Category And Price To Project v2
POST/Projects/{ProjectId}/Category

Example URI

POST /Projects/55711/Category
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "CategoryId": 19874,
  "CategoryType": 2,
  "PricePerHour": 300
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 55711,
  "StatusMessage": "Categories Linked to Project sucessfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
PATCH/Projects/{ProjectId}/Categories/{ProfessionalCategoryId}/Price

Example URI

PATCH /Projects/55711/Categories/97999/Price
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
ProfessionalCategoryId
int (required) Example: 97999
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "PricePerHour": 250
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 97999,
  "StatusMessage": "Price Updated sucessfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete Professional Category Price v2
DELETE/Projects/{ProjectId}/Categories/{ProfessionalCategoryId}/Price

Example URI

DELETE /Projects/55711/Categories/97999/Price
URI Parameters
HideShow
ProjectId
int (required) Example: 55711
ProfessionalCategoryId
int (required) Example: 97999
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 97999,
  "StatusMessage": "Price Deleted sucessfully.",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Account Professional Categories v2

GetAccount Professional Categories v2
GET/ProfessionalCategories

Example URI

GET /ProfessionalCategories
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "Id": 19872,
    "Name": "Default delete502"
  },
  {
    "Id": 23474,
    "Name": "Software Engineer"
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Resource Capacity

Get Resource Capacity

Get Resource Capacity
GET/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 starting from 1.

Example URI

GET /resourceCapacity/?StartDate=2022-08-29&Interval=day&NumberOfIntervals=5
URI Parameters
HideShow
StartDate
string (required) Example: 2022-08-29
Interval
string (required) Example: day
NumberOfIntervals
int (required) Example: 5
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Tasks

Get Tasks v2

Get Tasks v2
POST/tasks/search

Example URI

POST /tasks/search
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
      }
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Tasks v2

Get project tasks v2
GET/Projects/{ProjectId}/tasks

Example URI

GET /Projects/43407/tasks
URI Parameters
HideShow
ProjectId
string (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
      }
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Gantt

Get Gantt
GET/Projects/{ProjectId}/Tasks/Gantt

Example URI

GET /Projects/43407/Tasks/Gantt
URI Parameters
HideShow
ProjectId
string (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": []
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Gantt
POST/Projects/{ProjectId}/Tasks/Gantt

Example URI

POST /Projects/43407/Tasks/Gantt
URI Parameters
HideShow
ProjectId
string (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "type": "sync",
  "requestId": 16097428391411,
  "tasks": {
    "removed": [
      {
        "id": 1179392
      }
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "requestId": 16097428391411,
  "type": "sync",
  "revision": null,
  "tasks": {
    "rows": []
  },
  "dependencies": {
    "rows": []
  }
}
Response  400
HideShow
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. "
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Gantt Progress

Insert Automatic Progress
POST/Projects/{ProjectId}/ganttprogress/{PercentDone}

Example URI

POST /Projects/43407/ganttprogress/50
URI Parameters
HideShow
ProjectId
string (required) Example: 43407
PercentDone
string (required) Example: 50
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Task Statuses

Bulk Update Task Status
POST/Projects/{ProjectId}/UpdateTaskStatuses

Example URI

POST /Projects/62573/UpdateTaskStatuses
URI Parameters
HideShow
ProjectId
string (required) Example: 62573
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "TaskIds": "1179390",
  "SelectedStatus": 77653,
  "ProjectMethodTypeId": "1"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1540838,
  "StatusMessage": "Task status updated successfully.",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a task v2

Add a task v2
POST/Projects/{ProjectId}/Tasks

Example URI

POST /Projects/43407/Tasks
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
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"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1193461,
  "StatusMessage": "Task inserted successfully.",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task v2

Update a task v2
PATCH/Projects/{ProjectId}/Tasks/{TaskId}

Example URI

PATCH /Projects/43407/Tasks/1193461
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
TaskId
int (required) Example: 1193461
Request
HideShow
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"
        }
    ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1193461,
  "StatusMessage": "Task updated successfully.",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Bulk Delete tasks v2
DELETE/Projects/{ProjectId}/Tasks/

Example URI

DELETE /Projects/43407/Tasks/
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Task 1 - Type task 123: Task deleted successfully ",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a Task
POST/Projects/{ProjectId}/Tasks/{TaskId}

Example URI

POST /Projects/43407/Tasks/1190324
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
TaskId
int (required) Example: 1190324
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Team

Get a task team
GET/project/{ProjectId}/task/{TaskId}/team/

Example URI

GET /project/331/task/11334/team/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 11334
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a task team
DELETE/project/{ProjectId}/task/{TaskId}/team/{?TaskUserId}/

Example URI

DELETE /project/331/task/123/team/?TaskUserId=2986/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 123
TaskUserId
int (required) Example: 2986
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Deleted Successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Assign a task team
POST/project/{ProjectId}/task/{TaskId}/team/{?ProjectUserIds}/{?TaskManager}

Assigns a task team.

TaskManager specifies that user is task manager or not.

Example URI

POST /project/331/task/123/team/?ProjectUserIds=2345,345/?TaskManager=false
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 123
ProjectUserIds
string (required) Example: 2345,345
TaskManager
bool (required) Example: false
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "User Assigned successfully.",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/Projects/{ProjectId}/GetKanbanTaskStatus

Example URI

GET /Projects/55713/GetKanbanTaskStatus
URI Parameters
HideShow
ProjectId
int (required) Example: 55713
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get or Insert agile task statuses v2
PATCH/Projects/{ProjectId}/GetKanbanTaskStatus

Example URI

PATCH /Projects/55713/GetKanbanTaskStatus
URI Parameters
HideShow
ProjectId
int (required) Example: 55713
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Name": "Pendiente"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 140204,
  "Name": "Pendiente",
  "KanbanId": 16864,
  "Color": "",
  "Order": 1,
  "Date": "",
  "Type": {
    "Id": 1
  },
  "Default": false,
  "LanguageId": 0
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Progress Reports

Get task progress reports
GET/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

GET /project/331/task/20441/progress/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
      }
    ]
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Progress Report

Get a task progress report
GET/project/{ProjectId}/task/{TaskId}/progress/{TaskProgressId}

Example URI

GET /project/331/task/20441/progress/12535
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
TaskProgressId
int (required) Example: 12535
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a task progress report
DELETE/project/{ProjectId}/task/{TaskId}/progress/{TaskProgressId}

Example URI

DELETE /project/331/task/20441/progress/2338
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
TaskProgressId
int (required) Example: 2338
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "TaskProgressId": 2338,
  "StatusMessage": "Task progress deleted successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
POST/projects/{ProjectId}/tasks/{TaskId}/progress/

Example URI

POST /projects/331/tasks/20441/progress/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "AssessmentId": 1234,
  "Description": "detailsdescription",
  "ShortDescription": "des",
  "Percentage": 45,
  "ReportDate": "2017-06-15T00:00:00Z"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 707463,
  "StatusMessage": "Task progress inserted successfully.",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a task progress report v2
PATCH/projects/{ProjectId}/tasks/{TaskId}/progress/{TaskProgressId}

Example URI

PATCH /projects/331/tasks/20441/progress/456
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
TaskProgressId
int (required) Example: 456
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "AssessmentId" : 67,
    "Description" : "detailsdescription",
    "ShortDescription": "des",
    "Percentage" : 45,
    "ReportDate" : "2017-06-15T00:00:00Z"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "Id": 456,
    "StatusMessage": "Task progress updated successfully.",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 category
GET/project/{ProjectId}/task/{TaskId}/effortbyprofessionalcategory

Example URI

GET /project/331/task/20441/effortbyprofessionalcategory
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 member
GET/project/{ProjectId}/task/{TaskId}/effortbyteammember

Example URI

GET /project/331/task/20441/effortbyteammember
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Effort Categories

Add task effort categories
POST/project/{ProjectId}/task/{TaskId}/categories

Example URI

POST /project/331/task/20441/categories
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
[
  {
    "CategoryId": 379,
    "CategoryType": "2"
  }
]
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
        "StatusMessage": "Categories Inserted Successfully",
        "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Effort Category

Delete task effort category
DELETE/project/{ProjectId}/task/{TaskId}/category/{CategoryId}

Example URI

DELETE /project/331/task/20441/category/379
URI Parameters
HideShow
ProjectId
int (required) Example: 331
TaskId
int (required) Example: 20441
CategoryId
int (required) Example: 379
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "CategoryId": 602,
    "CategoryType": "2"
}

}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Deleted Successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Error occurred while Deleting",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Effort

Update a task effort
PUT/project/{ProjectId}/task/{TaskId}/effort

Updates a task Effort. Please note that you should use different syntaxes for waterfall and agile tasks.

Example URI

PUT /project/12262/task/20441/effort
URI Parameters
HideShow
ProjectId
int (required) Example: 12262
TaskId
int (required) Example: 20441
Request
HideShow
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
    }
],
[{}]
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Updated Successfully",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Dependencies

Get task dependencies
GET/project/{ProjectId}/taskdependencies

Example URI

GET /project/1070/taskdependencies
URI Parameters
HideShow
ProjectId
int (required) Example: 1070
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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>
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add task dependencies
POST/project/{ProjectId}/taskdependencies

Example URI

POST /project/1070/taskdependencies
URI Parameters
HideShow
ProjectId
int (required) Example: 1070
Request
HideShow
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
  }
]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete task dependencies
DELETE/project/{ProjectId}/taskdependencies

Example URI

DELETE /project/1070/taskdependencies
URI Parameters
HideShow
ProjectId
int (required) Example: 1070
Request
HideShow
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
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
'success': true
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Baseline

Add task baseline
POST/project/{ProjectId}/baseline

Example URI

POST /project/1070/baseline
URI Parameters
HideShow
ProjectId
int (required) Example: 1070
Request
HideShow
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>
"
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsSuccess": true
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Baselines

Get Project Baselines

Get Project Baselines
GET/project/{ProjectId}/baselines

Example URI

GET /project/53907/baselines
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Active Baseline

Get Project Active Baseline Details
GET/project/{ProjectId}/activebaseline

Example URI

GET /project/53907/activebaseline
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Baseline Detail

Get Project Baseline Details
GET/project/{ProjectId}/baseline/{BaselineId}

Example URI

GET /project/53907/baseline/5387
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
BaselineId
int (required) Example: 5387
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete Project Baseline Details
DELETE/project/{ProjectId}/baseline/{BaselineId}

Example URI

DELETE /project/53907/baseline/5387
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
BaselineId
int (required) Example: 5387
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 53907,
  "BaselineId": 5388,
  "StatusMessage": "Baseline deleted",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Baseline Detail

Active/Inactive Project Baseline
PUT/project/{ProjectId}/baseline/{BaselineId}/{IsActive}

Example URI

PUT /project/53907/baseline/5387/true
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
BaselineId
int (required) Example: 5387
IsActive
bit (required) Example: true
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 53907,
  "BaselineId": 5387,
  "StatusMessage": "Baseline activated",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Rename Baseline

Rename Baseline
PUT/Project/{ProjectId}/renamebaseline

Example URI

PUT /Project/53907/renamebaseline
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "BaselineId": 5387,
  "BaselineName": "My Baseline"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 53907,
  "BaselineId": 5387,
  "StatusMessage": "Baseline name updated",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Insert Baseline

Insert Baseline
POST/Project/{ProjectId}/projectbaseline

Example URI

POST /Project/53907/projectbaseline
URI Parameters
HideShow
ProjectId
int (required) Example: 53907
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectId": 53907,
  "BaselineId": 6160,
  "StatusMessage": "Baseline created",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Purchases

Get Purchases

Get Purchases
POST/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

POST /purchases/search
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Purchases

Get project purchases
GET/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

GET /project/2338/purchases
URI Parameters
HideShow
ProjectId
string (required) Example: 2338
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service purchases

Get service purchases
GET/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

GET /service/2338/purchases
URI Parameters
HideShow
ServiceId
string (required) Example: 2338
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add Project Purchase v2

Add project purchase v2
POST/projects/{ProjectId}/purchases

Adds single or recurring project purchase.

Example URI

POST /projects/55614/purchases
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
Request
HideShow
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
    }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
        {
            "Id": 159665,
            "StatusMessage": "Purchase inserted successfully",
            "StatusCode": 201
        }
    {
        "PurchaseId": [
            "2935",
            "2936"
        ],
        "StatusMessage": "Purchase(s) inserted successfully",
        "StatusCode": 201
    }
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Purchase v2

Update a project purchase v2
PATCH/projects/{ProjectId}/purchases/{PurchaseId}

Example URI

PATCH /projects/55614/purchases/159665
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
PurchaseId
int (required) Example: 159665
Request
HideShow
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
    }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
        "Id": 159665,
        "StatusMessage": "Purchase updated successfully",
        "StatusCode": 200
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  500
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a project purchase
DELETE/projects/{ProjectId}/purchases/{PurchaseId}

Example URI

DELETE /projects/55614/purchases/159665
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
PurchaseId
int (required) Example: 159665
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "Id": 159665,
    "StatusMessage": "Purchase deleted successfully",
    "StatusCode": 200
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a project purchase v2
POST/projects/{ProjectId}/purchases/{PurchaseId}

Example URI

POST /projects/55614/purchases/159662
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
PurchaseId
int (required) Example: 159662
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Bulk Update

Bulk update purchases
PATCH/Projects/{ProjectId}/Purchases

Example URI

PATCH /Projects/55614/Purchases
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "PurchaseIds": "159662,159668",
  "StatusId": "47134"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "StatusCode": 200
  }
]
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 0,
  "StatusMessage": "Purchase 159662 does not exist",
  "StatusCode": 500
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Bulk Delete

Bulk delete purchases
DELETE/Projects/{ProjectId}/BulkDeletePurchases

Example URI

DELETE /Projects/55614/BulkDeletePurchases
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "PurchaseIds": "159662,159668",
  "StatusId": "47134"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "Id": 159662,
    "StatusMessage": "Purchase deleted successfully",
    "StatusCode": 200
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "Id": 0,
    "StatusMessage": "Project doesn't exist.",
    "StatusCode": 400
  }
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Purchases

Get Task Purchases
GET/Projects/{ProjectId}/TaskPurchases/{TaskId}

Example URI

GET /Projects/55614/TaskPurchases/121620
URI Parameters
HideShow
ProjectId
int (required) Example: 55614
TaskId
int (required) Example: 121620
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service purchase

Add service purchase
POST/service/{ServiceId}/purchase/

Adds single or recurring service purchase. Please note that you should use different syntaxes for single and recurring purchases.

Example URI

POST /service/339/purchase/
URI Parameters
HideShow
ServiceId
int (required) Example: 339
Request
HideShow
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

}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "PurchaseId":1234,
    "StatusMessage": "Purchase inserted successfully",
    "StatusCode": 201
}
{
    "PurchaseId": [
        "2935",
        "2936"
    ],
    "StatusMessage": "Purchase(s) inserted successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service purchase
PUT/service/{ServiceId}/purchase/{PurchaseId}

Example URI

PUT /service/339/purchase/345
URI Parameters
HideShow
ServiceId
int (required) Example: 339
PurchaseId
int (required) Example: 345
Request
HideShow
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
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "PurchaseId":345,
    "StatusMessage": "Purchase updated successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a service purchase
GET/service/{ServiceId}/purchase/{PurchaseId}

Example URI

GET /service/339/purchase/2939
URI Parameters
HideShow
ServiceId
int (required) Example: 339
PurchaseId
int (required) Example: 2939
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a service purchase
DELETE/service/{ServiceId}/purchase/{PurchaseId}

Example URI

DELETE /service/331/purchase/2940
URI Parameters
HideShow
ServiceId
int (required) Example: 331
PurchaseId
int (required) Example: 2940
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "PurchaseId":null,
    "StatusMessage": "Purchase deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get project purchases budgets

Get project purchases budgets
GET/project/{ProjectId}/purchases/budgets

Example URI

GET /project/331/purchases/budgets
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project purchases budget

Delete a project purchases budget
DELETE/project/{ProjectId}/purchases/budget/{BudgetAccountId}

Example URI

DELETE /project/331/purchases/budget/431
URI Parameters
HideShow
ProjectId
int (required) Example: 331
BudgetAccountId
int (required) Example: 431
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "BudgetAccountId": 431,
    "StatusMessage": "Record deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a project purchases budget
GET/project/{ProjectId}/purchases/budget/{BudgetAccountId}

Example URI

GET /project/331/purchases/budget/235
URI Parameters
HideShow
ProjectId
int (required) Example: 331
BudgetAccountId
int (required) Example: 235
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project purchases budget
POST/project/{ProjectId}/purchases/budget/

Example URI

POST /project/331/purchases/budget/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "BudgetAccountName":"New Account",
    "Description":"",
    "Estimated":300,
    "BudgetAccountCurrencyId":1113
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "BudgetAccountId": 321,
  "StatusMessage": "Project purchase budget account inserted successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project purchases budget
PUT/project/{ProjectId}/purchases/budget/{BudgetAccountId}

Example URI

PUT /project/331/purchases/budget/321
URI Parameters
HideShow
ProjectId
int (required) Example: 331
BudgetAccountId
int (required) Example: 321
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "BudgetAccountName":"New Account update",
    "Description":"",
    "Estimated":300,
    "BudgetAccountCurrencyId":1113
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "BudgetAccountId": 321,
  "StatusMessage": "Project purchase budget account updated successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service purchases budgets

Get service purchases budgets
GET/service/{ServiceId}/purchases/budgets

Example URI

GET /service/339/purchases/budgets
URI Parameters
HideShow
ServiceId
int (required) Example: 339
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service purchase budget

Delete a service purchase budget
DELETE/service/{ServiceId}/purchases/budget/{BudgetAccountId}

Example URI

DELETE /service/339/purchases/budget/431
URI Parameters
HideShow
ServiceId
int (required) Example: 339
BudgetAccountId
int (required) Example: 431
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "BudgetAccountId": 431,
    "StatusMessage": "Record deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a service purchases budget
GET/service/{ServiceId}/purchases/budget/{BudgetAccountId}

Example URI

GET /service/331/purchases/budget/315
URI Parameters
HideShow
ServiceId
int (required) Example: 331
BudgetAccountId
int (required) Example: 315
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a service purchases budget
POST/service/{ServiceId}/purchases/budget/

Example URI

POST /service/339/purchases/budget/
URI Parameters
HideShow
ServiceId
int (required) Example: 339
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "BudgetAccountName":"New Account",
    "Description":"",
    "Estimated":300,
    "BudgetAccountCurrencyId":1113
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "BudgetAccountId": 557,
  "StatusMessage": "Service purchase budget account inserted successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service purchases budget
PUT/service/{ServiceId}/purchases/budget/{BudgetAccountId}

Example URI

PUT /service/339/purchases/budget/557
URI Parameters
HideShow
ServiceId
int (required) Example: 339
BudgetAccountId
int (required) Example: 557
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "BudgetAccountName":"New Account update",
    "Description":"",
    "Estimated":300,
    "BudgetAccountCurrencyId":1113
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "BudgetAccountId": 557,
  "StatusMessage": "Service purchase budget account updated successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Revenues

Get Revenues

Get Revenues
POST/revenues/search

Example URI

POST /revenues/search
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project revenues v2

Get project revenues v2
GET/Projects/{ProjectId}/Revenues

Example URI

GET /Projects/43407/Revenues
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Bulk Update Revenues
PATCH/Projects/{ProjectId}/Revenues

Example URI

PATCH /Projects/43407/Revenues
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RevenueIds": "29514,29515",
  "StatusId": "47133"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Bulk Delete Revenues
DELETE/Projects/{ProjectId}/Revenues

Example URI

DELETE /Projects/43407/Revenues
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RevenueIds": "29514,29515",
  "StatusId": "47133"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add project revenue v2
POST/Projects/{ProjectId}/Revenues

Example URI

POST /Projects/43407/Revenues
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
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
}
Response  201
HideShow
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
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project revenue v2

Delete a project revenue v2
DELETE/Projects/{ProjectId}/Revenues/{RevenueId}

Example URI

DELETE /Projects/43407/Revenues/29501
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueId
int (required) Example: 29501
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 29501,
  "StatusMessage": "Revenue deleted successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a project revenue v2
GET/Projects/{ProjectId}/Revenues/{RevenueId}

Example URI

GET /Projects/43407/Revenues/29514
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueId
int (required) Example: 29514
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project revenue v2
PATCH/Projects/{ProjectId}/Revenues/{RevenueId}

Example URI

PATCH /Projects/43407/Revenues/29515
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueId
int (required) Example: 29515
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "RevenueId": 29515,
  "StatusMessage": "Revenue updated successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Revenue
GET/Projects/{ProjectId}/Revenues/{RevenueId}/Periods/{MonthPeriod}

Example URI

GET /Projects/43407/Revenues/29493/Periods/202005
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueId
int (required) Example: 29493
MonthPeriod
int (required) Example: 202005
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "Id": 1031678,
    "Name": "Task 1",
    "Price": 2000,
    "Status": null,
    "IsSelected": false,
    "IsAlreadyAssociated": false
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service revenues

Get service revenues
GET/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

GET /service/542/revenues
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
        }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}

{
    "StatusMessage": "Please enter valid field name",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service revenue status

Get service revenue status
GET/service/{ServiceId}/revenuestatuses

Example URI

GET /service/542/revenuestatuses
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service revenue

Delete a service revenue
DELETE/service/{ServiceId}/revenue/{RevenueId}

Example URI

DELETE /service/542/revenue/2951
URI Parameters
HideShow
ServiceId
int (required) Example: 542
RevenueId
int (required) Example: 2951
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "RevenueId": null,
  "StatusMessage": "Revenue deleted successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a service revenue
GET/service/{ServiceId}/revenue/{RevenueId}

Example URI

GET /service/542/revenue/2947
URI Parameters
HideShow
ServiceId
int (required) Example: 542
RevenueId
int (required) Example: 2947
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a service revenue
POST/service/{ServiceId}/revenue/

Example URI

POST /service/542/revenue/
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
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
}
Response  201
HideShow
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
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service revenue
PUT/service/{ServiceId}/revenue/{RevenueId}

Example URI

PUT /service/542/revenue/3014
URI Parameters
HideShow
ServiceId
int (required) Example: 542
RevenueId
int (required) Example: 3014
Request
HideShow
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
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "RevenueId": 3014,
  "StatusMessage": "Revenue updated successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Summary
GET/Projects/{ProjectId}/RevenueRecognitionSummary

Example URI

GET /Projects/52306/RevenueRecognitionSummary
URI Parameters
HideShow
ProjectId
int (required) Example: 52306
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Insert Revenue Recognition Summary
POST/Projects/{ProjectId}/RevenueRecognitionSummary

Example URI

POST /Projects/43407/RevenueRecognitionSummary
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Amount": 1000,
  "AmountCurrencyId": 4145,
  "Date": "2020-08-10",
  "Description": "test from postman"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1258,
  "StatusMessage": "Revenue Recognition inserted successfully.",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Forecast
GET/Projects/{ProjectId}/NextRevenueRecognitionForecast

Example URI

GET /Projects/43407/NextRevenueRecognitionForecast
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Revenue Recognition

Get Revenue Recognition
GET/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}

Example URI

GET /Projects/43407/RevenueRecognitionSummary/1258
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueRecognitionId
int (required) Example: 1258
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Revenue Recognition
PATCH/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}

Example URI

PATCH /Projects/43407/RevenueRecognitionSummary/1258
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueRecognitionId
int (required) Example: 1258
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Confirmed": 1,
  "ConfirmedBy": 7489,
  "ConfirmedDate": "2020-08-10",
  "Description": "test from postman"
}
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete Revenue Recognition
DELETE/Projects/{ProjectId}/RevenueRecognitionSummary/{RevenueRecognitionId}

Example URI

DELETE /Projects/43407/RevenueRecognitionSummary/1260
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RevenueRecognitionId
int (required) Example: 1260
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1260,
  "StatusMessage": "Record deleted successfully.",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
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
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risks

Get risks v2

Get risks v2
GET/risks/search

Example URI

GET /risks/search
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
      }
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get project risks v2

Get project risks v2
GET/Projects/{ProjectId}/Risks

Example URI

GET /Projects/43407/Risks
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/Projects/{ProjectId}/Risks/Search

Example URI

GET /Projects/43407/Risks/Search
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
      }
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get project risk managers

Get project risk managers
GET/project/{ProjectId}/riskmanagers

Example URI

GET /project/331/riskmanagers
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "ProjectUserId": 706,
    "Manager": "Julio Cline"
  },
  {
    "ProjectUserId": 715,
    "Manager": "David Simon"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project risk v1

Delete a project risk
DELETE/project/{ProjectId}/risk/{RiskId}

Example URI

DELETE /project/331/risk/599
URI Parameters
HideShow
ProjectId
int (required) Example: 331
RiskId
int (required) Example: 599
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Risk deleted successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project risk v2

Get a project risk v2
GET/Projects/{ProjectId}/Risks/{RiskId}

Example URI

GET /Projects/43407/Risks/8073
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RiskId
int (required) Example: 8073
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": []
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project risk v2
POST/Projects/{ProjectId}/Risks/

Example URI

POST /Projects/43407/Risks/
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Name": "Risk 123",
  "StatusId": 29092,
  "TypeId": 38901,
  "ImpactId": 38795,
  "ProbabilityId": 38759,
  "LevelId": 29056
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 10345,
  "StatusMessage": "Risk Inserted Successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project risk v2
PATCH/Projects/{ProjectId}/Risks/{RiskId}

Example URI

PATCH /Projects/43407/Risks/10345
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
RiskId
int (required) Example: 10345
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Name": "Risk 123",
  "StatusId": 29092,
  "TypeId": 38901,
  "ImpactId": 38795,
  "ProbabilityId": 38759,
  "LevelId": 29056
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 10345,
  "StatusMessage": "Risk Inserted Successfully",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 risk
GET/project/{ProjectId}/Risk/{RiskId}/AssociatedIssues

Example URI

GET /project/12259/Risk/6906/AssociatedIssues
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
RiskId
int (required) Example: 6906
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Associated issue list

Get associated project issue list
GET/project/{ProjectId}/Risk/{RiskId}/AssociatedIssueList

Retrieves a project associated issue list details for risk.

Example URI

GET /project/12259/Risk/6906/AssociatedIssueList
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
RiskId
int (required) Example: 6906
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Affected Issues

Add Risk Affected Issues
POST/project/{ProjectId}/risk/RiskAffectedIssues

Adds Risk Affected Issues for issue.

Example URI

POST /project/12259/risk/RiskAffectedIssues
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
[
    {
        "IssueId" : 11

    },
    {
        "IssueId" : 12

    }
]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Associated issues inserted",
  "StatusCode": 200,
  "RiskId": 6906
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  404
HideShow
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 name
PUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskName

Example URI

PUT /project/331/risk/67/UpdateRiskName
URI Parameters
HideShow
ProjectId
int (required) Example: 331
RiskId
int (required) Example: 67
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RiskName": "New Risk from API"
}
Response  201
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RiskId": 67,
  "StatusMessage": "Risk updated",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Risk Impact

Update project risk Impact
PUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskImpact

Example URI

PUT /project/51241/risk/9667/UpdateRiskImpact
URI Parameters
HideShow
ProjectId
int (required) Example: 51241
RiskId
int (required) Example: 9667
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "ImpactId": 127353,
  "LevelId": 29056
}
Response  201
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RiskId": 9667,
  "StatusMessage": "Risk updated",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Risk Probability

Update project risk Probability
PUT/project/{ProjectId}/risk/{RiskId}/UpdateRiskProbability

Example URI

PUT /project/51241/risk/9667/UpdateRiskProbability
URI Parameters
HideShow
ProjectId
int (required) Example: 51241
RiskId
int (required) Example: 9667
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "ProbabilityId": 127319,
  "LevelId": 29056
}
Response  201
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "RiskId": 9667,
  "StatusMessage": "Risk updated",
  "StatusCode": 201
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Affected Risks

Delete task affected risks
DELETE/project/{ProjectId}/risk/{RiskId}/taskaffectedRisks

Deletes Task Affected Risks for risk.

Example URI

DELETE /project/12259/risk/6906/taskaffectedRisks
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
RiskId
int (required) Example: 6906
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
[
    {
        "IssueId" : 11,
        "RiskIssueId":14
    },
    {
        "IssueId" : 12,
        "RiskIssueId":15
    }
]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Affected issues deleted",
  "StatusCode": 200,
  "IssueId": 11
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  404
HideShow
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 v2
GET/issues/search

Example URI

GET /issues/search
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": {}
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project issues v2

Get project issues v2
GET/Projects/{ProjectId}/Issues

Example URI

GET /Projects/43407/Issues
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
      }
    }
  ]
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/Projects/{ProjectId}/Issues/Search

Example URI

GET /Projects/43407/Issues/Search
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "filter": {
    "Type.BaseId": {
      "$in": [
        "211"
      ]
    },
    "Status.BaseId": {
      "$in": [
        "141"
      ]
    },
    "AssociatedRisks.Risk.Id": {
      "$in": [
        "8073"
      ]
    }
  }
}
Response  200
HideShow
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": ""
      }
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project issue v2

Get a project issue v2
GET/Projects/{ProjectId}/Issues/{IssueId}

Example URI

GET /Projects/43407/Issues/1131
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
IssueId
int (required) Example: 1131
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project issue v2
POST/Projects/{ProjectId}/Issues/

Example URI

POST /Projects/43407/Issues/
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Name": "issue test",
  "Description": "test desc",
  "Type": "211",
  "Status": "141"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1148,
  "StatusMessage": "Issue inserted",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project issue v2
PATCH/Projects/{ProjectId}/Issues/{IssueId}

Example URI

PATCH /Projects/43407/Issues/1131
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
IssueId
int (required) Example: 1131
Request
HideShow
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"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1131,
  "StatusMessage": "Issue updated successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "RiskId": 0,
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a project issue v2
DELETE/Projects/{ProjectId}/Issues/{IssueId}

Example URI

DELETE /Projects/43407/Issues/29501
URI Parameters
HideShow
ProjectId
int (required) Example: 43407
IssueId
int (required) Example: 29501
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 29501,
  "StatusMessage": "Issue deleted successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/Projects/{ProjectId}/Issues/{IssueId}/Risks

Example URI

GET /Projects/8879/Issues/3/Risks
URI Parameters
HideShow
ProjectId
int (required) Example: 8879
IssueId
int (required) Example: 3
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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&nbsp;<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
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Occurrence Management

Get Risk Occurrence Management
GET/project/{ProjectId}/Issue/{IssueId}/riskoccurencemanagement

Example URI

GET /project/12259/Issue/11/riskoccurencemanagement
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
IssueId
int (required) Example: 11
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "TotalRiskOccurenceCost": 230,
  "TotalScheduleVariance": 2
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Issue Affected Risks

Add Issue Affected Risks
POST/project/{ProjectId}/Issue/{IssueId}/IssueAffectedRisks

Example URI

POST /project/12259/Issue/11/IssueAffectedRisks
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
IssueId
int (required) Example: 11
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
[
    {"RiskId" : 6906},
    {"RiskId" : 7659}
]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": " Associated risks inserted",
  "StatusCode": 200,
  "IssueId": 11
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  404
HideShow
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 Risks
DELETE/project/{ProjectId}/Issue/{IssueId}/IssueAffectedRisks

Example URI

DELETE /project/12259/Issue/11/IssueAffectedRisks
URI Parameters
HideShow
ProjectId
int (required) Example: 12259
IssueId
int (required) Example: 11
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
[
    {
        "RiskId" : 6906,
        "RiskIssueId":11
    },
    {
        "RiskId" : 7659,
        "RiskIssueId":12
    }
]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Associated risks deleted",
  "StatusCode": 200,
  "IssueId": 11
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  404
HideShow
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 documents
GET/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

GET /project/331/documents/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Please enter valid filters",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete project documents
DELETE/project/{ProjectId}/documents/{DocumentIds}

Example URI

DELETE /project/331/documents/456,345
URI Parameters
HideShow
ProjectId
int (required) Example: 331
DocumentIds
string (required) Example: 456,345
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "StatusMessage": "Document deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service Documents

Get service documents
GET/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

GET /service/542/documents/
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Please enter valid filters",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete service documents
DELETE/service/{ServiceId}/documents/{DocumentIds}

Example URI

DELETE /service/542/documents/1535,345
URI Parameters
HideShow
ServiceId
int (required) Example: 542
DocumentIds
string (required) Example: 1535,345
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "StatusMessage": "Document deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Project doesn't exist",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project document

Get a project document
GET/project/{ProjectId}/document/{DocumentId}

Example URI

GET /project/331/document/956
URI Parameters
HideShow
ProjectId
string (required) Example: 331
DocumentId
string (required) Example: 956
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a project document
POST/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

POST /project/331/document/
URI Parameters
HideShow
ProjectId
int (required) Example: 331
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "DocumentId":456,
    "StatusMessage": "Document inserted successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a project document
PUT/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

PUT /project/331/document/456
URI Parameters
HideShow
ProjectId
int (required) Example: 331
DocumentId
int (required) Example: 456
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "DocumentId":456,
    "StatusMessage": "Document updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service document

Get a service document
GET/service/{ServiceId}/document/{DocumentId}

Example URI

GET /service/33157/document/956
URI Parameters
HideShow
ServiceId
string (required) Example: 33157
DocumentId
string (required) Example: 956
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a service document
POST/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

POST /service/542/document/
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "DocumentId":456,
    "StatusMessage": "Document inserted successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service document
PUT/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

PUT /service/542/document/1535
URI Parameters
HideShow
ServiceId
int (required) Example: 542
DocumentId
int (required) Example: 1535
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "DocumentId":1535,
    "StatusMessage": "Document updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 users
GET/project/{ProjectId}/uploadedbyusers

Example URI

GET /project/331/uploadedbyusers
URI Parameters
HideShow
ProjectId
string (required) Example: 331
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "UserId": 1686,
    "DisplayName": "David Simon (stakeholder@globalcorp360.com)"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 users
GET/service/{ServiceId}/uploadedbyusers

Example URI

GET /service/542/uploadedbyusers
URI Parameters
HideShow
ServiceId
string (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "UserId": 1686,
    "DisplayName": "Major Wyman (major.wyman@globalcorp360.com"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Costs

Project Costs

Get Project Costs
GET/Projects/ProjectCosts

Example URI

GET /Projects/ProjectCosts
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Resources

Project Resources

Get Project Resources
GET/Projects/{ProjectId}/Resources

Example URI

GET /Projects/62112/Resources
URI Parameters
HideShow
ProjectId
string (required) Example: 62112
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": []
      }
    ]
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Project Resources
PATCH/Projects/{ProjectId}/Resources

Example URI

PATCH /Projects/62112/Resources
URI Parameters
HideShow
ProjectId
string (required) Example: 62112
Request
HideShow
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": []
      }
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 55711,
  "StatusMessage": "Resources updated sucessfully",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Services

Services

Get services
GET/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

GET /services
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": {}
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service

Add a service
POST/service

Example URI

POST /service
Request
HideShow
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"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ServiceId":1135,
    "StatusMessage": "Service inserted successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 service
PUT/service{?ServiceId}

Example URI

PUT /service?ServiceId=1135
URI Parameters
HideShow
ServiceId
int (required) Example: 1135
Request
HideShow
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"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ServiceId":1135,
    "StatusMessage": "Service updated successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 budget
GET/service/{ServiceId}/budget

Example URI

GET /service/1135/budget
URI Parameters
HideShow
ServiceId
int (required) Example: 1135
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service budget
PUT/service/{ServiceId}/budget

Example URI

PUT /service/1135/budget
URI Parameters
HideShow
ServiceId
int (required) Example: 1135
Request
HideShow
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
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Budget updated successfully.",
    "StatusCode": 201
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

InActive a service
DELETE/service/{ServiceId}/budget

Example URI

DELETE /service/331/budget
URI Parameters
HideShow
ServiceId
int (required) Example: 331
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ServiceId":542,
    "StatusMessage": "Record inactive successfully",
    "StatusCode": 200
}
{
    "ServiceId":542,
    "StatusMessage": "Record successfully activated",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service Activities

Service activities

Get service activities
GET/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

GET /service/542/activities
URI Parameters
HideShow
ServiceId
string (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}

{
    "StatusMessage": "Please enter valid filters",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service activity

Add a service activity
POST/project/{ServiceId}/activity/

Adds a service activity.

Example URI

POST /project/542/activity/
URI Parameters
HideShow
ServiceId
int (required) Example: 542
Request
HideShow
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
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ActivityId":180452,
    "StatusMessage": "Activity inserted successfully",
    "StatusCode": 201,
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service activity
PUT/project/{ServiceId}/activity/{ActivityId}

Updates a service activity.

Note: Entity Text is passed but need to change with primary key.

Example URI

PUT /project/542/activity/346128
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 346128
Request
HideShow
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"
    }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ActivityId":346128,
    "StatusMessage": "Activity updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a service activity
DELETE/project/{ServiceId}/activity/{ActivityId}

Example URI

DELETE /project/542/activity/542
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 542
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "ActivityIds":175312
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ActivityId": 175312,
    "StatusMessage": "Activity deleted successfully",
    "StatusCode": 200
}

}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get a service activity
GET/project/{ServiceId}/activity/{ActivityId}

Example URI

GET /project/542/activity/180452
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service activity team

Get a service activity team
GET/service/{ServiceId}/activity/{ActivityId}/team

Example URI

GET /service/542/activity/180452/team
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 member
DELETE/service/{ServiceId}/activity/{ActivityId}/team/{ActivityUserId}

Example URI

DELETE /service/542/activity/180452/team/8431
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
ActivityUserId
int (required) Example: 8431
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Deleted Successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 members
POST/service/{ServiceId}/activity/{ActivityId}/team/{ServiceUserIds}/{ActivityManager}

Assigns a service activity team.

ActivityManager specifies whther the user is the activity manager.

Example URI

POST /service/542/activity/180452/team/2737,348/false
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
ServiceUserIds
string (required) Example: 2737,348
ActivityManager
bool (required) Example: false
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "User Assigned successfully.",
    "StatusCode": 200
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 reports
GET/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

GET /service/542/activity/20441/progress
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 20441
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
      }
    ]
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 report
GET/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}

Example URI

GET /service/542/activity/180452/progress/18698
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
ActivityProgressId
int (required) Example: 18698
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete a service activity progress report
DELETE/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}

Example URI

DELETE /service/542/activity/180452/progress/18698
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
ActivityProgressId
int (required) Example: 18698
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    {
    "ActivityProgressId": 0,
    "StatusMessage": "Activity progress deleted successfully",
    "StatusCode": 200
    }
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add a service activity progress report
POST/service/{ServiceId}/activity/{ActivityId}/progress/

Example URI

POST /service/331/activity/180452/progress/
URI Parameters
HideShow
ServiceId
int (required) Example: 331
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "AssessmentId" : 3288,
    "DetailDescription" : "detailsdescription",
    "ShortDescription": "des",
    "PercentageCompleted" : 45,
    "ReportDate" : "2017-06-15T00:00:00Z"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ActivityProgressId":18699,
    "StatusMessage": "Activity progress inserted successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service activity progress report
PUT/service/{ServiceId}/activity/{ActivityId}/progress/{ActivityProgressId}

Example URI

PUT /service/542/activity/180452/progress/18699
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
ActivityProgressId
int (required) Example: 18699
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "AssessmentId" : 3288,
    "DetailDescription" : "detailsdescription",
    "ShortDescription": "des update",
    "PercentageCompleted" : 45,
    "ReportDate" : "2017-06-15T00:00:00Z"
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "ActivityProgressId":18699,
    "StatusMessage": "Activity progress updated successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 category
GET/service/{ServiceId}/activity/{ActivityId}/effortbyprofessionalcategory

Example URI

GET /service/542/activity/180452/effortbyprofessionalcategory
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 member
GET/service/{ServiceId}/activity/{ActivityId}/effortbyteammember

Example URI

GET /service/542/activity/180452/effortbyteammember
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 categories
POST/service/{ServiceId}/activity/{ActivityId}/categories

Example URI

POST /service/542/activity/180452/categories
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
[
  {
    "CategoryId": 602,
    "CategoryType": "2"
  }
]
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Categories Inserted Successfully",
    "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 category
DELETE/service/{ServiceId}/activity/{ActivityId}/category/{CategoryId}

Example URI

DELETE /service/542/activity/180452/category/602
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 180452
CategoryId
int (required) Example: 602
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
{
    "CategoryId": 602,
    "CategoryType": "2"
}

}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Deleted Successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
      "StatusMessage": "Token expired. Please generate a new token.",
      "StatusCode": 400
}
{
    "StatusMessage": "Error occurred while Deleting",
    "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a service activity Effort
PUT/service/{ServiceId}/activity/{ActivityId}/category/

Example URI

PUT /service/542/activity/140763/category/
URI Parameters
HideShow
ServiceId
int (required) Example: 542
ActivityId
int (required) Example: 140763
Request
HideShow
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
    }
  ]
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "updated Successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Time Report

Time Entries

Get time entries
GET/timehours/{?StartDate,EndDate}

Example URI

GET /timehours/?StartDate=2021-07-16&EndDate=2021-07-23
URI Parameters
HideShow
StartDate
string (required) Example: 2021-07-16
EndDate
string (required) Example: 2021-07-23
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
              }
            ]
          }
        ]
      }
    ]
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Add time entries
POST/timehours/

Example URI

POST /timehours/
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "TimeReports": [
    {
      "EntityId": 55767,
      "WorkItemId": 1193245,
      "Date": "2022-03-24",
      "ReportedHours": "3:00",
      "UserComment": ""
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Time entries done successfully.",
  "StatusCode": 200
}
Response  400
HideShow
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"
        }
    ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Time Report

Get time report
GET/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

GET /timereport/hours/?StartDate=2018-07-16&EndDate=2018-07-23
URI Parameters
HideShow
StartDate
string (required) Example: 2018-07-16
EndDate
string (required) Example: 2018-07-23
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
IsCostRequested: 1
Response  200
HideShow
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": ""
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Clients

Clients

Get clients
GET/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

GET /clients?ClientId=22
URI Parameters
HideShow
ClientId
string (optional) Example: 22
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
      }
    ]
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Client v2

Add a client v2
POST/Clients/

Example URI

POST /Clients/
Request
HideShow
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"
    }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
      "Id": 1234,
      "StatusMessage": "Record inserted successfully.",
      "StatusCode": 201
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update a client v2
PATCH/Clients/{?ClientId}

Example URI

PATCH /Clients/?ClientId=1124
URI Parameters
HideShow
ClientId
int (required) Example: 1124
Request
HideShow
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"
    }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
      "Id": 1234,
      "StatusMessage": "Record updated successfully.",
      "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 v2
GET/{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

GET /projects/CustomFields
URI Parameters
HideShow
EntityName
string (required) Example: projects
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 type
GET/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

GET /project/type/0/customfields/?PageId=57
URI Parameters
HideShow
PageId
string (required) Example: 57
TypeId
string (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Custom Field Options

Get custom field options
GET/project/customfieldoptions/{CustomFieldBaseId}

Example URI

GET /project/customfieldoptions/966
URI Parameters
HideShow
CustomFieldBaseId
string (required) Example: 966
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Account

Account details

Get account details
GET/accountdetail/{CompanyAdminUserId}

Example URI

GET /accountdetail/1686
URI Parameters
HideShow
CompanyAdminUserId
int (required) Example: 1686
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update account details
PUT/accountdetail/

Example URI

PUT /accountdetail/
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "AccountId": 1142,
    "StatusMessage": "Token expired. Please generate a new token.",
    "StatusCode": 400
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Account Configuration

Account Configuration

Get Account Configuration
GET/AccountConfiguration/

Example URI

GET /AccountConfiguration/
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Insert Account Configuration
POST/AccountConfiguration/

Example URI

POST /AccountConfiguration/
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "AccountId": 4019,
  "ProgressModelId": 1,
  "RevenueModelId": 1,
  "RevenueRecognitionModelId": 2,
  "RevenueRecognitionFutureModelId": 2,
  "RevenueRecognitionPeriodTypeId": 1,
  "AllowProjectOverride": true
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "AccountConfigurationId": 2743
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Account Configuration
PATCH/AccountConfiguration/{AccountConfigurationId}

Example URI

PATCH /AccountConfiguration/10
URI Parameters
HideShow
AccountConfigurationId
int (required) Example: 10
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "AccountId": 4019,
  "ProgressModelId": 1,
  "RevenueModelId": 1,
  "RevenueRecognitionModelId": 2,
  "RevenueRecognitionFutureModelId": 2,
  "RevenueRecognitionPeriodTypeId": 1,
  "AllowProjectOverride": true
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "AccountId": 4019,
  "ProgressModelId": 1,
  "RevenueModelId": 1,
  "RevenueRecognitionModelId": 2,
  "RevenueRecognitionFutureModelId": 2,
  "RevenueRecognitionPeriodTypeId": 1,
  "AllowProjectOverride": true,
  "AccountConfigurationId": 10
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Project Type Configuration

Get Project Type Configuration
GET/ProjectTypeConfiguration/{ProjectTypeId}

Example URI

GET /ProjectTypeConfiguration/116745
URI Parameters
HideShow
ProjectTypeId
int (required) Example: 116745
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Type Configuration

Insert Project Type Configuration
POST/ProjectTypeConfiguration/

Example URI

POST /ProjectTypeConfiguration/
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProjectTypeConfigurationId": 28
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Project Type Configuration
PATCH/ProjectTypeConfiguration/{ProjectTypeConfigurationId}

Example URI

PATCH /ProjectTypeConfiguration/1
URI Parameters
HideShow
ProjectTypeConfigurationId
int (required) Example: 1
Request
HideShow
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
}
Response  200
HideShow
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
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Default Configuration

Get Default Configuration
GET/DefaultConfiguration/{ProjectTypeId}

Example URI

GET /DefaultConfiguration/116745
URI Parameters
HideShow
ProjectTypeId
int (required) Example: 116745
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ProgressModelId": 1,
  "RevenueModelId": 1,
  "RevenueRecognitionModelId": 5,
  "RevenueRecognitionFutureModelId": 0,
  "RevenueRecognitionPeriodTypeId": 0,
  "AllowProjectOverride": true,
  "AllowManualProgress": true,
  "AllowManualAmountInputRR": true
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Currency

Get Currencies

Get Account Currencies
GET/GetCurrency

Example URI

GET /GetCurrency
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 categories
GET/businessgoalcategories

Example URI

GET /businessgoalcategories
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "BusinessGoalCategoryId": 3936,
    "BusinessGoalCategoryName": "Cost reduction"
  },
  {
    "BusinessGoalCategoryId": 3935,
    "BusinessGoalCategoryName": "Grow the business"
  },
  {
    "BusinessGoalCategoryId": 3937,
    "BusinessGoalCategoryName": "Run the business "
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Business Goals

Get business goals
GET/businessgoals

Example URI

GET /businessgoals
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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 plans
GET/businessplans

Example URI

GET /businessplans
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Business Processes

Get business processes
GET/businessprocesses

Example URI

GET /businessprocesses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Organization

Organization Units

Get organization units
GET/organizationunits

Example URI

GET /organizationunits
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Assets

Assets

Get assets
GET/assets

Example URI

GET /assets
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "AssetId": 133,
    "AssetName": "Asset",
    "ParentAssetId": 0,
    "ParentAssetName": "",
    "AssetType": "Infrastructure"
  },
  {
    "AssetId": 134,
    "AssetName": "Test",
    "ParentAssetId": 0,
    "ParentAssetName": "",
    "AssetType": "Application"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Parameters

Project Approvals

Get project approvals
GET/projectapprovals

Example URI

GET /projectapprovals
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Priorities v2

Get Project Priorities v2
GET/ProjectPriorities

Example URI

GET /ProjectPriorities
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Statuses v2

Get Project Statuses v2
GET/ProjectStatuses

Example URI

GET /ProjectStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Project Types v2

Get Project Types v2
GET/GetProjectTypes

Example URI

GET /GetProjectTypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Priorities v2

Get Task Priorities v2
GET/GetTaskPriorities

Example URI

GET /GetTaskPriorities
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Statuses v2

Get Task Statuses v2
GET/GetTaskStatuses

Example URI

GET /GetTaskStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Task Types v2

Get Task Types v2
GET/GetTaskTypes

Example URI

GET /GetTaskTypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Purchase Types v2

Get Purchase Types v2
GET/PurchaseTypes

Example URI

GET /PurchaseTypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Purchase Statuses v2

Get Purchase Statuses v2
GET/PurchaseStatuses

Example URI

GET /PurchaseStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Revenue Statuses v2

Get Revenue Statuses v2
GET/RevenueStatuses

Example URI

GET /RevenueStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Impacts v2

Get Risk Impacts v2
GET/RiskImpacts

Example URI

GET /RiskImpacts
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Types v2

Get Risk Types v2
GET/RiskTypes

Example URI

GET /RiskTypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Levels v2

Get Risk Levels v2
GET/RiskLevels

Example URI

GET /RiskLevels
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Probabilities v2

Get Risk Probabilities v2
GET/RiskProbabilities

Example URI

GET /RiskProbabilities
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Risk Statuses v2

Get Risk Statuses v2
GET/RiskStatuses

Example URI

GET /RiskStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Issue Statuses v2

Get Issue Statuses v2
GET/IssueStatuses

Example URI

GET /IssueStatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Issue Types v2

Get Issue Types v2
GET/IssueTypes

Example URI

GET /IssueTypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Assessments

Get assessments
GET/assessments

Example URI

GET /assessments
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Countries

Get countries
GET/countries

Example URI

GET /countries
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Service Types

Get service types
GET/servicetypes

Example URI

GET /servicetypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service Statuses

Get service statuses
GET/servicestatuses

Example URI

GET /servicestatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service Priorities

Get service priorities
GET/servicepriorities

Example URI

GET /servicepriorities
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Service Approvals

Get service approvals
GET/serviceapprovals

Example URI

GET /serviceapprovals
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Activity Priorities

Get activity priorities
GET/activitypriorities

Example URI

GET /activitypriorities
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "ActivityPriorityBaseId": 7624,
    "ActivityPriorityName": "High123",
    "IsDefault": true
  },
  {
    "ActivityPriorityBaseId": 7625,
    "ActivityPriorityName": "Normal",
    "IsDefault": false
  },
  {
    "ActivityPriorityBaseId": 7626,
    "ActivityPriorityName": "Low",
    "IsDefault": false
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Activity Statuses

Get activity statuses
GET/activitystatuses

Example URI

GET /activitystatuses
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Activity Types

Get activity types
GET/activitytypes

Example URI

GET /activitytypes
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Costing

Providers v2

Get Providers v2
GET/Providers

Example URI

GET /Providers
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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": ""
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Professional categories

Get categories
GET/effortcategories

Example URI

GET /effortcategories
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Category

Categories

Get Categories
GET/Categories

Example URI

GET /Categories
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Category

Get Category
GET/Category/{CategoryId}

Example URI

GET /Category/4681
URI Parameters
HideShow
CategoryId
int (required) Example: 4681
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 4681,
  "Name": "Default delete502"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Communication

Get Account Language

Get Account Language
GET/accountlanguages

Example URI

GET /accountlanguages
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

User Management

Users

Get users
GET/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

GET /users
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

User

Get a user v2
GET/users/{UserId}

Example URI

GET /users/1686
URI Parameters
HideShow
UserId
int (required) Example: 1686
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 1142,
  "StatusMessage": "User does not exist.",
  "StatusCode": 404
}

User Roles

Get Account User Roles
GET/Roles

Example URI

GET /Roles
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
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 Hours
POST/StandardWorkHours/

Example URI

POST /StandardWorkHours/
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 23482,
  "StatusMessage": "Working hours schedule created",
  "StatusCode": 201
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Update Standard Work Hours
PATCH/StandardWorkHours/{StandardWorkHourId}

Example URI

PATCH /StandardWorkHours/23482
URI Parameters
HideShow
StandardWorkHourId
int (required) Example: 23482
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 23482,
  "StatusMessage": "Working hours schedule updated",
  "StatusCode": 200
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Delete Standard Work Hours
DELETE/StandardWorkHours/{StandardWorkHourId}

Example URI

DELETE /StandardWorkHours/23482
URI Parameters
HideShow
StandardWorkHourId
int (required) Example: 23482
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Id": 23482,
  "StatusMessage": "Working hours schedule deleted",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Standard Work Hour
GET/StandardWorkHours/{StandardWorkHourId}

Example URI

GET /StandardWorkHours/3658
URI Parameters
HideShow
StandardWorkHourId
int (required) Example: 3658
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

Get Standard Work Hours

Get Standard Work Hours
GET/StandardWorkHours

Example URI

GET /StandardWorkHours
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "You need additional privileges to complete this action.",
  "StatusCode": 403
}

My Profile

My details

Get my details
GET/mydetail

Example URI

GET /mydetail
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Update my details
PUT/mydetail

Example URI

PUT /mydetail
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "UserId":1686,
    "StatusMessage": "User updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

My default preferences

Get my default preferences
GET/mydefaultpreference

Example URI

GET /mydefaultpreference
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Update my default preferences
PUT/mydefaultpreference

Example URI

PUT /mydefaultpreference
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "StatusMessage": "Record updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

My educations

Get my educations
GET/myeducations

Example URI

GET /myeducations
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

My education

Get my education
GET/myeducation/{UserEducationId}

Example URI

GET /myeducation/68
URI Parameters
HideShow
UserEducationId
int (required) Example: 68
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Add my education
POST/myeducation/

Example URI

POST /myeducation/
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "UserEducationId":68,
    "StatusMessage": "User Education inserted successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Update my education
PUT/myeducation/{UserEducationId}

Example URI

PUT /myeducation/68
URI Parameters
HideShow
UserEducationId
int (required) Example: 68
Request
HideShow
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
}
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "UserEducationId":68,
    "StatusMessage": "User Education updated successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Delete my education
DELETE/myeducation/{UserEducationId}

Example URI

DELETE /myeducation/331
URI Parameters
HideShow
UserEducationId
int (required) Example: 331
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    "UserEducationId":331,
    "StatusMessage": "User Education deleted successfully",
    "StatusCode": 200
}
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Favorites

Entity Favorites

Get entity favorites
GET/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

GET /favourite/20441/3
URI Parameters
HideShow
EntityId
int (required) Example: 20441
EntityType
int (required) Example: 3
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
{
    4816
}
}

{
{
    -1
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Favorite

Add a favorite
POST/favourite/

Example URI

POST /favourite/
Request
HideShow
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
}
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "IsSuccess": "1",
    "FavouriteId" : 4880
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Delete a favorite
DELETE/favourite/{FavouriteId}

Example URI

DELETE /favourite/4880
URI Parameters
HideShow
FavouriteId
int (required) Example: 4880
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
{
    "IsSuccess": "1"
}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Favourites

Get Favorites
GET/favourites

Example URI

GET /favourites
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Reorder Favourite

Reorder Favorite
POST/favourite/{FavouriteId}/reorder/{NewIndex}

Example URI

POST /favourite/4880/reorder/1
URI Parameters
HideShow
FavouriteId
int (required) Example: 4880
NewIndex
int (required) Example: 1
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
    {
        "IsSuccess": "1"
    }
    }
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

User Invite

Check Mail Status

Check Mail Status
POST/userinvite/CheckMailStatus/{Email}

Check user has already sent mail to particular mail or not

Example URI

POST /userinvite/CheckMailStatus/fawad.abbas@itmplatform.com
URI Parameters
HideShow
Email
string (required) Example: fawad.abbas@itmplatform.com
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsSent": "1"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Check User Exist

Check User Exits
POST/CheckUserExist/{Email}

Check user email alrady exists in database or not

Example URI

POST /CheckUserExist/fawad.abbas@itmplatform.com
URI Parameters
HideShow
Email
string (required) Example: fawad.abbas@itmplatform.com
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsExists": "1"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Save User Invitation details

Save User Invitation details
POST/SaveUserDetails

Insert invite user detail

Example URI

POST /SaveUserDetails
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsSuccess": "1"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Update user invite detail

Update user invite detail
PUT/UpdateUserDetails/{InviteId}

Example URI

PUT /UpdateUserDetails/7489
URI Parameters
HideShow
InviteId
int (required) Example: 7489
Request
HideShow
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
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "InviteId": 68,
  "StatusMessage": "User Invitation detail updated successfully",
  "StatusCode": 200
}
Response  400
HideShow
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
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Send User Invitation email

Send User Invitation email
POST/SendUserInvitationEmail/{InviteId}

Send User Invitation email

Example URI

POST /SendUserInvitationEmail/7489
URI Parameters
HideShow
InviteId
int (required) Example: 7489
Request
HideShow
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.,
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsSent": "1"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Get email details

Get email details
GET/GetEmailDetail

Get email detail that already sent.

Example URI

GET /GetEmailDetail
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
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
    }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Set Password

Set Password
POST/SetPassword/{InviteId}

Set user password if he/she has registered in another account instead of this

Example URI

POST /SetPassword/7489
URI Parameters
HideShow
InviteId
int (required) Example: 7489
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "Password": "324234"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Save User Confirmation

Save User Confirmation
POST/SaveUserConfirmation/{InviteId}

Example URI

POST /SaveUserConfirmation/7489
URI Parameters
HideShow
InviteId
int (required) Example: 7489
Request
HideShow
Headers
Content-Type: application/json
Token: [token]
Body
{
  "Password": 355,
  "FirstName": "test institute",
  "LastName": "test2"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "IsSuccess": "1"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Token expired. Please generate a new token.",
  "StatusCode": 400
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "StatusMessage": "Invalid Token.",
  "StatusCode": 401
}

Generated by aglio on 21 Dec 2023