| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Approve |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| RfpDocumentUID | path | Guid | No | |
| Proposal | body | ProjectProposal | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| RfpDocumentID | form | int | No | |
| ProjectName | form | string | No | |
| ClientName | form | string | No | |
| ProjectType | form | string | No | |
| ProjectLocation | form | string | No | |
| Scope | form | string | No | |
| ProjectDescription | form | string | No | |
| ContractDurationDays | form | int? | No | |
| BidDueDate | form | string | No | |
| EstimatedStartDate | form | DateTime? | No | |
| EstimatedEndDate | form | DateTime? | No | |
| Tasks | form | List<ProposedTask> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Seq | form | int | No | |
| Name | form | string | No | |
| Category | form | string | No | |
| Quantity | form | double? | No | |
| Unit | form | string | No | |
| SourceItemNumber | form | string | No | |
| SourceReference | form | string | No | |
| Notes | form | string | No | |
| Resourcing | form | TaskResourcing | No | |
| DurationDays | form | double? | No | |
| DependsOn | form | List<int> | No | |
| EstimatedStartDate | form | DateTime? | No | |
| EstimatedEndDate | form | DateTime? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Positions | form | List<ResourcedPosition> | No | |
| Equipment | form | List<ResourcedEquipment> | No | |
| Materials | form | List<ResourcedMaterial> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| PositionTag | form | string | No | |
| Hours | form | double? | No | |
| Headcount | form | int? | No | |
| SourceReference | form | string | No | |
| Notes | form | string | No | |
| IsInCatalog | form | bool | No | |
| ContactID | form | int? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| EquipmentID | form | int | No | |
| EquipmentName | form | string | No | |
| MakeModel | form | string | No | |
| Quantity | form | double? | No | |
| DurationDays | form | double? | No | |
| SourceReference | form | string | No | |
| Notes | form | string | No | |
| IsInCatalog | form | bool | No | |
| SuggestedEquipmentID | form | int | No | |
| SuggestedEquipmentName | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MaterialID | form | int | No | |
| MaterialName | form | string | No | |
| MakeModel | form | string | No | |
| Quantity | form | double? | No | |
| Unit | form | string | No | |
| SourceReference | form | string | No | |
| Notes | form | string | No | |
| IsInCatalog | form | bool | No | |
| SuggestedMaterialID | form | int | No | |
| SuggestedMaterialName | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ResponseStatus | form | ResponseStatus | No | |
| RfpDocumentID | form | int | No | |
| ProjectID | form | int | No | |
| ProjectUID | form | Guid | No | |
| RfpApprovalID | form | int | No | |
| JobIDs | form | List<int> | No | |
| OpenPositionCount | form | int | No | |
| Diff | form | ProposalDiff | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TasksAdded | form | List<string> | No | |
| TasksRemoved | form | List<string> | No | |
| Tasks | form | List<TaskDiff> | No | |
| HasChanges | form | bool | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TaskName | form | string | No | |
| PositionsAdded | form | List<string> | No | |
| PositionsRemoved | form | List<string> | No | |
| PositionsStaffed | form | List<string> | No | |
| EquipmentAdded | form | List<int> | No | |
| EquipmentRemoved | form | List<int> | No | |
| MaterialsAdded | form | List<int> | No | |
| MaterialsRemoved | form | List<int> | No | |
| HasChanges | form | bool | No |
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.
POST /v1/Rfp/{RfpDocumentUID}/Approve HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
RfpDocumentUID: 00000000000000000000000000000000,
Proposal:
{
RfpDocumentID: 0,
ProjectName: String,
ClientName: String,
ProjectType: String,
ProjectLocation: String,
Scope: String,
ProjectDescription: String,
ContractDurationDays: 0,
BidDueDate: String,
EstimatedStartDate: 0001-01-01,
EstimatedEndDate: 0001-01-01,
Tasks:
[
{
Seq: 0,
Name: String,
Category: String,
Quantity: 0,
Unit: String,
SourceItemNumber: String,
SourceReference: String,
Notes: String,
Resourcing:
{
Positions:
[
{
PositionTag: String,
Hours: 0,
Headcount: 0,
SourceReference: String,
Notes: String,
IsInCatalog: False,
ContactID: 0
}
],
Equipment:
[
{
EquipmentID: 0,
EquipmentName: String,
MakeModel: String,
Quantity: 0,
DurationDays: 0,
SourceReference: String,
Notes: String,
IsInCatalog: False,
SuggestedEquipmentID: 0,
SuggestedEquipmentName: String
}
],
Materials:
[
{
MaterialID: 0,
MaterialName: String,
MakeModel: String,
Quantity: 0,
Unit: String,
SourceReference: String,
Notes: String,
IsInCatalog: False,
SuggestedMaterialID: 0,
SuggestedMaterialName: String
}
]
},
DurationDays: 0,
DependsOn:
[
0
],
EstimatedStartDate: 0001-01-01,
EstimatedEndDate: 0001-01-01
}
]
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
RfpDocumentID: 0,
ProjectID: 0,
ProjectUID: 00000000000000000000000000000000,
RfpApprovalID: 0,
JobIDs:
[
0
],
OpenPositionCount: 0,
Diff:
{
TasksAdded:
[
String
],
TasksRemoved:
[
String
],
Tasks:
[
{
TaskName: String,
PositionsAdded:
[
String
],
PositionsRemoved:
[
String
],
PositionsStaffed:
[
String
],
EquipmentAdded:
[
0
],
EquipmentRemoved:
[
0
],
MaterialsAdded:
[
0
],
MaterialsRemoved:
[
0
],
HasChanges: True
}
],
HasChanges: True
}
}