appcessorise.

API Documentation

Integrate custom product mockups and ordering into your application

🔑

Getting Started

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 API Key

ak_your_key_from_the_dashboard

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

Quick start

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_url

Swift (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)
POST /api/v1/mockups

Generate Product Mockup

Create a mockup of a product with a custom image uploaded by your user.

Request Headers

Content-Type: application/json
X-API-Key: ak_your_key

Request Body

{
  "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.

Response (201 Created)

{
  "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"
  }
}
POST /api/v1/orders

Create Order

Create an order after payment has been processed. Requires a valid mockup_id from the mockups endpoint.

Request Headers

Content-Type: application/json
X-API-Key: ak_your_key

Request Body

{
  "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"
  }
}

Response (201 Created)

{
  "success": true,
  "order_number": "ORD-2026-A1B2C3D4",
  "printful_order_id": 12345678,
  "estimated_delivery": "2026-07-26",
  "tracking_url": null
}

Error Codes

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

Integration Flow

1

User Uploads Image

Your application allows users to upload a custom image for their product

2

Generate Mockup

Call POST /api/v1/mockups with the image URL and product details to generate a mockup

3

Show Preview & Checkout

Display the mockup to your user or redirect them to our checkout URL

4

Process Payment

Handle payment through Stripe (or use our checkout URL)

5

Create Order

Call POST /api/v1/orders with the mockup_id and shipping details to fulfill the order

6

Order Fulfillment

We handle production and shipping. Tracking updates are sent via webhooks (optional)

Need Help?

Have questions about the API? Need help with integration? We're here to support you.