NOTE: The Competition services are still under development and are not yet available on Synapse.
...
- ID - unique ID for the Competition
- eTag - optimistic concurrency flag; changes with each update
- ownerID - user principal ID of the owner of the Competition
- name
- description
- contentSource - ID of the data source (e.g. entity) for the Competition (string)
status - enum describing the state of the Competition, one of: PLANNED, OPEN, CLOSED, COMPLETED
Participant
Immutable object to represent a single user participating in a Competition. Competitions can have many users, and users can participate in many Competitions.
- ownerID - user principal ID of the Participant
- competitionID
- createdOn - join date
...
- ID - unique ID for the Submission
- ownerID - user principal ID of the Submission owner
- competitionID
- entityID - ID of the submitted entity
- version - specific entity version
- createdOn - submission date
...
Competition
URL | HTTP Type | Description | Request Parameters |
---|---|---|---|
/competition | POST | Create a new Competition | userId (String)|
/competition/{competitionId} | GET | Get a Competition | |
/competition/{competitionId} | PUT | Update a Competition | userId (String) |
/competition/{competitionId} | DELETE | Delete a Competition | userId (String) |
/competition | GET | Batch Get Competitions (Paginated) | |
/competition/count | GET | Get the number of Competitions | |
/competition/name/{name} | GET | Find a Competition by name |
Participant
URL | HTTP Type | Description | Request Parameters |
---|---|---|---|
/competition/{competitionId}/participant | POST | Join as a Participant in a Competition | userId (String)|
/competition/{competitionId}/participant/{userIdprincipalId} | POST | Add another user as a Participant in a Competition. Requires admin rights on the Competition. | userId (String) |
/competition/{competitionId}/participant/{userIdprincipalId} | GET | Get a Participant | |
/competition/{competitionId}/participant/{userIdprincipalId} | DELETE | Delete a Participant | userId (String) |
/competition/{competitionId}/participant/ | GET | Batch get Participants for a given Competition (Paginated) | |
/competition/{competitionId}/participant/count | GET | Get the number of Participants in a given Competition |
Submission
URL | HTTP Type | Description | Request Parameters|
---|---|---|---|
/competition/submission | POST | Create a new Submission. (and corresponding SubmissionStatus object) | userId (String) |
/competition/submission/{submissionId} | GET | Get a Submission | |
/competition/submission/{submissionId}/status | GET | Get the status of a Submission | |
/competition/submission/{submissionId}/status | PUT | Update the status of a Submission. | userId (String) |
/competition/submission/{submissionId} | DELETE | Delete a Submission. Requires admin rights on the Competition.userId (String) | |
/competition/{compId}/submission | GET | Batch get Submissions for a given Competition (Paginated).
) | |
/competition/{compId}/submission/count | GET | Get the number of Submissions for a given Competition |
Example Workflow
The following is a proposed workflow for interacting with the Competition Services. Please note that some components are still under development.
...