RFP Approval REST API
Published: 2025-06-26
Last Updated: 2026-08-26
Approve MDCMS RFPs that are waiting for installation approval.
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
MDAPRRFPand 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.
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"
}
]
}
Related resources
| 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 |