> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paraform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a resume

<Info>
  **Required scopes:** `talent_network:write`<br />
  **Rate limit:** `write` tier, 60 requests per minute per key<br />
  **Idempotency:** send an `Idempotency-Key` header to retry safely
</Info>

Stores a PDF resume (raw unwrapped base64, max 8 MB decoded) and returns a resumeFileId to reference in subsequent submission calls. A resumeFileId can only be referenced by the agency that uploaded it. This is a platform level upload primitive, not tied to talent network submissions. Orphan ids that are never referenced may eventually be discarded.

## Body

<ParamField body="fileName" type="string">
  Constraints: max length 255.
</ParamField>

<ParamField body="contentBase64" type="string" required>
  Constraints: min length 1.
</ParamField>

## Response

<ResponseField name="resumeFileId" type="string" required>
  Constraints: format `uuid`.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://external-api.paraform.com/api/external/v1/resumes" \
    -H "Authorization: Bearer $PARAFORM_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: $(uuidgen)" \
    -d '{
    "contentBase64": "string"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "resumeFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.