Skip to content

RFP Submission REST API

Published: 2025-06-26

Perform the initial submit (verification and compile) phase of MDCMS RFPs.

POST /rfp/submit

The request body is a JSON object of optional filters. MDCMS submits 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 submitted 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 currently 01 – Requests Assigned or SP – Submission Pending.
  • The owner of the authentication token is authorized in MDSEC to run command MDSBMRFP.

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 submission. 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 submit 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 submitter of the RFP. See Submitter.

Pending RFPs

Value Description
*YES RFPs in status 01 or SP are considered.
*NO Only RFPs in status 01 are considered.
*ONLY Only RFPs in status SP are considered.

Submitter

Value Description
*CREATOR The user that owns the RFP is also registered as the submitter.
*USER The owner of the authentication token.
(user) A valid user profile defined in MDSEC.

Example

Submit 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/submit" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"appl":"TEST","flvl":"30","tlvl":"30","proj":"DEMOUK1","task":"1"}'
POST /rfp/submit 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. Submitted RFPs for this ID are written to table MDCMS/MDDSRFP 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": "163",
  "transactions": [
    {
      "appl": "TEST",
      "lvl": "30",
      "rfp": "1769",
      "sev": "10",
      "msg": "RFP TEST/1769 submitted"
    }
  ]
}
Resource Description
Open RFPs REST API List active RFPs for an application and level
RFP Approval REST API Approve RFPs for installation
RFP Installation REST API Install approved RFPs