diff --git a/src/api/repository.js b/src/api/repository.js
deleted file mode 100644
index 741b68f5c18a9f2c2d9df486603d9e1bc497cf1f..0000000000000000000000000000000000000000
--- a/src/api/repository.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import axios from 'axios'
-import { unique } from '.'
-
-// List repositories imported on Arkindex
-export const listRepositories = unique(async params => (await axios.get('/process/repos/', { params })).data)
-
-// Retrieve a repository
-export const retrieveRepository = unique(async id => (await axios.get(`/process/repos/${id}/`)).data)
-
-// Delete a repository
-export const deleteRepository = unique(id => axios.delete(`/process/repos/${id}/`))
diff --git a/src/api/repository.ts b/src/api/repository.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d6a134b3e29e75a4d1a13638d9e49878e449991d
--- /dev/null
+++ b/src/api/repository.ts
@@ -0,0 +1,13 @@
+import axios from 'axios'
+import { PageNumberPaginationParameters, unique } from '.'
+import { PageNumberPagination, UUID } from '@/types'
+import { Repository } from '@/types/worker'
+
+// List repositories imported on Arkindex
+export const listRepositories = unique(async (params: PageNumberPaginationParameters): Promise<PageNumberPagination<Repository>> => (await axios.get('/process/repos/', { params })).data)
+
+// Retrieve a repository
+export const retrieveRepository = unique(async (id: UUID): Promise<Repository> => (await axios.get(`/process/repos/${id}/`)).data)
+
+// Delete a repository
+export const deleteRepository = unique((id: UUID) => axios.delete(`/process/repos/${id}/`))
diff --git a/src/types/worker.ts b/src/types/worker.ts
index 1ab5bd8099f6f4b7dc444c3b61ebe5dc5ac8a845..5646d35c3e514443d302919ab015d7e8aa90c3ec 100644
--- a/src/types/worker.ts
+++ b/src/types/worker.ts
@@ -21,7 +21,7 @@ export interface Worker extends WorkerLight {
   archived: boolean
 }
 
-export function isWorker(worker: WorkerLight): worker is Worker {
+export function isWorker (worker: WorkerLight): worker is Worker {
   return ('repository_id' in worker && (worker.repository_id === null || typeof worker.repository_id === 'string'))
 }
 
@@ -55,3 +55,10 @@ export type WorkerVersion = {
   revision: RevisionWithRefs
   version: null
 })
+
+export interface Repository {
+  id: UUID,
+  url: string,
+  workers: Array<WorkerLight>,
+  authorized_users: number
+}