تاجر جني
Which API?
Merchant API For merchants: manage your own catalogue, orders and finances through the v2 Third-Party API. Application API For partner apps: browse Gini merchants and products, send customers to checkout and follow their orders.

New: Application API docs

Pick the API you are reading here — the Merchant API for your own store, the Application API for partner apps.

Merchant dashboard
API reference
Reels

API documentation

Everything you need to integrate with the Gini v2 Third-Party API.

Reels

Short promotional videos you author against your own products. Customers watch them in the SuperQi app. Every route here needs reels switched on for your account — without it they all return 403.

Before you start
  • Reels must be enabled for your merchant account (the enable_add_reel setting). If they are not, every route in this section returns 403 with {'message': 'Reels are not enabled for your account.'}. Ask Gini to switch it on.
  • Create and update send multipart/form-data because they carry a video file. A multipart body is signed as the EMPTY STRING — see Authentication.
  • A product can have at most one reel; the storefront shows a single reel on a product page. A second one is a 422 on product_id.
  • video_url and preview_image_url are resolved links. The underlying storage keys are never returned — there is nothing an integration could do with them.
List reels

Your reels, newest first.

GET /api/v2.0/third-party/reels
Signed
Query parameters
Field Type Required Description
search string Optional Match the title or description (max 255 chars).
status string Optional active or inactive.
per_page integer Optional Results per page, 1–100. Defaults to 15.
Response
{
    "data": [
        {
            "id": 31,
            "title": "Summer promo",
            "description": "A short clip",
            "video_url": "https://cdn.example/reels/videos/abc123.mp4",
            "preview_image_url": "https://cdn.example/reels/previews/abc123.jpg",
            "product_id": 142,
            "is_active": true,
            "views_count": 1840,
            "shares_count": 22,
            "likes_count": 96,
            "created_at": "2026-09-01T09:00:00.000000Z",
            "updated_at": "2026-09-02T11:30:00.000000Z"
        }
    ],
    "links": [],
    "meta": []
}
Get a reel

A single reel by its numeric id, with its linked product.

GET /api/v2.0/third-party/reels/{reel}
Signed
Notes
  • A reel belonging to another merchant returns 404, not 403 — the same not-found wording as a reel that does not exist.
Create a reel

Uploads the video and its preview image. multipart/form-data.

POST /api/v2.0/third-party/reels
Signed
Body parameters
Field Type Required Description
title string Required Max 255 characters.
description string Optional Max 2000 characters.
video file Required MP4 only. Maximum size comes from your account configuration and defaults to 100 MB.
preview_image file Required The still shown before playback. Image, max 5 MB.
product_id integer Optional One of your own products. A product can only carry one reel.
is_active boolean Optional Whether customers can see it. Defaults to false.
Notes
  • Send an Idempotency-Key so a retried upload does not create a second reel — see Idempotency.
  • Returns 201 with the created reel in the same shape the list and show endpoints return.
Update a reel

Partial — send only what you are changing.

PUT /api/v2.0/third-party/reels/{reel}
Signed
Body parameters
Field Type Required Description
title string Optional Max 255 characters.
description string Optional Max 2000 characters. Send null to clear it.
video file Optional Omit to keep the current video. Sending one replaces it and the old file is deleted.
preview_image file Optional Omit to keep the current preview.
product_id integer Optional One of your own products, not already carrying a different reel.
is_active boolean Optional Whether customers can see it.
Notes
  • Omitting video or preview_image keeps the stored file — it does not clear it.
  • Replacing a file deletes the one it replaced, so an old video does not linger in storage.
Delete a reel

Removes the reel and the files behind it.

DELETE /api/v2.0/third-party/reels/{reel}
Signed
Notes
  • The stored video and preview image are deleted with the row. This cannot be undone.
  • Returns 200 with {'message': 'Reel deleted successfully.'}.