تاجر جني
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
Profile

API documentation

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

Profile

Read and update your own store profile — the data behind the dashboard's Profile screen. The signed key is the store account, so these always act on your own store.

Read your profile

Your store's business details, location, logo and cover URLs, funding type, whether you deliver your own orders, verification status and rating.

GET /api/v2.0/third-party/profile
Signed
Response
{
    "data": {
        "id": 1234,
        "business_name": "Example Store",
        "business_type": "Electronics retail",
        "business_phone": "+9647701234567",
        "phone": "+9647709876543",
        "email": "store@example.com",
        "address": "Baghdad, Karrada, building 12",
        "nearest_function_point": "Opposite the central market",
        "state": 8,
        "state_label": "Baghdad",
        "district": 2667,
        "district_label": "Karrada",
        "latitude": 33.3152,
        "longitude": 44.3661,
        "logo_url": "https://cdn.example/clients/logo.png",
        "cover_url": "https://cdn.example/clients/cover.png",
        "funding_type": 1,
        "delivery_company_id": null,
        "is_self_delivery": true,
        "is_verified": true,
        "rating": 0,
        "rating_count": 0,
        "entitlements": {
            "reels": false,
            "pre_orders": false,
            "wholesale_seller": false,
            "multi_branch": false,
            "product_labels": false,
            "product_months": false,
            "on_site_installment": false
        }
    }
}
Notes
  • entitlements tells you what this account is allowed to do. Read it first: the API enforces these by silently DROPPING what you are not entitled to, so sending product_label without product_labels simply does not persist, and every Reels route returns 403 when reels is false. Checking here is the only way to tell an entitlement you do not hold from a bug in your own payload.
  • is_self_delivery is true when delivery_company_id is null or 0 — you carry your own orders. When it is true the delivery-network actions on an order (handoff and request-cancellation) refuse with 400, because there is no carrier to hand it to.
  • is_verified reports whether your store phone is verified (phone_verified_at is set). The field is named is_verified, not verification.
  • funding_type is an integer: 1 funded, 2 unfunded. It affects your installment commission rate.
  • rating is a float, 0 until you have ratings; rating_count is how many reviews it averages.
  • address and nearest_function_point are two separate stored fields, not aliases. Only nearest_function_point can be changed through the update endpoint below; address is read-only here.
Update your profile

Partial — send only the fields you are changing.

PUT /api/v2.0/third-party/profile
Signed
Body parameters
Field Type Required Description
business_name string Optional Store display name.
business_type string Optional Free-text business category. Nullable.
business_phone string Optional Stored in normalised Iraqi form. Nullable.
state integer Optional Delivery-network state id; state_label is resolved for you.
district integer Optional Delivery-network district id; district_label is resolved for you.
nearest_function_point string Optional Address / nearest landmark, max 500 chars.
latitude number Optional -90 to 90.
longitude number Optional -180 to 180.
Notes
  • Send the body as JSON (Content-Type: application/json) so every field is covered by the signature.
  • state_label and district_label are resolved from the delivery network for the ids you send — do not send the labels.
  • Read-only fields (id, email, phone, address, funding_type, delivery_company_id, is_self_delivery, is_verified, rating, rating_count) are returned but cannot be changed here.
  • Logo and cover are their own upload endpoints below, not part of this JSON body.
Replace your logo

Multipart upload of a single image (max 4 MB). Replaces the current logo.

POST /api/v2.0/third-party/profile/logo
Signed
Body parameters
Field Type Required Description
logo file Required Image, max 4 MB. Sent as multipart/form-data.
Notes
  • A multipart body is signed as empty — that is expected here; re-uploading simply replaces the one image.
  • The previous logo file is deleted after a successful replace.
Replace your cover

Multipart upload of a single image (max 8 MB). Replaces the current cover.

POST /api/v2.0/third-party/profile/cover
Signed
Body parameters
Field Type Required Description
cover file Required Image, max 8 MB. Sent as multipart/form-data.