Skip to main content

source_not_found

HTTP 422 · code: "source_not_found" · type: https://docs.formfeed.dev/errors/source-not-found

A source the request names cannot be found. Sources are what the PDF tools and a render's post read: earlier renders of the workspace, named by their rnd_… id, and files of the workspace's file library, named by their file name (terms.pdf). field names the request field, index the position in a list, and render_id the render, where the source is one. Nothing was rendered or charged.

Example​

{
"type": "https://docs.formfeed.dev/errors/source-not-found",
"title": "Source not found",
"status": 422,
"detail": "Render rnd_7da09ab6cd9946b798c187c2a9350852 does not exist in this workspace",
"code": "source_not_found",
"field": "sources",
"index": 1,
"render_id": "rnd_7da09ab6cd9946b798c187c2a9350852",
"request_id": "req_4b7c1e9a2f3d4c5b8a6e7f9012"
}

Common causes​

  • The render id belongs to another workspace, or has a typo (Render … does not exist in this workspace).
  • The source render's output was deleted or has expired (The output of render … was deleted or has expired). Outputs are kept as long as the plan's retention allows, at most 1 day on Free and on every test key, and expires_in or the workspace's own retention can make it shorter.
  • A library file name that the workspace does not have (No file terms.pdf in this workspace's library), in sources, post.merge_after or a watermark's image (field: watermark.image or post.watermark.image).
  • A library file named by its fil_… id. The id is not accepted as a source yet and answers this code; name the file by its name instead.
  • An object that disappeared between the check and the render (… is not in storage any more).

How to fix it​

  • Use render ids from the same workspace as the key, and process outputs before they expire. expires_at of the source render says until when.
  • Name library files by their name, exactly as GET /v1/files lists it.
  • The problem names the field and its index, so you know which source to fix.

Retry?​

No. The same request gets the same answer. Fix the source, then send the request again with a new Idempotency-Key or without one: a 4xx answer is stored under its key for 24 hours, so the old key returns this problem again. See retrying.