Pidgeon
  1. Projects
Pidgeon
  • Courses
    • Projects
      • Submission
        • Get submission by ID
        • Get all submissions for an existing project
        • Create a new submission for an existing project
        • Get submitted file of an existing submission
        • Delete an existing submission
        • Get all submissions from a group from a project
        • (removed) Get structure feedback of an existing submission
        • (removed) Get docker feedback for an existing submission
      • Get all projects for an existing course
        GET
      • Get all projects of a user
        GET
      • Get project by ID
        GET
      • Create a new project for an existing course
        POST
      • Update an existing project
        PUT
      • Update an existing project
        PATCH
      • Get all groups of a project
        GET
      • Delete an existing project
        DELETE
      • Update the tests for an existing project
        POST
      • Update the tests for an existing project
        PUT
      • Update the tests for an existing project
        PATCH
      • Get all tests for an existing project
        GET
      • Delete the tests of a project
        DELETE
      • Upload extra test files
        PUT
      • Delete extra test files
        DELETE
      • Get extra test files
        GET
    • Group_clusters
      • Groups
        • Create a new group
        • Get group by ID
        • Update an existing group
        • Update an existing group
        • Update project score for an existing group
        • Delete project score for an existing group
        • Update project score for an existing group
        • Create project score for an existing group
        • Get project score for an existing group
        • Delete a member from an existing group
        • Delete the logged in user from a group
        • Add a member to an existing group
        • Add the logged in user to a group
        • Get all members of an existing group
        • (removed) Delete an existing group
      • Get all group clusters from an existing course
      • Create a new group cluster
      • Get a group cluster by ID
      • Update an existing group cluster
      • Fill groups in group clusters by providing a map of groupids with lists of userids
      • Update an existing group cluster
      • Delete an existing group cluster
    • Get user courses
      GET
    • Create a new course
      POST
    • Update an existing course
      PUT
    • Update an existing course
      PATCH
    • Get course by ID
      GET
    • Delete an existing course
      DELETE
    • Join course with a key
      POST
    • Get course information for joining course with key
      GET
    • Join course without a key
      POST
    • Get course information for joining course without key
      GET
    • Leave an existing course
      DELETE
    • Delete a member from an existing course
      DELETE
    • Add a member to an existing course
      POST
    • Update a member of an existing course
      PATCH
    • Get all members of an existing course
      GET
    • Get the join link for a course
      GET
    • Generate a new join link for a course
      PUT
    • Remove the joinKey from the joinLink of a course
      DELETE
    • Copy a course
      POST
    • Get grades for an existing course
      GET
    • (removed) Add a logged in member to an existing course
      POST
    • (removed) Get all your grades from a course
      GET
  • Users
    • Get user by ID
    • Get the logged in user
    • Search users by email, name and surname
    • Update user
    • Update user
  1. Projects

Create a new project for an existing course

Developing
POST
/courses/{courseid}/projects
Only the teacher of this course and assistants of this course should be able to perform this action

Request

Path Params
courseid
string 
required
Query Params
name
string 
required
description
string 
required
visible
boolean 
required
maxScore
number 
required
groupClusterId
number 
required
deadline
string 
optional
timestamp
testId
number 
optional
visibleAfter
string 
optional
timestamp

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://prod.your-api-server.com/courses//projects?name&description&visible&maxScore&groupClusterId&deadline&testId&visibleAfter'

Responses

🟢200Success
application/json
Body
projectId
number 
required
clusterId
number 
required
groupId
number 
optional
null if not in a group
name
string 
required
description
string 
required
maxScore
number 
required
visible
boolean 
required
status
string 
required
"correct" | "incorrect" | "not started" | "no group"
submissionUrl
string 
required
testUrl
string 
required
deadline
string 
required
timestamp
progress
object 
required
completed
integer 
required
total
integer 
required
course
object 
required
name
string 
required
url
string 
required
courseId
integer 
required
Example
{
  "projectId": 0,
  "clusterId": 0,
  "groupId": 0,
  "name": "string",
  "description": "string",
  "maxScore": 0,
  "visible": true,
  "status": "string",
  "submissionUrl": "string",
  "testUrl": "string",
  "deadline": "string",
  "progress": {
    "completed": 0,
    "total": 0
  },
  "course": {
    "name": "string",
    "url": "string",
    "courseId": 0
  }
}
Previous
Get project by ID
Next
Update an existing project
Built with