Integrate custom product mockups and ordering into your application
Create an account and grab your API key from your dashboard. Send it in the X-API-Key header on every request — that's the only credential you need.
Your key identifies you automatically — every sale made with it is attributed to your affiliate account. There's no affiliate code to pass or append. Keep the key secret; you can rotate it any time from your dashboard.
Base URL: https://appcessorise.com/api/v1
cURL
curl https://appcessorise.com/api/v1/mockups \
-H "Content-Type: application/json" \
-H "X-API-Key: ak_your_key" \
-d '{"product_id":71,"variant_id":4012,"image_url":"https://cdn.yourapp.com/art.png"}'JavaScript (web)
const res = await fetch("https://appcessorise.com/api/v1/mockups", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "ak_your_key",
},
body: JSON.stringify({
product_id: 71,
variant_id: 4012,
image_url: "https://cdn.yourapp.com/art.png",
}),
});
const { data } = await res.json();
// data.mockup_id, data.mockup_image_url, data.checkout_urlSwift (iOS)
var req = URLRequest(url: URL(string: "https://appcessorise.com/api/v1/mockups")!)
req.httpMethod = "POST"
req.setValue("application/json", forHTTPHeaderField: "Content-Type")
req.setValue("ak_your_key", forHTTPHeaderField: "X-API-Key")
req.httpBody = try JSONSerialization.data(withJSONObject: [
"product_id": 71,
"variant_id": 4012,
"image_url": "https://cdn.yourapp.com/art.png",
])
let (data, _) = try await URLSession.shared.data(for: req)/api/v1/mockups
Create a mockup of a product with a custom image uploaded by your user.
Content-Type: application/json X-API-Key: ak_your_key
{
"product_id": 71,
"variant_id": 4012,
"image_url": "https://cdn.yourapp.com/user-image.jpg",
"third_party_app_name": "YourApp",
"third_party_order_id": "order_123"
}
product_id, variant_id and image_url are required. image_url must be a public https URL. The two third_party_* fields are optional and echoed back on the order for your own reconciliation.
{
"success": true,
"data": {
"mockup_id": "abc123def456",
"mockup_image_url": "https://printful-mockups.s3.amazonaws.com/generated.jpg",
"original_image_url": "https://cdn.yourapp.com/user-image.jpg",
"product_name": "Unisex Staple T-Shirt",
"variant_name": "White / M",
"base_price": 19.99,
"estimated_shipping": 5.99,
"checkout_url": "https://appcessorise.com/checkout/abc123def456"
}
}
/api/v1/orders
Create an order after payment has been processed. Requires a valid mockup_id from the mockups endpoint.
Content-Type: application/json X-API-Key: ak_your_key
{
"mockup_id": "abc123def456",
"payment_intent_id": "pi_stripe_payment_id",
"shipping_address": {
"name": "John Doe",
"email": "john@example.com",
"address1": "123 Main St",
"address2": "Apt 4B",
"city": "Los Angeles",
"state": "CA",
"zip": "90210",
"country": "US",
"phone": "+1234567890"
}
}
{
"success": true,
"order_number": "ORD-2026-A1B2C3D4",
"printful_order_id": 12345678,
"estimated_delivery": "2026-07-26",
"tracking_url": null
}
401 Unauthorized
Missing or invalid API key
400 Bad Request
Missing required parameters or invalid request format
404 Not Found
Resource not found (e.g., invalid mockup_id)
402 Payment Required
Payment verification failed on order creation — the payment intent doesn't exist, hasn't succeeded, doesn't match this mockup or its amount, or was already used for another order. Payment must be completed through the checkout_url returned by the mockups endpoint.
422 Unprocessable Entity
Validation error or unable to process request
500 Internal Server Error
Server error - contact support if this persists
Your application allows users to upload a custom image for their product
Call POST /api/v1/mockups with the image URL and product details to generate a mockup
Display the mockup to your user or redirect them to our checkout URL
Handle payment through Stripe (or use our checkout URL)
Call POST /api/v1/orders with the mockup_id and shipping details to fulfill the order
We handle production and shipping. Tracking updates are sent via webhooks (optional)
Have questions about the API? Need help with integration? We're here to support you.