Smartify

Partner Catalog API

Use the Partner Catalog API to submit product create, update, and delete requests for admin approval.

Use this API when your organization needs to sync products into the Smartify Pro catalog from an external system.

How it works

Every partner mutation is moderated:

  1. Submit product request via API key.
  2. Request is stored with status PENDING.
  3. Smartify admin approves or rejects.
  4. Only approved requests update the Pro catalog.

Prerequisites

  • Partner catalog API access enabled by Smartify admin.
  • Eligible organization status (paid-active or approved co-branded partner).
  • A generated Partner Catalog API key from:
    • Settings → Apps → Partner Catalog API

Partner catalog API keys are separate from affiliate lead-sharing keys.

Authentication

Use header:

X-API-Key: sk_live_pcat_...

Do not use Bearer token auth for partner submission endpoints.

Endpoints

Base URL:

https://s6m3hrufxk.execute-api.ap-south-1.amazonaws.com/v1

Submit new product

POST /api/partner-catalog/products

Submit update request

PUT /api/partner-catalog/products/{partner_sku}

Submit delete request

DELETE /api/partner-catalog/products/{partner_sku}

List your submissions

GET /api/partner-catalog/products

Optional query:

  • status=PENDING|APPROVED|REJECTED

Request payload examples (sample product)

The examples below use one of Smartify's own catalog products and a consistent partner SKU.

Create

curl -X POST "https://s6m3hrufxk.execute-api.ap-south-1.amazonaws.com/v1/api/partner-catalog/products" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_live_pcat_xxxxx" \
  -d '{
    "partner_sku": "SMARTIFY-4GSS-001",
    "name": "4 Gang Scene Switch",
    "brand": "Smartify",
    "category": ["Switches"],
    "protocol": ["Zigbee 3.0"],
    "technology": ["Wireless"],
    "pricing": { "mrp": 4999, "selling_price": 4599 }
  }'

Update

curl -X PUT "https://s6m3hrufxk.execute-api.ap-south-1.amazonaws.com/v1/api/partner-catalog/products/SMARTIFY-4GSS-001" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_live_pcat_xxxxx" \
  -d '{
    "product": {
      "name": "4 Gang Scene Switch (Rev B)",
      "brand": "Smartify",
      "category": ["Switches"],
      "protocol": ["Zigbee 3.0"],
      "technology": ["Wireless"],
      "pricing": { "mrp": 5199, "selling_price": 4799 }
    }
  }'

Delete

curl -X DELETE "https://s6m3hrufxk.execute-api.ap-south-1.amazonaws.com/v1/api/partner-catalog/products/SMARTIFY-4GSS-001" \
  -H "X-API-Key: sk_live_pcat_xxxxx"

List submissions

curl -X GET "https://s6m3hrufxk.execute-api.ap-south-1.amazonaws.com/v1/api/partner-catalog/products?status=PENDING" \
  -H "X-API-Key: sk_live_pcat_xxxxx"

Response behavior

  • Create/update/delete submission endpoints return 202 Accepted.
  • Submission object includes:
    • status: PENDING, APPROVED, or REJECTED
    • operation: CREATE, UPDATE, or DELETE
    • partner_sku and catalog_sku

Review process (user-facing)

  • PENDING

    • Your request is received and waiting for Smartify admin review.
    • Product changes are not visible in catalog/inventory yet.
  • APPROVED

    • Your request is accepted.
    • The product create/update/delete is applied in Pro catalog.
  • REJECTED

    • Your request is not applied to Pro catalog.
    • A rejection reason may be returned in the submission record (for example: missing required fields, invalid price data, duplicate or mismatched SKU).

Approval lifecycle

  • APPROVED:
    • Catalog is updated.
    • Product record includes provenance fields such as:
      • source = PARTNER
      • partner_org_id
      • partner_sku
  • REJECTED:
    • Catalog remains unchanged.
    • Rejection reason is stored in submission metadata.