RResumezBeta
POSTLive

Import career data

Parses a resume, plaintext, narrative, or JSON Resume into a reviewable change-set — nothing touches the profile until :apply. The onboarding entry point: when me.profileReadiness is not ready, import the user's existing resume here first.

/v1/imports

Authorization

Credential

oauth_user

Required scopes

profile:importprofile:write

Request body

JSON · application/json

sourcestringrequired

resume · plaintext · json · narrative

contentstring
fileKeystring

Implementation note

Async (AIP-151): 202 + Operation; on success `resultData` is `{ "importId", "itemCounts" }`. `source: "json"` parses JSON Resume deterministically; resume/plaintext/narrative text runs the extraction model. `narrative` is a distinct source for ordinary career prose and must be supplied as bounded text, not a file. If the user shares a resume file (PDF etc.), the PRIMARY path is to extract the text yourself and send it as `content` with `source: "resume"` — agents that cannot read files can instead upload the original via `import-upload` and pass the returned `fileKey` (exactly one of `content`/`fileKey`). Either way, review proposed items via `import-get` before `import-apply` — nothing touches the profile until apply.

Error responses

400Invalid request

The request body was missing, malformed, or failed schema validation. Field-level problems are listed under `issues`.

401Authentication required

No valid credentials were supplied. Attach a Bearer access token and retry.

402Upgrade required

The authenticated user's plan does not include this capability. `feature` names the gated capability, `requiredPlan` the cheapest plan that unlocks it, `currentPlan` the user's plan today, and `upgradeUrl` links to checkout. This is a plan gate, not a transient error — retrying without upgrading fails again; surface `upgradeUrl` to the user instead. Dormant until a plan that grants the feature is active, so a route that documents it may not currently return it.

403Insufficient scope

The token is valid but lacks the OAuth scope (or token kind) this endpoint requires.

404Resource not found

The addressed resource does not exist, or is not visible to the caller.