Skip to content

RFP Installation REST API

Published: 2025-06-26

Last Updated: 2026-08-26

Perform the installation (application update) phase of MDCMS RFPs.

POST /rfp/install

The request body is a JSON object of optional filters. MDCMS installs 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 installed 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.
  • The submit, approve, and MDRapid phases for the RFP are complete so that installation is pending.
  • The owner of the authentication token is authorized in MDSEC to run command MDINSRFP.

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 installation. 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

All properties are optional. Omit a property to leave that filter unconstrained. Combine properties to narrow the candidate list.

Schema

Property Type Required Description
appl string No Restrict candidates to this MDCMS application.
flvl integer No Minimum application level that the RFP is targeting.
tlvl integer No Maximum application level that the RFP is targeting.
frfp integer No Minimum RFP number to include.
trfp integer No Maximum RFP number to include.
pend string No Which pending statuses to consider. See Pending RFPs.
schdt string No When pending RFPs are considered, only process those with a scheduled install date on or before this value. Format YYYYMMDD. If omitted, the current date is the maximum.
proj string No Include an RFP only if one or more of its objects are assigned to this 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.
user string No User to register as the installer of the RFP. See Installer.

Pending RFPs

Value Description
*YES RFPs in status 03 or IP are considered.
*NO Only RFPs in status 03 are considered.
*ONLY Only RFPs in status IP are considered.

Installer

Value Description
*APPROVER The user registered as having approved the RFP for installation is also registered as the installer.
*USER The owner of the authentication token.
(user) A valid user profile defined in MDSEC.

Example

Install RFPs for an application, level, project, and task. Replace {endpoint} with the URL endpoint defined for the MDCMS HTTP server.

{
  "appl": "TEST",
  "flvl": "30",
  "tlvl": "30",
  "proj": "DEMOUK1",
  "task": "1"
}
curl -X POST "https://{endpoint}/rfp/install" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"appl":"TEST","flvl":"30","tlvl":"30","proj":"DEMOUK1","task":"1"}'
POST /rfp/install HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}
Content-Type: application/json

{
  "appl": "TEST",
  "flvl": "30",
  "tlvl": "30",
  "proj": "DEMOUK1",
  "task": "1"
}

Response body

Schema

Property Type Description
transactionId integer Transaction ID for this API call. Installed RFPs for this ID are written to table MDCMS/MDDIRFP 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.

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.

Severity

Value Meaning
10 Success
20 Warning
30 Error

Example

{
  "transactionId": "155",
  "transactions": [
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1767",
      "sev": "10",
      "msg": "RFP TEST/1767 installed"
    }
  ]
}
Resource Description
RFP Approval REST API Approve RFPs for installation
RFP Acceptance REST API Update MDWorkflow test status after install
RFP Rollback REST API Roll back an installed RFP
RFP Send REST API Send RFPs to target locations