...
| Action | Intended User | URI | Method | Request Params | Request Body | Response Body |
---|
1 | create a ResearchProject | Synapse User | /researchProject | POST |
| ResearchProject | ResearchProject |
2 | retrieve a ResearchProject | owner | /accessRequirement/{id}/researchProject | GET |
|
| ResearchProject |
3 | update a ResearchProject | owner | /researchProject/{id} | PUT |
| ResearchProject | ResearchProject |
4 | transfer ownership of a ResearchProject | owner, ACT | /researchProject/{id}/updateOwner | PUT |
| ChangeOwnershipRequest | ResearchProject |
5 | create a DataAccessRequest | Synapse User | /dataAccessRequest | POST |
| DataAccessRequest | DataAccessRequest |
6 | retrieve the current DataAccessRequest | creator, ResearchProject's owner | /accessRequirement/{id}/dataAccessRequest | GET |
|
| DataAccessRequestInterface |
7 | asking the server for a suitable request object to start with | SynapseUser | /accessRequirement/{id}/dataAccessRequestForUpdate | GET |
|
| DataAccessRequestInterface |
8 | update a DataAccessRequest | creator, ResearchProject's owner | /dataAccessRequest | PUT |
| DataAccessRequestInterface | DataAccessRequestInterface |
9 | submit a DataAccessRequest | creator, ResearchProject's owner | /dataAccessSubmission | POST |
| DataAccessRequestInterface | SubmissionStatus |
10 | retrieve the latest DataAccessSubmission's status | requestor, ResearchProject's owner, accessors | /accessRequirement/{id}/submissionStatus | GET |
|
| SubmissionStatus |
11 | cancel a DataAccessSubmission | requestor, ResearchProject's owner | /dataAccessSubmission/{id}/cancel | PUT |
|
| SubmissionStatus
|
12 | update a DataAccessSubmission | ACT | /dataAccessSubmission | PUT |
| SubmissionStatusChangeRequest | DataAccessSubmission |
13 | retrieve a list of DataAccessSubmission | ACT | /accessRequirement/{id}/listSubmission | GET | nextPageToken, order, filter (by status) |
| DataAccessSubmissionPage |
14 | retrieve a list of Approval Status for a given list of AccessRequirement | SynapseUser | /accessApproval/status | GET |
| List<String> accessRequirementIdsAccessApprovalStatusRequest | AccessApprovalStatusListAccessApprovalStatusResults |
ChangeOwnershipRequest |
---|
String researchProjectId |
String newOwnerId |
...
SubmissionStatusChangeRequest |
---|
String submissionId |
State newState (only APPROVED and REJECTED are valid) |
String rejectedReason |
AccessApprovalStatusAccessApprovalStatusRequest |
---|
List<String> accessRequirementIdList |
AccessApprovalStatusResults |
---|
List<AccessApprovalStatusResult> results |
AccessApprovalStatusResult |
---|
String accessRequirementId |
String accessApprovalId (null if there is no AccessApproval associated with the given access requirement) |
SubmissionStatus (null if there is no DataAccessSubmission associated with the given access requirement) |
FailureCode failureCode (UNAUTHORIZED, NOT_FOUND) |
Compare behaviors of #6 and #7
...