Skip to content

Instantly share code, notes, and snippets.

@valkheim
Forked from DupK/intra_api.md
Created December 18, 2017 11:58
Show Gist options
  • Save valkheim/e677cfeb3b32fa0eaad4f75f7f902b78 to your computer and use it in GitHub Desktop.
Save valkheim/e677cfeb3b32fa0eaad4f75f7f902b78 to your computer and use it in GitHub Desktop.
Non-official list of Epitech Intra API endpoints

Epitech API

Epitech's API is located at https://intra.epitech.eu/ and for the most part is any intranet page with the format=json param added.

Authentication

To access most endpoints a PHPSESSID cookie must be set to an authenticated session. Authentification can be done with an autologin code or via Office 365 oauth.

Endpoints

API endpoints and what they require and do. JSON file of endpoints below the documentation.

General

General API endpoints


GET /?format=json SESSION REQUIRED

Return general information


GET /user/notification/coming?format=json SESSION REQUIRED

Return upcoming appointments


GET /user/notification/message?format=json SESSION REQUIRED

Return notification messages


GET /user/notification/alert?format=json SESSION REQUIRED

Return notification alerts


GET /user/notification/missed?format=json SESSION REQUIRED

Return notification alerts

Authentication

API endpoints related to user sessions


GET /{path}

Authenticate with a autologin link code

{path} given at the admin autolog endpoint


POST /logout?format=json SESSION REQUIRED

Unauthenticate current session

User

API endpoints related to Epitech users


GET /user/?format=json SESSION REQUIRED

Return authenticated user's profile


GET /user/{login}/?format=json SESSION REQUIRED

Return a user's profile

{login} login of an Epitech user


GET /user/{login}/notes?format=json SESSION REQUIRED

Return a user's grades

{login} login of an Epitech user


GET /user/{login}/binome?format=json SESSION REQUIRED

Return a user's partners in past projects

{login} login of an Epitech user


GET /user/{login}/netsoul?format=json SESSION REQUIRED

Return a user's netsoul values

{login} login of an Epitech user

Project


GET /module/{year}/{module}/{instance}/{activity}/project/?format=json SESSION REQUIRED

Return an Epitech project's information

Name Description
{year} Project year
{module} Module code
{instance} Module instance
{activity} Activity code


GET /module/{year}/{module}/{instance}/{activity}/file/?format=json SESSION REQUIRED

Return an Epitech project's files

Name Description
{year} Project year
{module} Module code
{instance} Module instance
{activity} Activity code


GET /module/{year}/{module}/{instance}/{activity}/rdv/?format=json SESSION REQUIRED

Return an Epitech project's appointments

Name Description
{year} Project year
{module} Module code
{instance} Module instance
{activity} Activity code

Admin


GET /admin/autolog?format=json SESSION REQUIRED

Return a user's autolog URL

{
"url": "https://intra.epitech.eu/",
"endpoints": {
"general": {
"home": {
"method": "GET",
"path": "/?format=json"
},
"coming": {
"method": "GET",
"path": "/user/notification/coming?format=json"
},
"message": {
"method": "GET",
"path": "/user/notification/message?format=json"
},
"alert": {
"method": "GET",
"path": "/user/notification/alert?format=json"
},
"absences": {
"method": "GET",
"path": "/user/notification/absences?format=json"
}
},
"auth": {
"autolog": {
"method": "GET",
"path": "/{path}"
},
"disconnect": {
"method": "POST",
"path": "/logout?format=json"
}
},
"user": {
"session": {
"method": "GET",
"path": "/user/?format=json"
},
"profile": {
"method": "GET",
"path": "/user/{login}/?format=json"
},
"grades": {
"method": "GET",
"path": "/user/{login}/notes?format=json"
},
"partners": {
"method": "GET",
"path": "/user/{login}/binome?format=json"
},
"netsoul": {
"method": "GET",
"path": "/user/{login}/netsoul?format=json"
}
},
"project": {
"info": {
"method": "GET",
"path": "/module/{year}/{module}/{instance}/{activity}/project/?format=json"
},
"files": {
"method": "GET",
"path": "/module/{year}/{module}/{instance}/{activity}/file/?format=json"
},
"appointments": {
"method": "GET",
"path": "/module/{year}/{module}/{instance}/{activity}/rdv/?format=json"
}
},
"admin": {
"autolog": {
"method": "GET",
"path": "/admin/autolog?format=json"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment