OpenAPI Explorer & Spec Reference
Download the published machine-readable contracts for the Partner API, XJDF and PrintTalk layer, and Preflight surface.
The current RFQ create and organization-owned RFQ/quote read contract is generated at /api/v1/marketplace/openapi.json. The older /docs/api/openapi.yaml publication is a separate reference; do not assume the documents are identical. Confirm the environment origin and approved capabilities during onboarding.
Use this page as the single public index for NowToPrint machine-readable contracts. Each surface has one canonical download URL and a matching guide for operational context.
Published Resources
| Resource | Public URL | Generated reference | Best for |
|---|---|---|---|
| Partner REST API contract | /api/v1/marketplace/openapi.json | Partner REST API | Postman import, SDK generation, and QA contract review |
| XJDF / PrintTalk readiness contract | /docs/api/xjdf-openapi.yaml | XJDF & PrintTalk API | Private-beta readiness review and capability tooling |
| Preflight Engine contract | /docs/api/preflight-openapi.yaml | Spec only — no reference page yet | Queued PDF inspection clients for job submission and polling |
| XJDF Swagger preview | /docs/api/swagger-ui.html | XJDF integration guide | Browser-based inspection of the XJDF contract |
Canonical publication flow
Only allowlisted public specs are published at the public /docs/api/* URLs during verification
and build. Internal Master Data contracts, admin routes, dark private-beta data-product contracts,
and future external-productization specs stay out of the public mirror. Treat the public URLs on
this page as the integration entry point.
Partner REST API
Overview
The generated Marketplace contract publishes RFQ create (201), one owned RFQ read (?id=), and its owned quote read. There is no RFQ list. Estimate/order adapters still return capability-specific 503 after credential authentication and quota; they are not successful pricing/order operations.
- Base URL:
https://api.nowtoprint.com/api/v1 - Authentication:
Authorization: Bearer <ntp_partner_v2_ credential> - Best for: auth and disabled-capability contract checks
Capability check
curl -X POST https://api.nowtoprint.com/api/v1/estimate \
-H "Authorization: Bearer ntp_partner_v2_<issued-key-id>_<secret>" \
-H "Content-Type: application/json" \
-d '{
"category": "business_cards",
"quantity": 500,
"specifications": {
"paperType": "coated-matte"
}
}'
Next reading
XJDF / PrintTalk API
Overview
The XJDF and PrintTalk layer is a readiness-oriented private-beta contract for standards-referenced interoperability with MIS, ERP, and workflow systems. It is not a CIP4 certification, legal conformance claim, or external GA commitment.
- Route family:
https://api.nowtoprint.com/api/v1/xjdf - Authentication: public metadata needs no API key; costing session and XJMF sender auth are separate
- Best for: readiness review, standards-referenced job exchange, capability discovery, and external workflow alignment
Explore in the browser
Use the published preview when you need a human-friendly contract walkthrough before importing the spec:
Preflight Engine API
Overview
POST /api/v1/preflight is not a Partner V2 RFQ operation. It requires a separate PDF_TOOLS_API_KEY bearer credential, API scope and paid server-work authorization. Deployment-dependent rate limiting can also apply.
Sample request
Replace the URL template with a configured Firebase bucket URL. Arbitrary CDN and private-network URLs are not accepted.
POST /api/v1/preflight HTTP/1.1
Host: api.nowtoprint.com
Authorization: Bearer <separate-server-preflight-key>
Content-Type: application/json
{
"fileUrl": "https://storage.googleapis.com/<configured-bucket>/artwork.pdf",
"options": { "profile": "default", "automationMode": "preserve_safe_only" }
}
Sample response shape
Acceptance returns HTTP 200 with success: true; data includes jobId (pq_job_...), traceId, status: queued, fileUrl, profile, autoFix, automationMode, proofingContextId, and a message. It does not prove completed analysis or production readiness. Job persistence and Cloud Task dispatch are separate steps; reconcile the job after a dispatch failure before resubmitting.
preserve_safe_only is the default. Legacy autoFix: true maps to allow_recommend_only; document mutation is enabled only by explicit allow_document_mutation. That mode does not authorize every color/font/trapping/flattening operation.
Machine-readable contract
Public reference: /docs/api/preflight-openapi.yaml. Known parity gaps remain between the public spec and current queue/worker behavior; verify job acceptance, completion and technical findings separately. A package version does not establish a public /v3 route. Studio local/WASM analysis and PDF partner planning endpoints are also separate contracts.
Problem details and retries
NowToPrint surfaces integration failures through structured HTTP responses. In general:
400means payload or schema mismatch401means missing or invalid credentials403means scope or entitlement mismatch429means use returned reset metadata and honorRetry-Afterwhen present5xxmeans transient failure or dependency disruption
Use request IDs in logs, keep write operations idempotent, and wire webhooks before production.
Change management
The current RFQ contract is generated as marketplace-partner-api.v1. Compare static allowlisted publications with actual operations/schemas; publication alone does not prove runtime parity, CIP4 certification or external GA. Reconcile breaking differences with the integration owner before updating clients.
Related: API Reference | Partner API | XJDF API | Webhook Access & Delivery
هل كانت هذه المقالة مفيدة؟