uploaded-files

Finalize a file upload and trigger analysis

Confirms that the bytes were uploaded and starts background content extraction (status becomes analyzing). Only call this after the PUT to the presigned URL has completed: the API checks that the stored object exists and has exactly sizeBytes bytes, and returns 412 PRECONDITION_FAILED until it does.

Safe to call multiple times: if the file is already analyzing or analyzed, the call does nothing and still returns ok: true. If the file is failed, calling it again retries extraction. Extraction runs after the response: Excel, CSV, plain-text and Word files are converted locally; PDFs go through OCR and images are described by an AI model. Poll GET .../uploaded-files for the result.

post/workspaces/{workspaceId}/consultations/{consultationId}/uploaded-files/{fileName}/finalize

Request

  • Base URL
    https://vetnio.com/api/v2
  • URL
    https://vetnio.com/api/v2/workspaces/{workspaceId}/consultations/{consultationId}/uploaded-files/{fileName}/finalize
  • Auth
    HTTP bearer

Path parameters

workspaceIdstring required

Opaque identifier of the Vetnio workspace (veterinary clinic) that owns the resource. Scopes every request — callers can only access files under workspaces they are a member of.

Example:furunculotic-loud-chihuahua
consultationIdstring required

Identifier of the consultation (a single veterinary visit) the file is attached to. The consultation must belong to the same workspace as the authenticated caller.

Example:a1b2c3d4-e5f6-7890-abcd-ef1234567890
fileNamestring required

Stable internal identifier for the file — a server-generated UUID returned by initUpload. Used in every subsequent endpoint (finalize, download, delete). Not intended for display; use originalFileName for that.

Example:8f1c4a60-7e3b-4b6f-9a9d-6d9f3c8b2e4a

Response

Extraction scheduled (or already in progress / completed).

okboolean required

Always true on success.

Example response

{
  "ok": true
}

Changes

No recorded changes to this operation across all 1 revision of this API.