diff --git a/integration/src/api.ts b/integration/src/api.ts
index 083560c1..c22795e2 100644
--- a/integration/src/api.ts
+++ b/integration/src/api.ts
@@ -43,6 +43,10 @@ const rapidReviewSchema = z.object({
   uuid: z.string(),
 });
 
+const requestSchema = z.object({
+  uuid: z.string(),
+})
+
 const templateSchema = z.object({
   uuid: z.string(),
   title: z.string(),
@@ -75,6 +79,8 @@ export type Preprint = z.infer<typeof preprintSchema>;
 
 export type RapidReview = z.infer<typeof rapidReviewSchema>;
 
+export type Request = z.infer<typeof requestSchema>;
+
 export type Template = z.infer<typeof templateSchema>;
 
 export type User = z.infer<typeof userSchema>;
@@ -108,16 +114,16 @@ export async function ensurePreprint(
 export async function ensureRequest(
   fetch: Fetch,
   preprint: string,
-): Promise<unknown> {
+): Promise<Request> {
   const requests = await fetch(`/api/v2/preprints/${preprint}/requests`, {
     headers: adminHeaders,
   })
     .then(response => response.json())
-    .then(dataSchema(z.array(z.unknown())).parse)
+    .then(dataSchema(z.array(requestSchema)).parse)
     .then(response => response.data);
 
   if (requests.length > 0) {
-    return;
+    return requests[0];
   }
 
   return await fetch(`/api/v2/preprints/${preprint}/requests`, {
@@ -127,7 +133,11 @@ export async function ensureRequest(
       'Content-Type': 'application/json',
       ...adminHeaders,
     },
-  }).then(ensureSuccess);
+  })
+    .then(ensureSuccess)
+    .then(response => response.json())
+    .then(dataSchema(requestSchema).parse)
+    .then(response => response.data);
 }
 
 export async function ensureFullReview(
diff --git a/src/backend/controllers/request.js b/src/backend/controllers/request.js
index e4533db5..23fa9c4a 100644
--- a/src/backend/controllers/request.js
+++ b/src/backend/controllers/request.js
@@ -83,6 +83,7 @@ export default function controller(reqModel, preprintModel, thisUser) {
     ctx.body = {
       status: 201,
       message: 'created',
+      data: request,
     };
     ctx.status = 201;
   };
diff --git a/test/backend/requests.test.ts b/test/backend/requests.test.ts
index 559ca59d..65670dc7 100644
--- a/test/backend/requests.test.ts
+++ b/test/backend/requests.test.ts
@@ -43,22 +43,11 @@ describe('requests', () => {
     expect(response.body).toStrictEqual({
       message: 'created',
       status: StatusCodes.CREATED,
-    });
-
-    const listResponse = await request(server).get(
-      `/api/v2/preprints/${preprint.uuid}/requests`,
-    );
-
-    expect(listResponse.status).toBe(StatusCodes.OK);
-    expect(listResponse.type).toBe('application/json');
-    expect(listResponse.body).toMatchObject({
-      data: [
-        {
-          author: user.id,
-          isPreprintAuthor: false,
-          preprint: preprint.id,
-        },
-      ],
+      data: expect.objectContaining({
+        author: user.id,
+        isPreprintAuthor: false,
+        preprint: preprint.id,
+      }),
     });
   });
 });
@@ -84,16 +73,11 @@ describe('author requests', () => {
     expect(response.body).toStrictEqual({
       message: 'created',
       status: StatusCodes.CREATED,
-    });
-
-    const listResponse = await request(server).get(
-      `/api/v2/preprints/${preprint.uuid}/requests`,
-    );
-
-    expect(listResponse.status).toBe(StatusCodes.OK);
-    expect(listResponse.type).toBe('application/json');
-    expect(listResponse.body).toMatchObject({
-      data: [{ isPreprintAuthor: false }],
+      data: expect.objectContaining({
+        author: user.id,
+        isPreprintAuthor: false,
+        preprint: preprint.id,
+      }),
     });
   });
 
@@ -117,16 +101,11 @@ describe('author requests', () => {
     expect(response.body).toStrictEqual({
       message: 'created',
       status: StatusCodes.CREATED,
-    });
-
-    const listResponse = await request(server).get(
-      `/api/v2/preprints/${preprint.uuid}/requests`,
-    );
-
-    expect(listResponse.status).toBe(StatusCodes.OK);
-    expect(listResponse.type).toBe('application/json');
-    expect(listResponse.body).toMatchObject({
-      data: [{ isPreprintAuthor: true }],
+      data: expect.objectContaining({
+        author: user.id,
+        isPreprintAuthor: true,
+        preprint: preprint.id,
+      }),
     });
   });
 });