---
# System prepended metadata

title: REST API
tags: [Build-Measure-Learn]

---

# REST API
###### tags: `Build-Measure-Learn`

## Front End

### Submission Form
route: processes/create
- POST: New Submission
    - Sends:
        - submitter: String,
        - appName: String,
        - appSummary: String,
        - appDescription: String,
        - license: String,
        - email: String,
        - keybase: String,
        - features: List of features:
            - name: String,
            - description: String,
        - trialTitle: String,
        - trialSummary: String,
        - trialDescription: String,
        - plans: List of plans:
            - name: String,
            - price: String,
            - summary: String,
            - description: String,
        - visualAssets: ???,
        - reportRead: String,
        - reportWrite: String,
        - recordingsRead: String,
        - accountRead: String,
        - callbackWrite: String,
        - redirectUrl: String,
        - standaloneUrl: String,
        - eventsUrl: String

### Monitoring Dashboard

- GET: Specific number of processes and some details (submitter)
    - Purpose: To get several processes along with the details needed to show on the monitoring dashboard table. The STATEHISTORY is a list of the states that the process involves. For the submitter, he will only know the states ACCEPTED, REJECTED or IN REVIEW. The moderator will know the previous ones, but instead of receiveing the state IN REVIEW, he will receive all the checkpoints that are inside that "IN REVIEW" state, and also know if they are complete or not.
    - Sends:
        - numberProcesses: Integer,
        - startingProcessOrder: Integer,
        - userAuth: String
    - Receives ARRAY OF APP (OBJECTS) each one with:
        - id: String,
        - appName: String
        - companyName: String
        - submitionTimeStamp: String,
        - stateHistory - List of States each on with:
            - name: String,
            - timeStamp: String,
            - isCompleted: Boolean,
            - isCheckpoint: Boolean
            - comment: String

### Submission Detailed Page

route /processes/{pid}
- GET: Specific process details
    - Purpose: To get one process along withall the submission details to show in the submission detailed page.
    - Sends:
        - processId: String
    - Receives;
        - submitter: String,
        - appName: String,
        - appSummary: String,
        - appDescription: String,
        - license: String,
        - email: String,
        - keybase: String,
        - features: List of features:
            - name: String,
            - description: String,
        - trialTitle: String,
        - trialSummary: String,
        - trialDescription: String,
        - plans: List of plans:
            - name: String,
            - price: String,
            - summary: String,
            - description: String,
        - visualAssets: Array(String),
        - reportRead: String,
        - reportWrite: String,
        - recordingsRead: String,
        - accountRead: String,
        - callbackWrite: String,
        - redirectUrl: String,
        - standaloneUrl: String,
        - eventsUrl: String

- GET: Specific process history
    - Purpose: Receive the hisotry of a certain process. The STATEHISTORY is a list of the states that the process involves. For the submitter, he will only know the states ACCEPTED, REJECTED or IN REVIEW. The moderator will know the previous ones, but instead of receiveing the state IN REVIEW, he will receive all the checkpoints that are inside that "IN REVIEW" state, and also know if they are complete or not. The comment is the comment left by the moderator in case of rejection
    - Sends:
        - processId: String,
        - userAuth: String
    - Receives:
        - stateHistory - List of states each on with:
            - name: String,
            - timeStamp: String,
            - isCompleted: Boolean,
            - isCheckpoint: Boolean
            - comment: String
            - 
Process Created




### Workflow View

- GET: Workflow image
    - Receives
        - workflowImage: ???

