StoreLyne API docs 2026-11

Visitors, the buying funnel, top pages and sources; optionally for one page or product

GET/admin/2026-11/analytics

scope read_analytics

Query parameters

  • periodenum

    One of today 7d 30d 90d

    Default "30d"

  • page_idID (pag_...)

    Only sessions that saw this payment page or product.

Response 200

  • availablebooleanrequired

    False when the events store cannot be reached; numbers are then zero.

  • periodenumrequired

    One of today 7d 30d 90d

  • totalsobjectrequired
  • totals.visitorsintegerrequired
  • totals.sessionsintegerrequired
  • totals.page_viewsintegerrequired
  • totals.purchasesintegerrequired
  • totals.revenueintegerrequired

    Paise, from purchases seen on the store.

  • totals.conversion_rate_bpintegerrequired

    Sessions with a purchase per 10,000 sessions.

  • seriesarray of objectrequired
  • series[].datestringrequired
  • series[].visitorsintegerrequired
  • series[].sessionsintegerrequired
  • series[].purchasesintegerrequired
  • series[].revenueintegerrequired
  • funnelarray of objectrequired
  • funnel[].stepenumrequired

    One of visited viewed_item add_to_cart checkout payment purchase

  • funnel[].sessionsintegerrequired
  • pagesarray of objectrequired
  • pages[].pathstringrequired
  • pages[].page_typestringrequired
  • pages[].page_idstringrequired
  • pages[].viewsintegerrequired
  • pages[].visitorsintegerrequired
  • sourcesarray of objectrequired
  • sources[].sourcestringrequired
  • sources[].sessionsintegerrequired
  • sources[].purchasesintegerrequired
  • devicesarray of objectrequired
  • devices[].devicestringrequired
  • devices[].sessionsintegerrequired
  • previous_funnelarray of objectrequired

    The same funnel for the period before, to compare.

  • previous_funnel[].stepenumrequired

    One of visited viewed_item add_to_cart checkout payment purchase

  • previous_funnel[].sessionsintegerrequired
  • failuresarray of objectrequired

    Why payments failed, by cause code from the taxonomy.

  • failures[].causestringrequired
  • failures[].sessionsintegerrequired
  • pathsarray of objectrequired

    Top journeys: source, page types in order, then paid or left.

  • paths[].stepsarray of stringrequired
  • paths[].sessionsintegerrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/analytics \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "available": false,
  "period": "today",
  "totals": {
    "visitors": 1,
    "sessions": 1,
    "page_views": 1,
    "purchases": 1,
    "revenue": 49900,
    "conversion_rate_bp": 1
  },
  "series": [
    {
      "date": "string",
      "visitors": 1,
      "sessions": 1,
      "purchases": 1,
      "revenue": 49900
    }
  ],
  "funnel": [
    {
      "step": "visited",
      "sessions": 1
    }
  ],
  "pages": [
    {
      "path": "string",
      "page_type": "string",
      "page_id": "string",
      "views": 1,
      "visitors": 1
    }
  ],
  "sources": [
    {
      "source": "string",
      "sessions": 1,
      "purchases": 1
    }
  ],
  "devices": [
    {
      "device": "string",
      "sessions": 1
    }
  ],
  "previous_funnel": [
    {
      "step": "visited",
      "sessions": 1
    }
  ],
  "failures": [
    {
      "cause": "string",
      "sessions": 1
    }
  ],
  "paths": [
    {
      "steps": [
        "string"
      ],
      "sessions": 1
    }
  ]
}

Where buyers tap, how far they scroll and where they rage tap, for one page

GET/admin/2026-11/analytics/heatmap

scope read_analytics

Query parameters

  • periodenum

    One of today 7d 30d 90d

    Default "7d"

  • deviceenum

    One of mobile desktop

    Default "mobile"

  • pathstringrequired

    Page path, such as /p/masterclass

Response 200

  • availablebooleanrequired
  • pathstringrequired
  • deviceenumrequired

    One of mobile desktop

  • viewsintegerrequired
  • doc_heightintegerrequired

    Typical page height in CSS pixels on this device.

  • clicksarray of objectrequired

    Taps grouped into cells; x and y are cell centres as shares of the page.

  • clicks[].xnumberrequired
  • clicks[].ynumberrequired
  • clicks[].nintegerrequired
  • clicks[].rageintegerrequired
  • scrollarray of objectrequired

    Share of page views (basis points) that reached each depth, every 5 percent.

  • scroll[].depthintegerrequired
  • scroll[].share_bpintegerrequired
  • targetsarray of objectrequired
  • targets[].targetstringrequired
  • targets[].tapsintegerrequired
  • targets[].rageintegerrequired
  • sectionsarray of objectrequired

    Page views in which each section was half on screen.

  • sections[].sectionstringrequired
  • sections[].viewsintegerrequired
  • form_startsintegerrequired

    Page views where the buyer started the buy form.

  • sessionsintegerrequired

    Visits that saw this page.

  • purchasesintegerrequired

    Of those visits, the ones that paid.

  • exitsintegerrequired

    Visits that left the store from this page without paying.

  • dead_tapsintegerrequired

    Taps on things that are not buttons or links (often pictures or text).

  • median_depthintegerrequired

    Median deepest scroll, percent of the page.

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/analytics/heatmap \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "available": false,
  "path": "string",
  "device": "mobile",
  "views": 1,
  "doc_height": 1,
  "clicks": [
    {
      "x": 1,
      "y": 1,
      "n": 1,
      "rage": 1
    }
  ],
  "scroll": [
    {
      "depth": 1,
      "share_bp": 1
    }
  ],
  "targets": [
    {
      "target": "string",
      "taps": 1,
      "rage": 1
    }
  ],
  "sections": [
    {
      "section": "string",
      "views": 1
    }
  ],
  "form_starts": 1,
  "sessions": 1,
  "purchases": 1,
  "exits": 1,
  "dead_taps": 1,
  "median_depth": 1
}

Pages with tap and scroll data, most viewed first

GET/admin/2026-11/analytics/heatmap/pages

scope read_analytics

Query parameters

  • periodenum

    One of today 7d 30d 90d

    Default "7d"

  • deviceenum

    One of mobile desktop

    Default "mobile"

Response 200

  • availablebooleanrequired
  • dataarray of objectrequired
  • data[].pathstringrequired
  • data[].page_typestringrequired
  • data[].page_idstringrequired
  • data[].viewsintegerrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/analytics/heatmap/pages \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "available": false,
  "data": [
    {
      "path": "string",
      "page_type": "string",
      "page_id": "string",
      "views": 1
    }
  ]
}

Recent visits step by step: where buyers came from, what they saw and where they stopped

GET/admin/2026-11/analytics/journeys

scope read_analytics

Query parameters

  • periodenum

    One of today 7d 30d 90d

    Default "7d"

  • outcomeenum

    One of all purchased reached_checkout added_to_cart browsed

    Default "all"

  • page_idID (pag_...)
  • limitinteger

    Default 30 ยท 1 to 100

Response 200

  • availablebooleanrequired
  • dataarray of objectrequired
  • data[].session_idstringrequired
  • data[].started_atstringrequired
  • data[].sourcestringrequired
  • data[].devicestringrequired
  • data[].in_appstringrequired
  • data[].outcomeenumrequired

    One of purchased reached_checkout added_to_cart browsed

  • data[].valueintegerrequired
  • data[].stepsarray of objectrequired
  • data[].steps[].atstringrequired
  • data[].steps[].typestringrequired
  • data[].steps[].pathstringrequired
  • data[].steps[].page_typestringrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/analytics/journeys \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "available": false,
  "data": [
    {
      "session_id": "string",
      "started_at": "string",
      "source": "string",
      "device": "string",
      "in_app": "string",
      "outcome": "purchased",
      "value": 1,
      "steps": [
        {
          "at": "string",
          "type": "string",
          "path": "string",
          "page_type": "string"
        }
      ]
    }
  ]
}