AmaJova · Developers

Create your first product draft

Create a complete physical-product draft through the currently supported Developer API. Use your own server and the API base URL for your enabled environment.

1. Create a write-enabled key

In Dashboard → Settings → Developer API, create a seller-owned key with both offers:read and offers:write. Store it securely. Do not share it or put it in frontend code.

2. Obtain valid category information

Call GET https://api.amajova.com/developer/v1/catalogue with your server-side read-scoped key. Choose an active product category and subcategory, then use their mapped attribute definitions, allowed options and compliance requirements. Product attributes and compliance requirements vary by category.

3. Upload a product image

curl -X POST "https://api.amajova.com/developer/v1/media" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@product.jpg"

Copy the media_upload_id from the response. For multiple images, upload each one separately.

4. Create the draft

First fetch the Live category, subcategory, attribute options and compliance requirements with GET https://api.amajova.com/developer/v1/catalogue using your read-scoped API key. Do not copy example category UUIDs from another environment.

Send JSON with template_key, offer, and ordered media_upload_ids, along with a unique Idempotency-Key. A complete tested physical-product example is in the API reference.

curl -X POST "https://api.amajova.com/developer/v1/offers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_OPERATION_ID" \
  -H "Content-Type: application/json" \
  --data-binary @offer.json

Save the example JSON from the API reference as offer.json, replacing the image UUID placeholder with a real uploaded ID or using []. On Windows PowerShell, use Invoke-RestMethod with UTF-8 bytes if your shell alters JSON quoting.

5. Confirm the response

{"offer_id":"...","status":"draft","replayed":false}

Review the draft in the seller dashboard. The API creates drafts only; the existing seller publishing workflow enforces compliance and other readiness checks. Do not mistake a successful draft response for a published offer.

For response codes, limitations, shipping and returns structures, see the full API reference.

Digital-product quickstart

To create a digital-product draft, send POST /developer/v1/offers with template_key: "create_and_deliver" and the same Bearer key and idempotency header. Use a valid Printables category and Planners & Organisers subcategory for a digital planner. Supply title, short description, outcome, price, currency, digital-product type, access instructions and licence information. The API reference contains a complete tested JSON example.

The API accepts an unpublished digital draft without an access URL. In the seller dashboard, an external-link digital offer currently requires a real HTTPS link before the editor can save it. Digital files are uploaded through the supported seller workflow, not the Developer API image endpoint. Do not use fake URLs or publish incomplete offers.

Editor compatibility: Keep the offer title to 51 characters or fewer and the short description to 80 characters or fewer. The API may accept longer draft text, but the seller editor enforces these limits.