AlgoJudge documentation0.1
REST reference

Activities

GET/activities/{idOrSlug}/results

Path Parameters

idOrSlug*string

Query Parameters

seriesId?string
Formatuuid

Response 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}/enrolment

Path Parameters

idOrSlug*string

Request Body

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"  }}
GET/activities/{idOrSlug}/groups

Path Parameters

idOrSlug*string

Response Body

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}/groups

Path Parameters

idOrSlug*string

Request Body

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
Formatuuid

Response 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
Formatuuid

Request Body

TypeScript 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}/group

Path Parameters

idOrSlug*string
userId*string

Request Body

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}/questions

Path Parameters

idOrSlug*string

Query Parameters

page?integer
Formatint32
pageSize?integer
Formatint32
search?string
kind?string
seriesId?string
Formatuuid
problemId?string
Formatuuid

Response 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}/questions

Path Parameters

idOrSlug*string

Request Body

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}/read

Path Parameters

idOrSlug*string
questionId*string
Formatuuid

Response Body

curl -X POST "https://example.com/activities/string/questions/497f6eca-6276-4993-bfeb-53cbbbba6f08/read"
Empty
GET/activities

Query Parameters

page?integer
Formatint32
pageSize?integer
Formatint32
state?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}
GET/activities/{idOrSlug}

Path Parameters

idOrSlug*string

Response Body

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"  }}
GET/activities/{idOrSlug}/series

Path Parameters

idOrSlug*string

Response Body

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}/submissions

Path Parameters

idOrSlug*string

Query Parameters

page?integer
Formatint32
pageSize?integer
Formatint32

Response 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
Formatuuid

Response 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}/submissions

Path 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}