REST reference
Activities
GET
/activities/{idOrSlug}/resultsPath Parameters
idOrSlug*string
Query Parameters
seriesId?string
Format
uuidResponse Body
curl -X GET "https://example.com/activities/string/results"{ "series": [ { "id": "string", "name": "string", "startDate": "string", "frozen": true, "revealAt": "string", "problems": [ { "id": "string", "slug": "string", "name": "string", "maxPoints": 0.1 } ] } ], "contestants": [ { "id": "string", "name": "string", "kind": "string", "description": "string", "members": [ "string" ] } ], "results": [ { "id": "string", "contestantId": "string", "seriesId": "string", "problemId": "string", "problemSlug": "string", "submittedAt": "string", "points": 0, "state": "string", "extra": null, "frozen": true } ], "me": "string"}POST
/activities/{idOrSlug}/enrolmentPath Parameters
idOrSlug*string
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/activities/string/enrolment" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "slug": "string", "name": "string", "group": { "id": "string", "name": "string", "description": "string", "members": [ "string" ] }, "type": "string", "rankingType": "string", "timeZone": "string", "state": "string", "membership": "string", "joinPolicy": "string", "scoreVisibility": "string", "startDate": "string", "endDate": "string", "hideEndedSeriesProblems": true, "documents": [ { "kind": "string", "language": "string", "title": "string", "validFrom": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ], "modules": { "questions": true }, "finalScore": 0, "maxScore": 0, "props": null, "locked": { "seriesName": "string" }}curl -X GET "https://example.com/activities/string/groups"[ { "id": "string", "activityId": "string", "name": "string", "description": "string", "isSystem": true, "memberCount": 0, "submissionCount": 0, "createdAt": "string" }]POST
/activities/{idOrSlug}/groupsPath Parameters
idOrSlug*string
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/activities/string/groups" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "id": "string", "activityId": "string", "name": "string", "description": "string", "isSystem": true, "memberCount": 0, "submissionCount": 0, "createdAt": "string"}DELETE
/activities/{idOrSlug}/groups/{groupId}Path Parameters
idOrSlug*string
groupId*string
Format
uuidResponse Body
curl -X DELETE "https://example.com/activities/string/groups/497f6eca-6276-4993-bfeb-53cbbbba6f08"Empty
PUT
/activities/{idOrSlug}/groups/{groupId}Path Parameters
idOrSlug*string
groupId*string
Format
uuidTypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X PUT "https://example.com/activities/string/groups/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "id": "string", "activityId": "string", "name": "string", "description": "string", "isSystem": true, "memberCount": 0, "submissionCount": 0, "createdAt": "string"}PUT
/activities/{idOrSlug}/participants/{userId}/groupPath Parameters
idOrSlug*string
userId*string
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X PUT "https://example.com/activities/string/participants/string/group" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "userId": "string", "userName": "string", "userLogin": "string", "activityId": "string", "activityName": "string", "permissions": [ "string" ], "isSystem": true, "createdFromTemplate": "string", "state": "string", "groupId": "string", "groupName": "string", "createdAt": "string", "source": "string", "sourceProviderId": "string", "sourceProviderName": "string", "managed": true, "overrideSystem": true}GET
/activities/{idOrSlug}/questionsPath Parameters
idOrSlug*string
Query Parameters
page?integer
Format
int32pageSize?integer
Format
int32search?string
kind?string
seriesId?string
Format
uuidproblemId?string
Format
uuidResponse Body
curl -X GET "https://example.com/activities/string/questions"{ "items": [ { "id": "string", "kind": "string", "topic": "string", "body": "string", "authorName": "string", "createdAt": "string", "seriesId": "string", "seriesName": "string", "problemId": "string", "problemSlug": "string", "problemName": "string", "isPublished": true, "isRead": true, "answer": { "body": "string", "authorName": "string", "answeredAt": "string" } } ], "total": 0, "page": 0, "pageSize": 0}POST
/activities/{idOrSlug}/questionsPath Parameters
idOrSlug*string
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/activities/string/questions" \ -H "Content-Type: application/json" \ -d '{ "topic": "string", "body": "string" }'{ "id": "string", "kind": "string", "topic": "string", "body": "string", "authorName": "string", "createdAt": "string", "seriesId": "string", "seriesName": "string", "problemId": "string", "problemSlug": "string", "problemName": "string", "isPublished": true, "isRead": true, "answer": { "body": "string", "authorName": "string", "answeredAt": "string" }}POST
/activities/{idOrSlug}/questions/{questionId}/readPath Parameters
idOrSlug*string
questionId*string
Format
uuidResponse Body
curl -X POST "https://example.com/activities/string/questions/497f6eca-6276-4993-bfeb-53cbbbba6f08/read"Empty
GET
/activitiesQuery Parameters
page?integer
Format
int32pageSize?integer
Format
int32state?string
Response Body
curl -X GET "https://example.com/activities"{ "items": [ { "id": "string", "slug": "string", "name": "string", "group": { "id": "string", "name": "string", "description": "string", "members": [ "string" ] }, "type": "string", "rankingType": "string", "timeZone": "string", "state": "string", "membership": "string", "joinPolicy": "string", "scoreVisibility": "string", "startDate": "string", "endDate": "string", "hideEndedSeriesProblems": true, "documents": [ { "kind": "string", "language": "string", "title": "string", "validFrom": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ], "modules": { "questions": true }, "finalScore": 0, "maxScore": 0, "props": null, "locked": { "seriesName": "string" } } ], "total": 0, "page": 0, "pageSize": 0}curl -X GET "https://example.com/activities/string"{ "id": "string", "slug": "string", "name": "string", "group": { "id": "string", "name": "string", "description": "string", "members": [ "string" ] }, "type": "string", "rankingType": "string", "timeZone": "string", "state": "string", "membership": "string", "joinPolicy": "string", "scoreVisibility": "string", "startDate": "string", "endDate": "string", "hideEndedSeriesProblems": true, "documents": [ { "kind": "string", "language": "string", "title": "string", "validFrom": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ], "modules": { "questions": true }, "finalScore": 0, "maxScore": 0, "props": null, "locked": { "seriesName": "string" }}curl -X GET "https://example.com/activities/string/series"[ { "id": "string", "slug": "string", "name": "string", "startDate": "string", "endDate": "string", "isOpen": true, "pausedAt": "string", "rankingVisibleFrom": "string", "rankingVisibleTo": "string", "problemCount": 0, "problems": [ { "id": "string", "slug": "string", "name": "string", "status": "string", "bestScore": 0, "maxScore": 0, "attempts": 0 } ], "locked": { "seriesName": "string" } }]GET
/activities/{idOrSlug}/problems/{problemSlug}Path Parameters
idOrSlug*string
problemSlug*string
Response Body
curl -X GET "https://example.com/activities/string/problems/string"{ "id": "string", "slug": "string", "name": "string", "type": "string", "seriesId": "string", "statements": [ { "name": "string", "language": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ], "attachments": [ { "name": "string", "mimeType": "string", "sizeBytes": 0, "fileId": "string", "sha256": "string" } ], "samples": [ { "input": "string", "output": "string", "explanation": "string" } ], "status": "string", "bestScore": 0, "maxScore": 0, "attempts": 0, "config": null, "spec": null, "props": null, "maxUploadBytes": 0, "submitFields": [ { "kind": "string", "name": "string", "label": "string", "accept": [ "string" ] } ], "submissionsLeft": 0}GET
/activities/{idOrSlug}/submissionsPath Parameters
idOrSlug*string
Query Parameters
page?integer
Format
int32pageSize?integer
Format
int32Response Body
curl -X GET "https://example.com/activities/string/submissions"{ "items": [ { "id": "string", "problemId": "string", "problemSlug": "string", "problemName": "string", "seriesId": "string", "submittedAt": "string", "props": null, "state": "string", "score": 0, "maxScore": 0, "verdict": "string", "excluded": true } ], "total": 0, "page": 0, "pageSize": 0}GET
/activities/{idOrSlug}/submissions/{submissionId}Path Parameters
idOrSlug*string
submissionId*string
Format
uuidResponse Body
curl -X GET "https://example.com/activities/string/submissions/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "string", "problemId": "string", "problemSlug": "string", "problemName": "string", "seriesId": "string", "submittedAt": "string", "props": null, "state": "string", "score": 0, "maxScore": 0, "verdict": "string", "excluded": true, "problemType": "string", "authorName": "string", "attempts": [ { "id": "string", "attempt": 0, "startedAt": "string", "finishedAt": "string", "state": "string", "verdict": "string", "score": 0, "props": null, "files": [ { "name": "string", "fileName": "string", "language": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ] } ], "files": [ { "name": "string", "fileName": "string", "language": "string", "fileId": "string", "sha256": "string", "sizeBytes": 0 } ]}POST
/activities/{idOrSlug}/problems/{problemSlug}/submissionsPath Parameters
idOrSlug*string
problemSlug*string
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/activities/string/problems/string/submissions"{ "id": "string", "problemId": "string", "problemSlug": "string", "problemName": "string", "seriesId": "string", "submittedAt": "string", "props": null, "state": "string", "score": 0, "maxScore": 0, "verdict": "string", "excluded": true}