API · Exports

CSV files of devices, deliveries and statistics, with a temporary download link.

Base: https://api.pushtifly.com. Every response uses { errCode, errMsg, data, meta }. Authentication and keys · Error catalog

GET/v1/exports

Company exports (most recent first)

Key: sk_

Parameters

NameInTypeDescription
pagequeryinteger
perPagequeryinteger

Responses: 200

curl -X GET "https://api.pushtifly.com/v1/exports" \
  -H "Authorization: Bearer sk_test_YOUR_SECRET_KEY"

POST/v1/exports

Request a CSV export (202, generated in the background)

Key: sk_

type devices (also requires devices:read; filters platform, status), deliveries (notificationId, or appId + from + to up to 31 days) or stats (from + to up to 366 days, hourly). Dates YYYY-MM-DD inclusive, in UTC. Optional notifyEmail: an email with the link. Up to 3 in progress per company (3003). The file expires after 24 h.

Body

FieldTypeDescription
type*"devices" | "deliveries" | "stats"
appIdstring
platform"android" | "ios" | "web"
status"active" | "invalid" | "pending_credential"
notificationIdstring
fromstring
tostring
notifyEmailstring
language"es" | "en"

Responses: 202422

curl -X POST "https://api.pushtifly.com/v1/exports" \
  -H "Authorization: Bearer sk_test_YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "devices",
  "appId": "text",
  "platform": "android",
  "status": "active",
  "notificationId": "text",
  "from": "2026-11-15",
  "to": "2026-11-15",
  "notifyEmail": "text",
  "language": "es"
}'

GET/v1/exports/{id}

Status (queued, running, ready, failed, expired), rows and a signed downloadUrl when it is ready

Key: sk_

Parameters

NameInTypeDescription
id*pathstring

Responses: 200

curl -X GET "https://api.pushtifly.com/v1/exports/ID_ID" \
  -H "Authorization: Bearer sk_test_YOUR_SECRET_KEY"

GET/v1/exports/{id}/download

Download the CSV (UTF-8 with BOM). No key needed: the link is signed; 1109 if it expired or was tampered with

Key: sk_

Depending on the installation it returns the file (200) or redirects (302) to a temporary file-storage link, valid for a few minutes. HTTP clients must follow the redirect.

Parameters

NameInTypeDescription
id*pathstring
expires*queryinteger
signature*querystring

Responses: 200302401

curl -X GET "https://api.pushtifly.com/v1/exports/ID_ID/download" \
  -H "Authorization: Bearer sk_test_YOUR_SECRET_KEY"