Skip to content

RFP Acceptance REST API

Published: 2025-06-26

Last Updated: 2026-08-26

Update the MDWorkflow test status for project(s) in installed MDCMS RFPs.

Optionally confirm the final test status for those RFPs if the status has provisionally been set for all projects in the RFP.

POST /rfp/acceptance

The request body identifies the acceptance action and optional RFP filters. MDCMS updates every RFP that matches those filters and meets the preconditions. Results are returned as a transaction ID plus a list of per-RFP messages.

Preconditions

An RFP is updated only when all of the following are true:

  • Its application, level, RFP number, and impacted projects or tasks match the filter criteria in the request body.
  • It is already completely installed and has an ongoing test status.
  • The owner of the authentication token is authorized in MDSEC to run command MDWFARFP.

JSON payloads

All MDCMS REST API request and response bodies use JSON. Send Content-Type: application/json.

Authorization

Header Type Required Description
Authorization string Yes Bearer token for the MDSEC user that performs the acceptance update. See Authenticate requests to the MDCMS REST API server.
Content-Type string Yes application/json

A missing or invalid token returns HTTP 401 Unauthorized.

Request body

Schema

Property Type Required Description
grp string Yes User group ID of the user updating the workflow test status. The group must be an involved acceptance group for the project(s) impacted by the RFPs to accept or reject.
user string No User in the group to attribute the acceptance status to. If omitted, the owner of the authentication token is used.
act string No Action to carry out for each qualified project in each qualified RFP. See Action.
cmnt string No Comment to apply to the status update.
conf string No Whether to confirm the RFP test status when all impacted projects are provisionally accepted, or when at least one impacted project is provisionally rejected. See Confirmation.
appl string No Restrict candidates to this MDCMS application.
rfp integer No Update a specific RFP number. Interpret this number using rfpt.
rfpt string No How to interpret rfp. See RFP number type.
flvl integer No Minimum application level for the test status update.
tlvl integer No Maximum application level for the test status update.
frfp integer No Minimum RFP number for the test status update.
trfp integer No Maximum RFP number for the test status update.
proj string No If omitted, RFPs are not filtered by project and the test status is updated for all projects in the RFP. If set, the RFP must impact this project and the test status is applied only to that project.
task integer No Include an RFP only if one or more of its objects are assigned to this project task.
stsk integer No Include an RFP only if one or more of its objects are assigned to this project subtask.
pipeline string No 10-character ID of a pipeline server defined in MDOpen. Used for downstream update messages to that server with the MDUPDPIPE command.
traceKey string No Unique key that identifies the pipeline build MDCMS should communicate with. Used for downstream update messages with the MDUPDPIPE command.

Action

Value Description
*ACCEPT Set the test status to accepted.
*REJECT Set the test status to rejected.
*INPROG Set the test status to in progress.
*UNDO Reset the provisional test status.

Confirmation

Value Description
*NO Set only the provisional status. Final confirmation occurs later.
*YES Set the RFP test status to confirmed and carry out any post-confirmation steps.

RFP number type

Use rfpt when rfp is set.

Value Description
*CURRENT rfp is the RFP's current number.
*FROM rfp is the number of the RFP installed into the prior level.
*ORIG rfp is the number installed into the initial level of a migration chain. Each matching RFP originated from that number.

Example

Accept and confirm a project in installed RFPs. Replace {endpoint} with the URL endpoint defined for the MDCMS HTTP server.

{
  "grp": "TESTER1",
  "user": "USER1",
  "act": "*ACCEPT",
  "conf": "*YES",
  "proj": "demouk1",
  "task": "1",
  "stsk": "1"
}
curl -X POST "https://{endpoint}/rfp/acceptance" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"grp":"TESTER1","user":"USER1","act":"*ACCEPT","conf":"*YES","proj":"demouk1","task":"1","stsk":"1"}'
POST /rfp/acceptance HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}
Content-Type: application/json

{
  "grp": "TESTER1",
  "user": "USER1",
  "act": "*ACCEPT",
  "conf": "*YES",
  "proj": "demouk1",
  "task": "1",
  "stsk": "1"
}

Response body

Schema

Property Type Description
transactionId integer Transaction ID for this API call. Processed RFPs for this ID are written to table MDCMS/MDDWFAR and can be queried in column MDTRN.
transactions array List of transaction message objects, one per result message.

Transaction object

Each element of transactions has the following properties. appl, lvl, and rfp are present when the message applies to a specific RFP. proj is present when the message applies to a specific project impacted by the RFP.

Property Type Description
sev integer Result severity. See Severity.
msg string Message text.
appl string Application of the RFP.
lvl integer Application level of the RFP.
rfp integer RFP number.
proj string Project for which the test status was updated.

Severity

Value Meaning
10 Success
20 Warning
30 Error

Example

{
  "transactionId": "149",
  "transactions": [
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1765",
      "proj": "DEMOUK1",
      "sev": "10",
      "msg": "Test Status for Project in RFP updated"
    },
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1765",
      "sev": "10",
      "msg": "RFP Confirmed as Accepted"
    },
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1766",
      "proj": "DEMOUK1",
      "sev": "10",
      "msg": "Test Status for Project in RFP updated"
    },
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1766",
      "sev": "10",
      "msg": "RFP Confirmed as Accepted"
    }
  ]
}
Resource Description
RFP Installation REST API Install approved RFPs
Open Projects REST API List active projects
RFP Approval REST API Approve RFPs for installation