Valid9 Alpha

Developer documentation

Bring your documents with you.

Import Qualio and portable document exports with original files, reviewed previews and retained evidence.

Alpha rollout: this workflow requires the matching app, API, CLI and MCP release. If document imports are absent from your environment, use the existing local CLI preparation workflow or ask about deployment.

Bring documents without a connection setup.

Open Imports → Import Qualio documents for a Qualio inventory and ZIP export, or Import other documents for an explicitly indexed portable export. Neither path needs an API token or OAuth integration.

  1. Export the inventory, actual documents and attachments. Keep the originals. An index or export success message alone does not prove that all documents are present.
  2. Choose a destination team and upload the CSV plus one to ten ZIP bundles.
  3. Prepare a preview. Inspect each document, revision, source status and file count. Fix errors with a corrected upload. Reconcile missing files and explicitly accept any skips before importing the rest.
  4. Apply the reviewed preview. If destination data changed, review the refreshed preview. Accepted work continues after you leave the page.
  5. Compare final results with your inventory, inspect retained files and download the report. Quality reviews migration evidence before relying on it.

Qualio export layout

The adapter accepts UTF-8 CSV headers id,code,title,version,type,owner,status_id, with optional effective_date. All seven required values must be nonblank. ZIP names start with the document code and underscore, such as SOP-1_Procedure.pdf. Paths containing /Attachments/ identify secondary files. Each code and source ID/revision is unique.

Export layouts and permissions vary. If your export differs, use the portable format below or the local preparer, which can also retain separately downloaded originals. Failure reports are not document content; keep them with the original export and reconcile missing documents.

Portable files from another system

Download the inventory template in Import other documents. Name the primary file in file and optional attachments in attachments, separated by semicolons. Paths must exactly match relative ZIP paths, including case.

id,code,title,version,type,owner,status_id,effective_date,file,attachments
legacy-42,SOP-42,Change control,3,SOP,Quality,effective,2026-10-01,documents/SOP-42.pdf,attachments/checklist.docx

Choose a stable source system name, such as legacy-qms, and reuse it on retries. Every ZIP file must be indexed exactly once. A missing primary file or listed attachment skips the whole document. Keep each document’s files together in one job.

This format carries document files exported from another QMS, Confluence or SharePoint after you build the inventory. It does not decode vendor backup formats or recreate users, permissions, workflows or signatures.

Drafts with the original evidence

Imported documents are Valid9 drafts. Source status, owner, dates and revision remain provenance; a source “effective” status does not make the Valid9 draft effective. Reviews and signatures follow Valid9 document control.

Original bytes, file manifests and SHA-256 digests are retained. The job keeps its original inventory and ZIPs, reports and every revision. Inspection exports include job sources. Filename search is available, with supported text content searchable once indexed and coverage limitations reported.

An identical source revision in the same team is unchanged on retry. Changed content for that revision is refused instead of overwriting evidence. A different destination team creates a separate copy. If a job stops, refresh and review the preview before resuming. Current access and MCP consent are checked during background work; already committed records remain retained.

Limits and access

Authors and administrators can import; active members can read results. Each server job supports an 8 MiB UTF-8 inventory with up to 1,000 records, one to ten ZIPs, and at most 64 MiB of uploaded files combined. Contents may total 256 MiB expanded and 10,000 ZIP entries; each document supports up to 1,000 files. Organization storage limits also apply. Split larger exports by complete documents.

Unsafe paths, special files, invalid metadata, unindexed files and conflicting duplicates fail explicitly. Nothing is silently truncated. Skipped documents remain visible; a completed partial job does not establish a complete migration.

CLI and connected apps

v9 import documents upload --organization acme --team Quality \
  --format qualio --inventory documents.csv --bundle export.zip
v9 import documents upload --organization acme --team Quality \
  --format portable --source legacy-qms --inventory inventory.csv --bundle files.zip
v9 import documents get --organization acme --job JOB_UUID
v9 import documents apply --organization acme --job JOB_UUID --expected-version 2
v9 import documents history --organization acme --job JOB_UUID

Use the actual version from get. Add --accept-skipped only after reviewing skips. replan refreshes the preview; list shows retained jobs, including Jira. Organization slugs/UUIDs and team names/UUIDs are supported.

MCP tools valid9_list_import_jobs, valid9_get_import_job, valid9_import_job_history, valid9_replan_import_job and valid9_apply_import_job inspect and operate these jobs under read/write consent. Upload bytes through the app or CLI. Mapping revision is Jira-only; corrected document inventories are new retained uploads. For reports over MCP’s 2 MiB output cap, use the app or CLI.

What about the Qualio API?

Qualio’s current Developer API uses administrator-created API tokens. Its detailed endpoint reference requires Qualio sign-in. This release implements file imports, not a Qualio API connection; no token is needed. See Qualio’s API overview and export permissions. Historical training has a separate CLI evidence import and does not create learner signatures or completed assignments.