Submission Preflight

Find the route. Inspect the file.

API documentation

Use a verified preview or a paid key, never an unguarded upload.

Public discovery is open. A file check requires either a one-time email-verified free token or a paid API key.

Public configuration

GET /api/v1/public-config

Returns live checkout URLs, current plan amounts, validator costs, and free-preview limits. Standard checks use 1 credit, complex checks use 3 credits, and credits expire 12 months after purchase.

List active validators

GET /api/v1/validators

Returns current machine-readable validator metadata, including identifier, supported inputs, profiles, sources, and credit cost. The journal submission validator accepts PDF, DOCX, and TXT and checks data availability, competing or conflict interests, funding, author contributions, ethics or consent language, and AI-use disclosure.

The publisher-general profile uses an ICMJE-informed source context. springer-nature narrows source emphasis to data availability, and elsevier narrows source emphasis to AI-use disclosure. These are not complete publisher rulebooks.

curl https://submissionpreflight.com/api/v1/validators

Email-verified free preview

Request a link with POST /api/v1/free/request, form fields email and empty honeypot website. The link contains #free_token=. Confirm it with POST /api/v1/free/status, form field token.

Run the preview with POST /api/v1/free/check/{validator_id}, multipart field upload, form field token, and optional validator-specific ruleset and profile. It returns a verdict, up to five findings, and report_download: false.

POST /api/v1/check/{validator_id}

Send multipart field upload, optional validator-specific ruleset and profile, and header x-api-key. Launch maximum is 50 MiB. A selected profile may enforce a lower limit.

curl -X POST \
  -H "x-api-key: sp_your_key" \
  -F "[email protected]" \
  -F "profile=publisher-general" \
  https://submissionpreflight.com/api/v1/check/journal-submission

A paid result includes passed, counts, findings, document metadata, and a disclaimer. Findings include explanation, remediation, and source URL. The browser workspace can package the full paid payload as a readable HTML report or JSON report without exposing the key.

Request an account link with POST /api/v1/access/request, form fields email and empty honeypot website. The link can carry #access_token= or a paid #api_key= fragment. The workspace removes the fragment before it verifies paid access and stores a verified paid key only in session storage.

For an existing key, GET /api/v1/access/me with x-api-key returns remaining credits and expiry state.

Errors and scope

Use standard HTTP error handling. A technical result is not acceptance by an external destination or journal.