Getting Started
Request access, create a key, import the published contract, and send your first Partner API request.
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 path to validate access and the published fail-closed Partner API contract. RFQ creation and owned reads are implemented; estimate and order capabilities remain unavailable.
1. Request approved access
Contact info@nowtoprint.com with:
- company name and website
- integration use case
- expected volume or rollout stage
- whether you need webhook, XJDF, or private-beta partner onboarding
2. Obtain an approved credential
After approval, obtain a Credential V2 secret through the authorized operator issuance workflow. The partner dashboard currently shows an unavailable reporting surface, not a self-service Developer key generator.
| Environment | Prefix | Base URL |
|---|---|---|
| Approved environment | ntp_partner_v2_* | Onboarding-confirmed origin |
Confirm the approved test environment first. Live credentials are registry/private-beta controls for approved workflows; they do not turn on public GA traffic, RFQ creation, quote automation, order automation, webhooks, or Master Data data-product access by themselves.
3. Import the contract
Start the RFQ client from the current generated contract:
/api/v1/marketplace/openapi.json- Older allowlisted reference:
/docs/api/openapi.yaml
Import the generated RFQ contract into Postman, Bruno or Insomnia and reconcile differences with the static reference. Estimate/order capabilities remain disabled.
4. Send a first request
Use an estimate request to validate auth and environment wiring:
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": "flyer",
"quantity": 1000
}'
With valid auth and estimate:read, expect RFC 9457 503 with
PARTNER_ESTIMATE_CAPABILITY_UNAVAILABLE. The body is not parsed and no estimate is produced.
Order routes retain separate capability-specific 503 responses. RFQ create can return 201 after schema, organization capability, catalog and daily quota checks; GET requires ?id= and there is no RFQ list.
5. Prepare for an approved rollout
Before any approved live workflow:
- rotate away any shared onboarding keys
- store the live key in managed secrets
- implement webhook verification only for webhook-enabled pilots
- log request IDs and honor returned reset metadata; use
Retry-Afterwhen present - test idempotent retry handling on any enabled write operation
- confirm required RFQ routes in
/api/v1/marketplace/openapi.json
Next steps
هل كانت هذه المقالة مفيدة؟