Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/VisualGraphxLLC/API-HUB/llms.txt

Use this file to discover all available pages before exploring further.

The OPS push endpoints allow you to trigger a product push to a customer’s OnPrintShop storefront and inspect the audit trail. In normal operation, n8n’s ops-push workflow handles orchestration — these endpoints are the underlying building blocks it calls.

Trigger a product push

POST /api/push/{customer_id}/{product_id}
Applies markup rules and pushes the product to the customer’s OPS storefront. Returns synchronously if the push completes immediately, or 202 if it’s been queued as async. Path parameters:
customer_id
string
required
Customer UUID
product_id
string
required
Product UUID
Response:
status
string
success | pending | failed
message
string
Human-readable result message
  • 200 — push succeeded
  • 202 — push accepted and running asynchronously
  • 404 — customer or product not found
  • 500 — push failed (error in message)
Example:
curl -X POST -b "auth_token=<token>" \
  http://localhost:8000/api/push/a1b2c3d4-.../b2c3d4e5-...

Get push history

GET /api/push/history/{customer_id}/{product_id}
Returns all push log entries for a customer–product pair, ordered by pushed_at descending. Response fields (per entry):
id
string
Push log UUID
status
string
pushed | failed
error
string
Error message if status is failed, otherwise null
pushed_at
string
ISO 8601 timestamp
ops_product_id
integer
OPS product ID assigned by OnPrintShop, or null if push failed
Example response:
[
  {
    "id": "c3d4e5f6-...",
    "status": "pushed",
    "error": null,
    "pushed_at": "2026-05-07T09:14:33Z",
    "ops_product_id": 4821
  }
]

Get processed product image

GET /api/push/image/{image_id}/processed
Downloads the supplier image URL stored on the ProductImage row, converts it to WebP format, and returns the bytes. n8n calls this endpoint when pushing images to OPS via setOrderProductImage. Path parameters:
image_id
string
required
ProductImage UUID
Response: image/webp bytes with Cache-Control: public, max-age=86400 Errors:
  • 404 — image record not found
  • 502 — failed to download source image from supplier URL
  • 500 — image processing error
This endpoint does not require the X-Ingest-Secret header — it is accessible to any authenticated admin session. The processed image is cached by the browser for 24 hours via the Cache-Control header.

Build docs developers (and LLMs) love