Skip to content

RFP Approval REST API

Published: 2025-06-26

Last Updated: 2026-08-26

Approve MDCMS RFPs that are waiting for installation approval.

POST /rfp/approve

The request body is a JSON object of optional filters. MDCMS approves 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 approved 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.
  • Its status is 02 – Waiting for Approval.
  • The owner of the authentication token is authorized in MDSEC to run command MDAPRRFP and has MDSEC authority to approve RFPs for the RFP's level.

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 approval. 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.
rfp integer No Approve 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 to include.
tlvl integer No Maximum application level to include.
frfp integer No Minimum RFP number to include.
trfp integer No Maximum RFP number to include.
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.

RFP number type

Use rfpt when rfp is set.

Value Description
*CURRENT rfp is the RFP's current number (default).
*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

Approve RFPs that impact a project, task, and subtask. Replace {endpoint} with the URL endpoint defined for the MDCMS HTTP server.

{
  "proj": "demouk1",
  "task": "1",
  "stsk": "1"
}
curl -X POST "https://{endpoint}/rfp/approve" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"proj":"demouk1","task":"1","stsk":"1"}'
POST /rfp/approve HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}
Content-Type: application/json

{
  "proj": "demouk1",
  "task": "1",
  "stsk": "1"
}

Response body

Schema

Property Type Description
transactionId integer Transaction ID for this API call. Approved RFPs for this ID are written to table MDCMS/MDDARFP 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": "162",
  "transactions": [
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1769",
      "sev": "10",
      "msg": "RFP TEST/1769 successfully approved"
    }
  ]
}
Resource Description
Open RFPs REST API List active RFPs for an application and level
RFP Submission REST API Submit RFPs for verification and compile
RFP Installation REST API Install approved RFPs
RFP Acceptance REST API Update MDWorkflow test status after install