Skip to content

Instantly share code, notes, and snippets.

@ahtcx
Last active December 15, 2022 16:40
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ahtcx/8172af05a4447f781faf71f0e7985ebe to your computer and use it in GitHub Desktop.
Save ahtcx/8172af05a4447f781faf71f0e7985ebe 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"
}
}
}
}
@AurelienFT
Copy link

Hello,

You speak about office 365 oauth for epitech do you have an example of code to connect to intranet with oauth office (in any language) ?

@ahtcx
Copy link
Author

ahtcx commented Feb 27, 2020

Sorry but I haven't been at EPITECH for years now I don't have any code for connecting with Office 365 OAuth.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment