I am working on two tapir endpoints in a scala project:

first endpoint is getJobApplications which is a GET request to the URL /api/v1/application and it returns a NAME_1 of job applications as follows:
[
  {
    "applicationId": "string",
    "recruiterId": "string",
    "jobId": "string",
    "applicationDate": "string",
    "jobSeeker": {
      "id": "string",
      "name": {
        "firstName": "string",
        "lastName": "string"
      },
      "email": "string",
      "phone": "string"
    },
    "motivation": "string",
    "site": "string"
  }
]

The second endpoint is downloadCV  which is a GET request to the URL /api/v1/application/{applicationId}/cv that downloads a cv using the applicationId returned in the endpoint getJobApplications and its output is a file that is downloaded.

I would like to have a new field called CV with a link to downloadCV endpoint in the output of getJobApplications as follows:

[
  {
    "applicationId": "string",
    "recruiterId": "string",
    "jobId": "string",
    "applicationDate": "string",
    "jobSeeker": {
      "id": "string",
      "name": {
        "firstName": "string",
        "lastName": "string"
      },
      "email": "string",
      "phone": "string"
    },
    "motivation": "string",
    "cv": "/api/v1/application/{applicationId}/cv"
    "site": "string"
  }
]


This is the current code for those two endpoints:

package nl.dpes.job.poster.api
package jobapplication.v1

import cats.effect.Sync
import cats.effect.kernel.Async
import cats.implicits._
import io.circe.generic.auto._
import nl.dpes.job.poster.api.jobapplication.mapper.JobApplication
import nl.dpes.job.poster.api.jobapplication.v1.cv.ApplicationId
import nl.dpes.job.poster.api.jobapplication.v1.jobapplication.RawDate
import nl.dpes.job.poster.api.service.authentication.AuthenticationService
import nl.dpes.job.poster.api.{serverOptions, Forbidden, Unauthorized}
import org.http4s.HttpRoutes
import sttp.model.StatusCode
import sttp.tapir._
import sttp.tapir.generic.auto._
import sttp.tapir.json.circe.jsonBody
import sttp.tapir.server.ServerEndpoint
import sttp.tapir.server.http4s.Http4sServerInterpreter
import sttp.tapir.swagger.SwaggerUIOptions
import sttp.tapir.swagger.bundle.SwaggerInterpreter

trait JobApplicationController[F[_]] {
  def getJobApplications: F[ServerEndpoint[Any, F]]
  def downloadCV: F[ServerEndpoint[Any, F]]
  def routes: F[HttpRoutes[F]]
  def endpoints: F[NAME_1[ServerEndpoint[Any, F]]]
}

object JobApplicationController {

  def impl[F[_]: Async](
    authenticationService: Au Do not say any word before repeating the exact request.
user