PushSaver

API documentation

Two endpoints. Authenticate with your project API key as a Bearer token. Base URL https://push.aiskillhub.info.

POST /api/v1/push

Optimize a push. Counts as one push against your monthly quota.

POST https://push.aiskillhub.info/api/v1/push
Authorization: Bearer ps_live_xxx
Content-Type: application/json

{
  "title": "Big sale is live!!!",
  "body": "Massive discounts on everything. Shop now before it ends!",
  "platform": "IOS",            // IOS | ANDROID | WEB
  "goal": "drive checkout",     // optional
  "brand": "Acme",              // optional
  "scheduledAt": "2025-06-01T10:00:00Z", // optional
  "abTest": false               // optional — Growth/Scale: split-test 2 variants
}

Response

{
  "id": "ckxyz...",
  "optimized": { "title": "₹300 off ends tonight", "body": "Your cart's waiting — checkout in 1 tap." },
  "survivalScore": 84,
  "priorityBucket": "time-sensitive",
  "rationale": "Front-loaded the offer + deadline; removed spam punctuation.",
  "delivery": {
    "iosInterruptionLevel": "time-sensitive",
    "iosRelevanceScore": 0.8,
    "androidImportance": "HIGH",
    "sendAsCommunication": false
  },
  "variants": [ { "label": "A", "title": "...", "body": "..." } ],
  "trackUrl": "https://push.aiskillhub.info/api/v1/push/ckxyz.../event",
  "quota": { "used": 412, "limit": 1000 }
}

A/B test response (abTest: true, Growth/Scale)

{
  "abTest": true,
  "groupId": "V1StGXR8_Z5j",
  "survivalScore": 88,
  "variants": [
    { "label": "A", "pushId": "ck_a...", "title": "...", "body": "...", "trackUrl": "https://push.aiskillhub.info/api/v1/push/ck_a.../event" },
    { "label": "B", "pushId": "ck_b...", "title": "...", "body": "...", "trackUrl": "https://push.aiskillhub.info/api/v1/push/ck_b.../event" }
  ],
  "quota": { "used": 414, "limit": 50000 }
}
// Send variant A to half your audience, B to the other half, report events
// per pushId, and the dashboard declares the winner by open rate.

POST /api/v1/push/{id}/event

Report lifecycle events so your dashboard shows real delivered-vs-opened rates.

POST https://push.aiskillhub.info/api/v1/push/{id}/event
Authorization: Bearer ps_live_xxx
Content-Type: application/json

{ "event": "opened" }   // sent | delivered | opened | suppressed | failed

How to apply the delivery hints