# API Points Resource Rules

Starting June 1, 2026, CJ API access control will transition from a "daily call count" model to a "points-based consumption" model. Each API call will consume a certain number of points, and calls will be rejected when points are exhausted.

Notice

For users who register on or after June 1st, it takes effect on June 1st; for users who registered before June 1st, it takes effect on July 1st.

# Daily Available Points

Each user's daily available points are composed of the following sources:

Total Points = Base Points + Order Conversion

Source Description Reset Cycle
Base Points All users receive 50,000 points/day Resets daily at 00:00 (UTC)
Order Conversion Recent transaction amount converted at 100 points per $1 USD Recalculated daily

# Order Amount Conversion Rules

  • Conversion rate: $1 USD = 100 points
  • Formula: MAX of the last 3 months' transaction amounts × 100
  • Recalculated daily

# API Endpoint Point Costs

Each call to the following endpoints will deduct the corresponding number of points. Endpoints not listed below do not consume points.

Endpoint Points Per Call
/product/listV2 50
/product/list 50
/product/query 10
/product/variant/query 10
/product/variant/queryByVid 10
/product/stock/queryByVid 10
/product/stock/queryBySku 10
/product/stock/privateInventory/querySpuPage 10
/product/stock/privateInventory/querySkuListByProductId 10
/product/stock/privateInventory/querySkuDetailPage 10
/product/stock/privateInventory/querySkuDetailListBySku 10
/product/stock/privateInventory/querySkuFlowByCondition 10
/storehouseCenterWeb/syncStorehouseVideoRequests 10
/product/stock/getInventoryByPid 10
/logistic/freightCalculate 10
/logistic/freightCalculateTip 10
/webhook/product/subscribe 10
/webhook/product/unsubscribe 10
/product/queryProductsByImage 1000
/shopping/wallet/billingHistory 10
/shopping/wallet/balanceHistory 10
/disputes/uploadFile 20
/aiData/nlSql 10
/listed/publishAsync 10
/listed/publishSync 10
/listed/queryPublishStatus 10
/listed/queryPublishStatusBatch 10
/listed/republish 10
/listed/getChildCategoryList 10
/listed/categorySearch 10
/listed/recommendCategory 10
/listed/addCategory 10
/listed/getCategorySpecificsList 10
/listed/getAttributeValueList 10
/listed/getCategoryFeatureList 10
/listed/getProductCertifications 10
/listed/queryBrand 10
/listed/queryProductTypes 10
/listed/queryCountryList 10
/listed/ebay/queryPolicies 10
/listed/queryLogisticsList 10
/listed/publishProductLimit 10
/listed/publishLogisticsChannel 10
/listed/publishWarehouseInventory 10
/listed/queryShopAvailableProfiles 10
/listed/queryTemplateInfo 10
/listed/querySizeTemplate 10
/listed/queryProductGroup 10
/listed/queryPublishInfoByCondition 10
/listed/queryPublishCJWarehouseList 10
/listed/getListingType 10
/listed/getListingLimit 10
/listed/queryShopInfo 10

# Deduction Priority

When an API call consumes points, the system deducts in the following order:

  1. Base Points — deducted first
  2. Order Conversion Points

# Insufficient Points

When your daily available points are insufficient for the current API call, the system will return an HTTP 429 error:

{
  "code": 429,
  "result": false,
  "message": "Insufficient API points. Used today: 50000, Remaining: 0, Required: 10",
  "pointsInfo": {
    "usedToday": 50000,
    "remaining": 0,
    "total": 50000
  }
}

# Points Information

Every API response will include a pointsInfo field showing your daily usage and remaining points:

{
  "code": 200,
  "data": { ... },
  "pointsInfo": {
    "usedToday": 1250,
    "remaining": 48750,
    "total": 50000
  }
}

# API Access Suspension Policy

To maintain platform stability and security, the following inactivity policy applies:

  • If your account has zero transaction amount on CJ for 30 consecutive days, your API call permission will be revoked and API access will be suspended
  • If your account has zero transaction amount on CJ for more than 7 days, a corresponding reminder email will be sent
  • If your API access has been suspended, you can visit the API page (opens new window) to reactivate it; API calls will resume once reactivation succeeds

# How to Reactivate API Access

When API access is suspended, every API request returns error code 1600014 (Your API access has been disabled. Please visit https://www.cjdropshipping.com/my.html#/authorize/APIStores to reactivate it.). This is an account-level restriction: it is not caused by your API key, your request parameters, or the product/order in the request, and you can still log in to and use the CJ website as usual.

You can lift the suspension yourself — no ticket is required:

  1. Log in to My CJ with the CJ account that owns the API key you are calling with. If you have more than one CJ account, reactivating a different account will not restore access.
  2. Open the API page (opens new window) and submit the reactivation as prompted on the page.
  3. Reactivation takes effect immediately. Retry your API request; it should no longer return 1600014.

Notes:

  • Regenerating the API key, re-authorizing your store, or editing store information does not lift the suspension. A store showing as Authorized / Activated is a separate status and does not mean API access is active.
  • Reactivation does not change the suspension policy above: if the account again meets the suspension condition, API access will be suspended again.
  • If requests still return 1600014 after you have reactivated on the account that owns the API key, contact your CJ agent and provide your CJ account number, the requestId of a failed response, and the time of the failure.

# Effective Date

  • For users who register on or after June 1, 2026, the points-based rate limiting rules take effect on June 1, 2026
  • For users who registered before June 1, 2026, the points-based rate limiting rules take effect on July 1, 2026
  • Until the effective date for your account, existing QPS rate limits and daily call count restrictions remain unchanged

# Per-Minute Points Replenishment

To prevent your daily points from being used up too quickly, CJ replenishes your available points every minute.

  • Per-minute replenishment = Total Points / 1440 (1440 = the number of minutes in a day)
  • Replenished points accumulate as the day progresses, but the available points never exceed your daily Total Points
  • The remaining field in pointsInfo reflects the current available points after replenishment, and is never negative
  • When remaining reaches 0, further API calls that consume points are rejected until more points are replenished