diff --git a/docs/neopolis/_category_.json b/docs/neopolis/_category_.json
index c2d8a93..30eb035 100644
--- a/docs/neopolis/_category_.json
+++ b/docs/neopolis/_category_.json
@@ -1,5 +1,5 @@
{
- "label": "[WIP] Neopolis API",
+ "label": "Neopolis API",
"link": {
"type": "generated-index"
}
diff --git a/docs/neopolis/authentification.md b/docs/neopolis/authentification.md
new file mode 100644
index 0000000..8a4c7f1
--- /dev/null
+++ b/docs/neopolis/authentification.md
@@ -0,0 +1,11 @@
+---
+sidebar_position: 2
+---
+
+# Authentification
+
+The API endpoint can be found at `https://prod.neopolis.app`
+
+## API Authentification
+
+TODO
\ No newline at end of file
diff --git a/docs/neopolis/get-land-activity.md b/docs/neopolis/get-land-activity.md
new file mode 100644
index 0000000..54cd6f0
--- /dev/null
+++ b/docs/neopolis/get-land-activity.md
@@ -0,0 +1,64 @@
+---
+sidebar_position: 5
+---
+
+# Land Activity
+
+```
+POST https://prod.neopolis.app/public/getLandActivity
+
+{
+ "land_id": "LAND_ID",
+ "days": 7
+}
+```
+
+
+Example Response
+
+
+```
+{
+ "status": "ok",
+ "success": {
+ "ad_viewed": [
+ 18,
+ 100,
+ (...)
+ ],
+ "neocoin_opened": [
+ 123,
+ 193,
+ (...)
+ ],
+ "cards_opened": [
+ 90,
+ 50,
+ (...)
+ ],
+ "heist_successful": [
+ 8,
+ 19,
+ (...)
+ ],
+ "building_created": [
+ 2,
+ 9,
+ (...)
+ ],
+ "unique_visitors": [
+ 131,
+ 109,
+ (...)
+ ],
+ "iap_purchased": [
+ 1,
+ 3,
+ (...)
+ ]
+ }
+}
+```
+
+
+
diff --git a/docs/neopolis/get-parties-ranking.md b/docs/neopolis/get-parties-ranking.md
new file mode 100644
index 0000000..7551a2a
--- /dev/null
+++ b/docs/neopolis/get-parties-ranking.md
@@ -0,0 +1,76 @@
+---
+sidebar_position: 4
+---
+
+# Party Ranking
+
+## Get global ranking
+
+```
+POST https://prod.neopolis.app/public/getPartiesRanking
+
+{
+ "page": 1
+}
+```
+
+
+Example Response
+
+
+```
+{
+ "status": "ok",
+ "success": {
+ "ranking": [
+ {
+ "id": "PARTY_ID",
+ "name": "Party Name",
+ "score": 10000,
+ "logo": "5_4_0",
+ "level": 20,
+ "members_count": 15,
+ "members_max_bonus": 0,
+ "city_id": "fr_Paris",
+ "city_name": "Paris"
+ },
+ (...)
+ ],
+}
+```
+
+
+
+
+:::info
+
+The 1st page is `1` , not `0` . Page `0` is actually the last page.
+
+:::
+
+## Get ranking details for a party
+
+```
+POST https://prod.neopolis.app/public/getPartyRanking
+
+{
+ "party_id": "PARTY_ID"
+}
+```
+
+
+Example Response
+
+
+```
+{
+ "status": "ok",
+ "success": {
+ "city": 1, // Ranking within the party's city
+ "global": 1 // Global ranking
+ }
+}
+```
+
+
+
diff --git a/docs/neopolis/get-users-ranking.md b/docs/neopolis/get-users-ranking.md
new file mode 100644
index 0000000..d3fa75c
--- /dev/null
+++ b/docs/neopolis/get-users-ranking.md
@@ -0,0 +1,80 @@
+---
+sidebar_position: 3
+---
+
+# User Ranking
+
+## Get global ranking
+
+```
+POST https://prod.neopolis.app/public/getUsersRanking
+
+{
+ "page": 1
+}
+```
+
+
+Example Response
+
+
+```
+{
+ "status": "ok",
+ "success": {
+ "ranking": [
+ {
+ "id": "USER_ID",
+ "name": "Username",
+ "discriminator": "2001",
+ "score": 1000000,
+ "avatar": 13,
+ "city_id": "de_Berlin",
+ "city_name": "Berlin"
+ },
+ (...)
+ ],
+}
+```
+
+
+
+
+:::info
+The users are ordered by score, meaning the 1st user in the reponse is the player with the most score.
+:::
+
+:::caution
+The top of the ranking starts at `page = 1` , not `0` .
+:::
+
+## Get ranking details for a single user
+
+```
+POST https://prod.neopolis.app/public/getUserRanking
+
+{
+ "user_id": "USER_ID"
+}
+```
+
+
+Example Response
+
+
+```
+{
+ "status": "ok",
+ "success": {
+ "city": 100,
+ "global": 1200,
+ "league": "master_3",
+ "league_progress": 1,
+ "score": 1000000,
+ "top_percent": 3
+ }
+}
+```
+
+
+
diff --git a/docs/neopolis/intro.md b/docs/neopolis/intro.md
index 3fd3a76..6bb3ee7 100644
--- a/docs/neopolis/intro.md
+++ b/docs/neopolis/intro.md
@@ -1,5 +1,5 @@
---
-sidebar_position: 2
+sidebar_position: 1
---
# Introduction