Skip to content

RFP Send REST API

Published: 2024-05-15

Last Updated: 2026-08-26

Send MDCMS RFPs to target locations.

POST /rfp/send

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.

{
  "appl": "TEST",
  "flvl": "30",
  "tlvl": "30",
  "frfp": "1730",
  "trfp": "1770",
  "merge": "*yes",
  "resend": "*yes",
  "proj": "DEMOUK1"
}
curl -X POST "https://{endpoint}/rfp/send" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"appl":"TEST","flvl":"30","tlvl":"30","frfp":"1730","trfp":"1770","merge":"*yes","resend":"*yes","proj":"DEMOUK1"}'
POST /rfp/send HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}
Content-Type: application/json

{
  "appl": "TEST",
  "flvl": "30",
  "tlvl": "30",
  "frfp": "1730",
  "trfp": "1770",
  "merge": "*yes",
  "resend": "*yes",
  "proj": "DEMOUK1"
}

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"
    }
  ]
}
Resource Description
RFP Installation REST API Install approved RFPs
Open RFPs REST API List active RFPs for an application and level