RFP Send REST API
Published: 2024-05-15
Last Updated: 2026-08-26
Send MDCMS RFPs to target locations.
The request body is a JSON object of optional filters. MDCMS sends 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 sent only when all of the following are true:
- Its application, level, RFP number, target location, and impacted projects or tasks match the filter criteria in the request body.
- The RFP is open in the RFP Send list.
- The owner of the authentication token is authorized in MDSEC to run command
MDSNDRFP.
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 send. 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 of the RFP to send. |
tlvl | integer | No | Maximum application level of the RFP to send. |
frfp | integer | No | Minimum RFP number to include. |
trfp | integer | No | Maximum RFP number to include. |
loc | string | No | Location to send the RFP to. A specific location, or a value from Location. |
locgrp | string | No | Location group to send the RFP to. MDCMS sends only to locations that meet both loc and locgrp. A specific group, or *ALL to not limit by group. |
ftlvl | integer | No | Minimum target application level. |
ttlvl | integer | No | Maximum target application level. |
merge | string | No | Whether to merge multiple RFPs for the same local level into a single RFP before sending. See Merge. |
resend | string | No | Whether to send an RFP to a target level that it has already been sent to. An RFP is not resent if installation has completed on the target level. See Resend. |
insdt | string | No | Date to install the RFP on the target system. Format YYYYMMDD. If omitted, the current date is used. |
instm | string | No | Time of day to install the RFP on the target system. Format HHMMSS. If omitted, the current time is used. |
tzone | string | No | Time zone for the install date and time. See Time zone. |
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. |
batch | string | No | Whether target levels are part of a batch send so that one process sends to several targets at once. This avoids conflicts when sending to multiple targets for the same RFP with multiple calls. See Batch. |
Location
| Value | Description |
|---|---|
| (location) | Send to this specific location. |
*ALLDFT | All target locations defined for the RFP's level that have Default to Send set to Y (Yes) or M (Yes for Manual Send). |
*ALL | All target locations defined for the RFP's level. |
Merge
The merge occurs for each level. The lowest RFP number for the level becomes the container for all impacted objects.
| Value | Description |
|---|---|
*NO | Each RFP is sent separately. |
*YES | All RFPs for the same application level are merged into the lowest RFP so that a single RFP is sent to the target locations for that level. |
Resend
| Value | Description |
|---|---|
*NO | Omit a target level if the RFP has already been sent to it. |
*YES | Resend the RFP to a target level even if it had been sent before, as long as installation has not completed on the target level. |
Time zone
| Value | Description |
|---|---|
*TARGET | Installation date and time use the time zone of the target system. |
*LOCAL | Installation date and time use the time zone of the local sending system. |
Batch
| Value | Description |
|---|---|
*ONLY | Invoke the send immediately without batching multiple calls together. |
*FIRST | Place selected targets in this call into an initialized batch list per RFP. Use this value for the first call in a batch. |
*ADD | Append selected targets to an existing list per RFP. If the list for an RFP does not exist yet, it is started. |
*LAST | Append selected targets to an existing list per RFP. If the list for an RFP does not exist yet, it is started. Then process the send for the entire batch list per RFP. Use this value for the last call in a batch. |
Example
Send RFPs for an application, level range, RFP range, and project. 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. Processed RFPs for this ID are written to table MDCMS/MDDRSND 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, rfp, rloc, and tlvl are present when the message applies to a specific RFP and target.
| 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. |
rloc | string | Target location ID. |
tlvl | integer | Target level number. |
Severity
| Value | Meaning |
|---|---|
10 | Success |
20 | Warning |
30 | Error |
Example
{
"transactionId": "169",
"transactions": [
{
"appl": "TEST",
"lvl": "30",
"rfp": "1765",
"rloc": "MDDEMO",
"tlvl": "30",
"sev": "10",
"msg": "RFP selected for Send to Target Level"
},
{
"appl": "TEST",
"lvl": "30",
"rfp": "1765",
"rloc": "SFO",
"tlvl": "30",
"sev": "10",
"msg": "RFP selected for Send to Target Level"
}
]
}
Related resources
| Resource | Description |
|---|---|
| RFP Installation REST API | Install approved RFPs |
| Open RFPs REST API | List active RFPs for an application and level |