diff --git a/rebase-scripts/rebase-from-germinate b/rebase-scripts/rebase-from-germinate
index 4a1a0a13727c3be86e7e874f084d0cd974d5f5b1..0fe751670b44ee27a68a51b6c7c510f3242937d0 100755
--- a/rebase-scripts/rebase-from-germinate
+++ b/rebase-scripts/rebase-from-germinate
@@ -16,7 +16,7 @@ set -eu
 ARGS=
 REBASE=0
 
-while getopts 'l:rt:' opt
+while getopts 'l:r' opt
 do
     case "$opt" in
         l)
@@ -25,9 +25,6 @@ do
         r)
             REBASE=1
             ;;
-        t)
-            PRIVATE_TOKEN=$OPTARG
-            ;;
     esac
 done
 
@@ -37,7 +34,7 @@ echo "Processing the germinate list ${LIST}..."
 
 while read p; do
     echo "... processing the source package '$p'"
-    ./rebase-pkg -p ${p} -t ${PRIVATE_TOKEN} ${ARGS}
+    ./rebase-pkg -p ${p} ${ARGS}
 done <${LIST}
 
 echo "The germinate list ${LIST} have been processed!"
diff --git a/rebase-scripts/rebase-pkg b/rebase-scripts/rebase-pkg
index 95d4a417fb57641358a6b31112efab1b6e427339..e7ef4143422e84248891d0148ea724b29e4ed2a8 100755
--- a/rebase-scripts/rebase-pkg
+++ b/rebase-scripts/rebase-pkg
@@ -24,7 +24,6 @@
 set -eu
 
 GITLAB=https://gitlab.apertis.org
-GITLAB_API=${GITLAB}/api/v4
 FORK_NAMESPACE=pkg-rebase-trixie
 OLD_UPSTREAM_BRANCH=upstream/bookworm
 NEW_UPSTREAM_BRANCH=upstream/trixie
@@ -32,15 +31,7 @@ OLD_DEBIAN_BRANCH=debian/bookworm
 NEW_DEBIAN_BRANCH=debian/trixie
 REBASE=0
 
-curl_post() {
-  curl --request POST --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}"  $@
-}
-
-curl_get() {
-  curl --request GET --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}"  $@
-}
-
-while getopts 'p:rt:' opt
+while getopts 'p:r' opt
 do
     case "$opt" in
         p)
@@ -49,21 +40,18 @@ do
         r)
             REBASE=1
             ;;
-        t)
-            PRIVATE_TOKEN=$OPTARG
-            ;;
     esac
 done
 
-PRJ_ID_ORI=pkg%2F${PKG}
-PRJ_ID_FORKED=${FORK_NAMESPACE}%2F${PKG}
+PRJ_ID_ORI=pkg/${PKG}
+PRJ_ID_FORKED=${FORK_NAMESPACE}/${PKG}
 
 if [ "$REBASE" != "1" ]
 then
     PRJ_ID=${PRJ_ID_FORKED}
 
     # 1. Trigger a fork
-    curl_post --data "namespace_path=${FORK_NAMESPACE}" ${GITLAB_API}/projects/${PRJ_ID_ORI}/fork
+    python-gitlab project-fork create --project-id ${PRJ_ID_ORI} --namespace ${FORK_NAMESPACE}
 
     # Check fork status to ensure the forking id completed.
     # Forking is an asynchronous process...
@@ -71,7 +59,7 @@ then
     while [ $FORKING_DONE = 0 ]
     do
         sleep 2
-        curl_get ${GITLAB_API}/projects/${PRJ_ID}/import > import.log
+        python-gitlab -o json project-import get --project-id ${PRJ_ID} > import.log
 
         FORK_STATUS=$(cat import.log | jq '.import_status')
 
@@ -96,10 +84,10 @@ else
 fi
 
 # 3. Branch upstream/trixie from upstream/bookworm
-curl_post "${GITLAB_API}/projects/${PRJ_ID}/repository/branches?branch=${NEW_UPSTREAM_BRANCH}&ref=${OLD_UPSTREAM_BRANCH}"
+python-gitlab project-branch create --project-id ${PRJ_ID} --branch ${NEW_UPSTREAM_BRANCH} --ref ${OLD_UPSTREAM_BRANCH}
 
 # 4. Branch debian/trixie from debian/bookworm
-curl_post "${GITLAB_API}/projects/${PRJ_ID}/repository/branches?branch=${NEW_DEBIAN_BRANCH}&ref=${OLD_DEBIAN_BRANCH}"
+python-gitlab project-branch create --project-id ${PRJ_ID} --branch ${NEW_DEBIAN_BRANCH} --ref ${OLD_DEBIAN_BRANCH}
 
 # 5. Trigger pipeline on debian/trixie
 # This should have been done automatically in the previous step,
@@ -107,7 +95,7 @@ curl_post "${GITLAB_API}/projects/${PRJ_ID}/repository/branches?branch=${NEW_DEB
 
 sleep 2 # Be nice with gitlab and give it some time to trigger a pipeline
 
-curl_get ${GITLAB_API}/projects/${PRJ_ID}/pipelines > pipelines.log
+python-gitlab -o json project-pipeline list --project-id ${PRJ_ID} > pipelines.log
 
 PIPELINES=$(cat pipelines.log | jq '.[] | .ref')
 
@@ -118,7 +106,7 @@ else
     echo "Pipeline of debian/trixie not yet triggered..."
     echo "Triggering a new pipeline on debian/trixie for ${PKG}!"
 
-    curl_post "${GITLAB_API}/projects/${PRJ_ID}/pipeline?ref=debian/trixie"
+    python-gitlab project-pipeline create --project-id ${PRJ_ID} --ref ${NEW_DEBIAN_BRANCH}
 fi
 
 echo "Package ${PKG} rebased!"