Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

userId (String)
URLHTTP TypeDescriptionRequest Parameters
/competitionPOSTCreate a new Competition
/competition/{competitionId}GETGet a Competition 
/competition/{competitionId}PUT

Update a Competition

userId (String)
/competition/{competitionId}DELETEDelete a CompetitionuserId (String)
/competitionGET

Batch Get Competitions (Paginated)

Optional request parameters:
limit (long)
, offset (long)

/competition/countGETGet the number of Competitions 
/competition/name/{name}GETFind a Competition by name 

Participant

userId (String)
URLHTTP TypeDescriptionRequest Parameters
/competition/{competitionId}/participantPOSTJoin as a Participant in a Competition
/competition/{competitionId}/participant/{userIdprincipalId}POSTAdd another user as a Participant in a Competition.
Requires admin rights on the Competition.
userId (String)
/competition/{competitionId}/participant/{userIdprincipalId}GETGet a Participant 
/competition/{competitionId}/participant/{userIdprincipalId}DELETEDelete a ParticipantuserId (String)
/competition/{competitionId}/participant/GETBatch get Participants for a given Competition (Paginated) 
/competition/{competitionId}/participant/countGETGet the number of Participants in a given Competition 

Submission

Request Parameters 
URLHTTP TypeDescription
/competition/submissionPOSTCreate a new Submission.
(and corresponding SubmissionStatus object)
userId (String)
/competition/submission/{submissionId}GETGet a Submission 
/competition/submission/{submissionId}/statusGET

Get the status of a Submission

/competition/submission/{submissionId}/statusPUT

Update the status of a Submission.
Requires admin rights on the Competition

userId (String)
/competition/submission/{submissionId}DELETEDelete a Submission.
Requires admin rights on the Competition.userId (String)
/competition/{compId}/submissionGET

Batch get Submissions for a given Competition (Paginated).
Requires admin rights on the Competition.
Can be filtered by status enumSubmissionStatusEnum.

userId (String)


Optional request parameters:
SubmissionStatusEnum (String

) (optional

)

/competition/{compId}/submission/countGETGet 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.

...