| Method | URI | Auth | Body | Parameters | Return | Description |
|---|---|---|---|---|---|---|
| Studies | ||||||
| GET | /studies | Admin | - | PaginatedResults<Study> | All studies (for creating links within any community) | |
| POST | /studies | Admin | Study | Study | study with id returned | |
| GET | /studies/{id} | Admin | - | Study | ||
| PUT | /studies/{id} | Admin | Study | Study | ||
| DELETE | /studies/{id} | Admin | - | - | ||
| Forms / Dataset Definitions (one per research instrument participants will use in a study) | ||||||
| GET | /studies/{id}/forms | Researcher w/ edit permission | - | PaginatedResults<Form> | Unlikely to be more than a page of these | |
| POST | /studies/{id}/forms | Researcher w/ edit permission | Form | Form | form with id returned | |
| GET | /studies/{id}/forms/{id} | Researcher w/ edit permission | - | Form | ||
| PUT | /studies/{id}/forms/{id} | Researcher w/ edit permission | Form | Form | ||
| DELETE | /studies/{id}/forms/{id} | Researcher w/ edit permission | - | - | ||
| Consents (a special kind of form/dataset definition, one per study, stored encrypted) | ||||||
| GET | /studies/{id}/consent | Researcher w/ edit permission | - | Form | ||
| PUT | /studies/{id}/consent | Researcher w/ edit permission | Form | - | create or update consent | |
| DELETE | /studies/{id}/consent | Researcher w/ edit permission | - | - | ||
| Participants (1 or more for each research project this user is involved with; I would list all participations across all projects, since we proposed initially to show it in the profile or journal section of the app) | ||||||
| GET | /participants | Bridge User | - | studyId | PaginatedResults<Form> | All across all studies, unless filtered for a research project |
| POST | /studies/{id}/participants | Bridge User | Form | Form | Agree to consent form and become a participant in the study | |
| GET | /participants/{id} | Bridge User | - | Form | ||
| PUT | /participants/{id} | Bridge User | Form | - | ||
| DELETE | /participants/{id} | Bridge User | - | |||
| Datasets | ||||||
| GETDELETE | /studiesparticipants/{id}/datasetswithdraw | Bridge User | - | PaginatedResults<DatasetHeader>- | All Delete all datasets for all forms in this studyDELETEthis participant and delete the consent record; this participant has been withdrawn from the study | |
| Datasets (again a user is likely to work with these across projects, although they are related to specific studies, so API is not scoped to a study) | ||||||
| GET | /studies/{id}/datasets | Bridge User | - | participantId | -PaginatedResults<DatasetHeader> | Delete all All datasets for study. This and a delete of the participant record remove participant from the all forms in a study |
| GET | ||||||
| DELETE | ||||||
| POST | ||||||
| GET | ||||||
| PUT | ||||||
| DELETE | ||||||
Researcher - can be pretty much any Synapse user
GET /studies/{id}/datasets list all datasets for all forms in this study
DELETE /studies/{id}/datasets delete all datasets
GET /studies/{id}/form/{id}/datasets get dataset (possibly truncated, as EntityHeaders) for one form
DELETE /studies/{id}/form/{id}/datasets delete this entire dataset [DONT NEED]
...