diff --git a/src/requests/project-api.ts b/src/requests/project-api.ts
index 7dc47360ea95d2ff4d1fce47dc5d55dbb0bcd32a..3686e597347bb07dd8cfa5f4d7fe108113be1ce8 100644
--- a/src/requests/project-api.ts
+++ b/src/requests/project-api.ts
@@ -155,4 +155,48 @@ export class ProjectApi {
   ) {
     ProjectApi.getTopLevelProjects(thenHandler, catchHandler, '?noanalyticslog=true');
   }
+  public static getInvitationsList(
+    projectId: string,
+    thenHandler: any = apiConnectionBasic.defaultThenHandler,
+    catchHandler: any = apiConnectionBasic.defaultOnCatch
+  ) {
+    apiConnectionBasic.setHeader();
+    return axios
+      .get(getProjectApiUrl() + 'invitation/list/' + projectId)
+      .then(thenHandler)
+      .catch(catchHandler);
+  }
+  public static storeInvitation(
+    body: any,
+    thenHandler: any = apiConnectionBasic.defaultThenHandler,
+    catchHandler: any = apiConnectionBasic.defaultOnCatch
+  ) {
+    apiConnectionBasic.setHeader();
+    return axios
+      .post(getProjectApiUrl() + 'invitation', body)
+      .then(thenHandler)
+      .catch(catchHandler);
+  }
+  public static deleteInvitation(
+    invitationId: string,
+    thenHandler: any = apiConnectionBasic.defaultThenHandler,
+    catchHandler: any = apiConnectionBasic.defaultOnCatch
+  ) {
+    apiConnectionBasic.setHeader();
+    return axios
+      .delete(getProjectApiUrl() + 'invitation/' + invitationId)
+      .then(thenHandler)
+      .catch(catchHandler);
+  }
+  public static resolveInvitation(
+    token: string,
+    thenHandler: any = apiConnectionBasic.defaultThenHandler,
+    catchHandler: any = apiConnectionBasic.defaultOnCatch
+  ) {
+    apiConnectionBasic.setHeader();
+    return axios
+      .get(getProjectApiUrl() + 'invitation/resolve/' + token)
+      .then(thenHandler)
+      .catch(catchHandler);
+  }
 }