Skip to content

Project REST API

Published: 2024-05-15

Last Updated: 2026-08-26

Retrieve a project, or create or update a project in MDCMS.

JSON payloads

All MDCMS REST API request and response bodies use JSON. Send Content-Type: application/json on POST.

GET

Return information about a specific project.

GET /project

Authorization

Header Type Required Description
Authorization string Yes Bearer token for the MDSEC user. See Authenticate requests to the MDCMS REST API server.

A missing or invalid token returns HTTP 401 Unauthorized.

Query parameters

Parameter Type Required Description
proj string Yes Project ID.

Example

Replace {endpoint} with the URL endpoint defined for the MDCMS HTTP server.

curl -H "Authorization: Bearer {token}" \
  "https://{endpoint}/project?proj=DEMO044"
GET /project?proj=DEMO044 HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}

Response body

Schema

Property Type Description
proj string Project ID.
prjt string Project type.
agp string Application code applied to the project.
agrp string User group assigned to the project.
ausr string User assigned to the project.
pri integer Priority. See Priority.
edat string Expected date. Format YYYYMMDD.
sts string Project status.
dsc string Brief description or title.
requester string User who requested the project.
requestDate string Request date. Format YYYYMMDD.
requestTime string Request time. Format HHMMSS.
closer string User who closed the project.
closeDate string Close date. Format YYYYMMDD.
closeTime string Close time. Format HHMMSS.
hrse decimal Hours expected to complete the project.
cste decimal Expected cost to complete the project.
hrsa decimal Actual hours.
csta decimal Actual cost.

Example

{
  "proj": "DEMO044",
  "prjt": "ONLYTASKS",
  "agp": "TEST",
  "agrp": "",
  "ausr": "",
  "pri": "3",
  "edat": "20170430",
  "sts": "1",
  "dsc": "Demo project 44",
  "requester": "REN",
  "requestDate": "20170320",
  "requestTime": "115201",
  "closer": "",
  "closeDate": "0",
  "closeTime": "0",
  "hrse": "11.00",
  "cste": "1999.99",
  "hrsa": "10.00",
  "csta": "1300.00"
}

POST

Create or update a project in MDCMS.

If the project ID already exists, MDCMS updates it. Include a property in the body only when a new value should be set. Omitted properties keep their existing values.

POST /project

Authorization

Header Type Required Description
Authorization string Yes Bearer token for the MDSEC user. 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

Schema

Property Type Required Description
proj string Yes Project ID. If the ID already exists in MDCMS, the project is updated; otherwise it is added.
prjt string No Valid project type. If omitted for a new project, the default type is used.
agp string No Optional application code to apply to the project.
agrp string No User group to assign the project to.
ausr string No Specific user to assign the project to.
pri integer No Priority. If omitted for a new project, the priority is set to 3 (Medium). See Priority.
sts string No Project status. If omitted for a new project, the status is set to 1 (Open).
dsc string Yes, when new Brief description or title for the project.
hrse decimal No Hours expected to complete the project.
cste decimal No Expected cost to complete the project.
musr string No User to register as the creator or modifier of the project.
edsc string No Extended description of the project.
edat string No Expected date. Format YYYYMMDD.

Example

Create or update a project. Replace {endpoint} with the URL endpoint defined for the MDCMS HTTP server.

{
  "proj": "RESTPROJ3",
  "agp": "TEST",
  "prjt": "onlytasks",
  "ausr": "mmorgan",
  "pri": "2",
  "musr": "mmorgan",
  "edat": "20190415",
  "dsc": "Project created via REST API",
  "hrse": "40.56789",
  "cste": "4567.89",
  "edsc": "this used mdwsproj to invoke program mdupdproj für Erzeugung von Überall"
}
curl -X POST "https://{endpoint}/project" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"proj":"RESTPROJ3","agp":"TEST","prjt":"onlytasks","ausr":"mmorgan","pri":"2","musr":"mmorgan","edat":"20190415","dsc":"Project created via REST API","hrse":"40.56789","cste":"4567.89","edsc":"this used mdwsproj to invoke program mdupdproj für Erzeugung von Überall"}'
POST /project HTTP/1.1
Host: {endpoint}
Authorization: Bearer {token}
Content-Type: application/json

{
  "proj": "RESTPROJ3",
  "agp": "TEST",
  "prjt": "onlytasks",
  "ausr": "mmorgan",
  "pri": "2",
  "musr": "mmorgan",
  "edat": "20190415",
  "dsc": "Project created via REST API",
  "hrse": "40.56789",
  "cste": "4567.89",
  "edsc": "this used mdwsproj to invoke program mdupdproj für Erzeugung von Überall"
}

Response body

The response provides a rtn object.

Schema

Property Type Description
rtn object Result object. See Result object.

Result object

Property Type Description
sev string Result severity. See Severity.
msg string Message text.

Example

{
  "rtn": {
    "sev": "10",
    "msg": "Project RESTPROJ3 updated"
  }
}

Priority

Value Meaning
1 Critical
2 High
3 Medium
4 Low
5 Optional

Severity

Value Meaning
10 Processed without errors or warnings
20 Processed, but warnings occurred
30 Did not process successfully due to errors
Resource Description
Open Projects REST API List active projects
Task REST API Create, update, or retrieve a task or subtask