| GET,OPTIONS | /v1/pm/projects |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal
Namespace Global
Namespace CRM.AgencyPlatform.API.Internal
Public Partial Class PmPortfolioTotals
Public Overridable Property Projects As Integer
Public Overridable Property Budget As Double
Public Overridable Property Spent As Double
Public Overridable Property OverBudget As Integer
Public Overridable Property WithGaps As Integer
End Class
Public Partial Class PmProjectRow
Public Overridable Property ProjectID As Integer
Public Overridable Property ProjectUID As String
Public Overridable Property Name As String
Public Overridable Property Client As String
Public Overridable Property ProjectType As String
Public Overridable Property Status As String
Public Overridable Property Branch As String
Public Overridable Property StartDate As String
Public Overridable Property EndDate As String
Public Overridable Property Budget As Double
Public Overridable Property Spent As Double
Public Overridable Property EstimatedCost As Double
Public Overridable Property HealthPct As Integer
Public Overridable Property JobCount As Integer
Public Overridable Property OpenJobs As Integer
Public Overridable Property GapCount As Integer
Public Overridable Property OverBudget As Boolean
Public Overridable Property ProgressPct As Integer
End Class
Public Partial Class PmProjectsRequest
Public Overridable Property Search As String
End Class
Public Partial Class PmProjectsResponse
Public Overridable Property Projects As List(Of PmProjectRow) = New List(Of PmProjectRow)
Public Overridable Property Totals As PmPortfolioTotals
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/pm/projects HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Projects:
[
{
ProjectID: 0,
ProjectUID: String,
Name: String,
Client: String,
ProjectType: String,
Status: String,
Branch: String,
StartDate: String,
EndDate: String,
Budget: 0,
Spent: 0,
EstimatedCost: 0,
HealthPct: 0,
JobCount: 0,
OpenJobs: 0,
GapCount: 0,
OverBudget: False,
ProgressPct: 0
}
],
Totals:
{
Projects: 0,
Budget: 0,
Spent: 0,
OverBudget: 0,
WithGaps: 0
},
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}