Internships manager

Internships manager

  • Docs
  • API
  • Tuto
  • Help
  • GitHub

›REST API

Introduction

  • Internships manager API

REST API

  • Businesses
  • Campaigns
  • Files
  • Internships
  • InternshipTypes
  • Mentors
  • Mentoring propositions
  • Statistics
  • Students

Services API

  • Emails
  • Statistics

Students

Details of routes to handle students

List of all students

GET /api/v1/students

Params

KeyTypeOptionalDescription
limitNumbernoPage expected (By default 1)
pageNumbernoNumber of row expected (By default 20)

200 - List of students

{
    "page": "1",
    "data": [
        {
            "id": 1,
            "firstName": "John",
            "lastName": "Doe",
            "email": "john.doe@enib.fr",
            "semester": "S8",
            "createdAt": "2019-09-30T11:24:50.000Z",
            "updatedAt": "2019-09-30T11:24:50.000Z"
        },
    ],
    "length": 1,
    "max": 1
}

204 - Not content

If the API doesn't have any student in his database, we return a status 204 - No content

Create a new student

POST /api/v1/students

Headers

KeyValueDescription
Content-Typeapplication/x-www-form-urlencodedBody encoding

Body

KeyTypeOptionalDescription
firstNameStringnoStudent firstName
lastNameStringnoStudent lastName
emailStringnoStudent email
semesterStringnoStudent semester

200 - Created

Return created student

{
  "id": 1,
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@enib.fr",
  "semester": "S8",
  "updatedAt": "2019-09-19T22:21:24.365Z",
  "createdAt": "2019-09-19T22:21:24.365Z"
}

400 - Bad request

API return Bad Request status with 400 code when request validation fail.

{
  "code": 11103,
  "status": 400,
  "errors": [
    {
      "msg": "First name must be of type string",
      "param": "city",
      "location": "body"
    },
    {
      "msg": "First name must be defined",
      "param": "city",
      "location": "body"
    }
  ],
  "name": "BAD REQUEST"
}

Get a student by ID

GET /api/v1/students/:id

Paths variables

KeyTypeDescription
idStringStudent ID

200 - Student

{
  "id": 1,
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@enib.fr",
  "semester": "S8",
  "createdAt": "2019-09-30T11:24:50.000Z",
  "updatedAt": "2019-09-30T11:24:50.000Z"
}

204 - No content

If the API doesn't have any student in his database, we return a status 204 - No content

400 - Bad request

API return Bad Request status with 400 code when request validation fail.

{
  "code": 11103,
  "status": 400,
  "errors": [
    {
      "msg": "Identifier must be an integer",
      "param": "city",
      "location": "body"
    },
    {
      "msg": "Identifier must be defined",
      "param": "city",
      "location": "body"
    }
  ],
  "name": "BAD REQUEST"
}

Update a student by ID

PUT /api/v1/students/:id

Paths variables

KeyTypeDescription
idStringStudent ID

Headers

KeyValueDescription
Content-Typeapplication/x-www-form-urlencodedBody encoding

Body

KeyTypeOptionalDescription
firstNameStringyesStudent firstName
lastNameStringyesStudent lastName
emailStringyesStudent email
semesterStringyesStudent semester

200 - Updated student

{
  "id": 1,
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@enib.fr",
  "semester": "S8",
  "createdAt": "2019-09-30T11:24:50.000Z",
  "updatedAt": "2019-09-30T11:24:50.000Z"
}

204 - No content

If the API doesn't have any student in his database, we return a status 204 - No content

400 - Bad request

API return Bad Request status with 400 code when request validation fail.

{
  "code": 11103,
  "status": 400,
  "errors": [
    {
      "msg": "Email must be of type string",
      "param": "city",
      "location": "body"
    }
  ],
  "name": "BAD REQUEST"
}

Remove a student by ID

DELETE /api/v1/students/:id

Paths variables

KeyTypeDescription
idStringStudent ID

200 - Removed

Return a status 200 without data when delete succeed

204 - No content

If the API doesn't have any student in his database, we return a status 204 - No content

Get internships related to a student by giving his ID

GET /api/v1/students/:id/internships

Paths variables

KeyTypeDescription
idStringStudent ID

Params

KeyTypeOptionalDescription
limitNumbernoPage expected (By default 1)
pageNumbernoNumber of row expected (By default 20)

200 - Internships list

{
    "page": "1",
    "data": [
        {
            "id": 1,
            "subject": "Sed quaerat culpa saepe fuga velit distinctio ea deleniti.",
            "description": "Atque officia consectetur. Eum molestiae rerum qui et. Nostrum fuga molestiae voluptate. Eius omnis nihil non eveniet sed ut. Voluptate provident et voluptate provident illo voluptatem enim ea et. Voluptatem qui reiciendis molestiae rerum blanditiis rem. Ut qui dolor nostrum consequatur accusantium ex esse mollitia atque.",
            "country": "Russian Federation",
            "city": "New Rocky",
            "postalCode": "30636-9003",
            "address": "15486 Genoveva Isle",
            "additional": "Suite 755",
            "isInternshipAbroad": false,
            "isValidated": false,
            "isProposition": true,
            "isPublish": false,
            "state": "waiting",
            "publishAt": "2019-10-13T16:21:25.000Z",
            "createdAt": "2019-10-13T16:21:25.000Z",
            "updatedAt": "2019-10-13T16:21:25.000Z"
        },
    ],
    "length": 1,
    "max": 1
}

204 - No content

If the API doesn't have any student in his database, we return a status 204 - No content

400 - Bad request

API return Bad Request status with 400 code when request validation fail.

{
  "code": 11103,
  "status": 400,
  "errors": [
    {
      "msg": "Identifier must be an integer",
      "param": "city",
      "location": "body"
    },
    {
      "msg": "Identifier must be defined",
      "param": "city",
      "location": "body"
    }
  ],
  "name": "BAD REQUEST"
}

Link student to internship

GET /api/v1/students/:id/internships/:internship_id/link

Paths variables

KeyTypeDescription
idStringStudent ID
internship_idStringInternship ID

200 - OK

Ok appears on two occasions

  • If entries have been linked
  • If internship haven't been found
OK

204 - No content

If the API doesn't have any student in his database, we return a status 204 - No content

400 - Bad request

API return Bad Request status with 400 code when request validation fail.

{
  "code": 11103,
  "status": 400,
  "errors": [
    {
      "msg": "Identifier must be an integer",
      "param": "city",
      "location": "body"
    },
    {
      "msg": "Identifier must be defined",
      "param": "city",
      "location": "body"
    }
  ],
  "name": "BAD REQUEST"
}
← StatisticsEmails →
  • List of all students
    • Params
    • 200 - List of students
    • 204 - Not content
  • Create a new student
    • Headers
    • Body
    • 200 - Created
    • 400 - Bad request
  • Get a student by ID
    • Paths variables
    • 200 - Student
    • 204 - No content
    • 400 - Bad request
  • Update a student by ID
    • Paths variables
    • Headers
    • Body
    • 200 - Updated student
    • 204 - No content
    • 400 - Bad request
  • Remove a student by ID
    • Paths variables
    • 200 - Removed
    • 204 - No content
  • Get internships related to a student by giving his ID
    • Paths variables
    • Params
    • 200 - Internships list
    • 204 - No content
    • 400 - Bad request
  • Link student to internship
    • Paths variables
    • 200 - OK
    • 204 - No content
    • 400 - Bad request
Copyright © 2019 ENIB