RemakeCV

GET /cvs/{cvId}/file

Get a short-lived signed URL for a stored CV file. Fetch a fresh URL each time rather than storing the one you were given.

GET /cvs/{cvId}/file returns a signed URL for the stored CV, valid for one hour. The file is always served as a PDF — Word uploads are converted. It is the source CV you uploaded, not a document rendered into your template. Request a fresh URL each time rather than persisting one.

Request

GET /cvs/{cvId}/file · Authentication required

cvIdintegerrequired

The stored CV's identifier.

bash
curl "https://app.remakecv.com/api/public/v1/cvs/1234/file" \
  -H "Authorization: Bearer $REMAKECV_API_KEY"

Response

json
{
  "data": {
    "url": "https://storage.googleapis.com/...",
    "expires_in": 3600
  },
  "pagination": null,
  "error": null
}
urlstring

Signed download URL for the stored CV, always a PDF. In practice this is never null on a 200 response — a genuinely missing file surfaces as 500 internal_error instead.

expires_ininteger

Seconds until the URL stops working. Currently 3600.

Note:

The file is the source CV, converted to PDF where it was uploaded as Word. RemakeCV's public API does not render CVs into your template — see POST /cvs/process.

How should I use it?

  1. Store the id, not the URL

    Persist cvId in your own system. Signed URLs are ephemeral by design.

  2. Fetch on demand

    Call this endpoint at the moment a user asks for the file, then redirect or stream.

  3. Download server-side where you can

    Fetching the file on your server and serving it through your own authenticated route keeps the signed URL out of browsers, logs and referrer headers.

Warning:

A signed URL grants access to a candidate's CV to anyone holding it, with no authentication. Do not put one in an email, a shared document, a client-side log or a support ticket.

Errors

StatusCodeCause
401invalid_api_keyKey invalid, revoked or expired
403api_disabledPublic API not enabled
403cv_storage_disabledCV storage is off for this company
404not_foundNo such CV for this company
429rate_limit_exceededOver the rate limit

Frequently asked questions

How long is the URL valid?
One hour, reported as expires_in: 3600. Fetch a fresh URL rather than storing one.
What format is the file?
Always PDF. Word uploads are converted. It is the source CV you uploaded, not a template-rendered document.
Can I share the signed URL with a client?
Technically it works until expiry, but it is a bad idea — it grants unauthenticated access to candidate personal data. Download the file and send it through your normal channel.

Related articles

Was this page helpful?

Last updated . Still stuck? Email support@remakecv.com or book a call.