Publisher API
API Reference

Apps API

List, create, read, update, and delete publisher apps via API key.

Apps belong to your publisher organization. Each app has its own appId, redirect URLs, and survey traffic.

You can manage apps in the Publisher Portal or via the REST API below (same data model).

Local docs: use Download collection and import the file in Postman (File → Import). Run in Postman needs the public URL at publishers.mypinio.com — Postman cannot fetch collections from localhost.

Authentication

All requests require a valid API key. Responses are scoped to the organization linked to that key.

List apps

GET https://publishers.mypinio.com/api/v1/publishers/apps

Response:

{
  "apps": [
    {
      "id": "clx…",
      "appName": "My Panel",
      "platform": "web",
      "status": "active",
      "createdAt": "2026-06-04T10:00:00.000Z"
    }
  ]
}

Create app

POST https://publishers.mypinio.com/api/v1/publishers/apps
FieldRequiredDescription
appNameYesDisplay name (1–120 characters)
platformNoweb (default), ios, or android

The server sets status to active and initializes empty redirect settings until you configure them in the portal.

Example:

{
  "appName": "My Panel",
  "platform": "web"
}

Response (201):

{
  "id": "clx…",
  "appName": "My Panel",
  "platform": "web",
  "status": "active",
  "createdAt": "2026-06-04T10:00:00.000Z"
}

Configure redirect URLs and the signing secret under Apps → Settings before calling POST /surveys.

Get app

GET https://publishers.mypinio.com/api/v1/publishers/apps/{id}

Returns id, appName, platform, status, appSettings (redirect URLs only — signing secret is never returned), hasRedirectSigningSecret, createdAt, updatedAt. Returns 404 if the app is not in your organization.

Example:

{
  "id": "clx…",
  "appName": "My Panel",
  "platform": "web",
  "status": "active",
  "appSettings": {
    "redirectUrls": {
      "complete": "https://community.example/survey-return/complete",
      "screenOut": "https://community.example/survey-return/screen-out",
      "cancelled": "https://community.example/api/v1/publishers/survey-cancelled"
    }
  },
  "hasRedirectSigningSecret": true,
  "createdAt": "2026-06-04T10:00:00.000Z",
  "updatedAt": "2026-06-04T10:00:00.000Z"
}

Configure the signing secret in the portal — it is stored on your server for HMAC verification and is not exposed via this API.

Update app

PATCH https://publishers.mypinio.com/api/v1/publishers/apps/{id}

Send any of:

FieldDescription
appNameNew name (non-empty string)
platformweb, ios, or android
statuse.g. active

Response: updated id, appName, platform, status, updatedAt.

Delete app

DELETE https://publishers.mypinio.com/api/v1/publishers/apps/{id}

Success (200):

{ "deleted": true }

Blocked (409) when the app has logged usage (survey events or offer-wall entries). Deletion is blocked to preserve history.

Portal vs API

ActionPortalAPI
Create appOrganization owner only (Apps → Create app)Any member with a valid API key for the org
Redirect URLsApps → SettingsNot exposed on REST v1 — use the portal
API keysSettings → API keys—

On this page