Skip to content

PulseFlow Bid Archive (HTTP) ​

Production dashboard and JSON helpers run on PulseFlow Bid Archive (for example https://archive.vuebillboards.com). This page describes how callers must authenticate when requesting campaign archive metadata.

GET /campaign-info/:campaignId ​

Authentication is required on every request. Unauthenticated requests are rejected (redirect to SSO for browser flows without a session, or 401 when a token is present but invalid).

Supported credentials ​

  1. Platform admin session (browser)
    After SSO, a valid HttpOnly session cookie (Firebase session cookie) for a user with admin: true in Firestore. Used by the hosted dashboard.

  2. Shared secret (automation and server-to-server)
    Every programmatic request must include the secret your operators configure on the Fly.io app as BID_ARCHIVE_CAMPAIGN_INFO_SECRET, using one of:

    • Authorization: Bearer <secret>
    • X-Archive-Campaign-Token: <secret>

    If a bearer or X-Archive-Campaign-Token header is sent and the value does not match the configured secret, the service responds with 401 and a JSON body { "error": "Unauthorized" }.

Operators must set BID_ARCHIVE_CAMPAIGN_INFO_SECRET on the pulseflow-bid-archive application for environments where non-browser clients call this route; clients integrating against that environment must send that secret on each request.

Example (curl) ​

bash
export ARCHIVE_HOST="https://archive.vuebillboards.com"
export BID_ARCHIVE_CAMPAIGN_INFO_SECRET="<value from your operator>"

curl -sS \
  -H "Authorization: Bearer ${BID_ARCHIVE_CAMPAIGN_INFO_SECRET}" \
  "${ARCHIVE_HOST}/campaign-info/<campaignId>"

Billing and play aggregates (same product) ​

The dashboard on this host loads summary, daily, hourly, signs, and records from the Postgres billing archive. Those JSON APIs are implemented on Pulseflow (https://pulseflow.vuebillboards.com/api/archive/billing/...) and use the same DSP_API_KEY as the main partner API — not the Bid Archive host.

Partner curl reference: Play and spend data (PulseFlow Bid Archive).

Other routes (brief) ​

  • GET / — Dashboard HTML: IP allowlist / VPN gate and platform admin session.
  • GET /health — Liveness probe; not used for campaign data.
  • GET /sign-info/:signId — Requires the same platform admin session as other admin tools (no shared-secret path on that route).

Vue Billboards