Pollfish Logs API

Per-user survey logs and disqualification reasons.

OpenAPI Specification

pollfish-logs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pollfish Apps Logs API
  version: '2026.07'
  description: "Unified OpenAPI description of Pollfish's documented public REST surfaces. Pollfish is a mobile survey and market-research platform owned by Prodege LLC.\n\nTwo hosts are covered:\n- `https://www.pollfish.com` - the Dashboard API (publisher app management and\n  analytics), HTTP Basic Auth with your Pollfish account email and secret key.\n- `https://wss.pollfish.com` - the survey-serving / offerwall API used as an\n  alternative to the SDK. Despite the `wss` hostname, the transport is HTTPS\n  GET/HEAD, NOT WebSocket.\n\n\nEndpoints are annotated with `x-endpoint-status` of `confirmed` (documented in Pollfish's own GitHub docs at github.com/pollfish/docs) or `modeled` (shape inferred where the response body is HTML or the schema is not exhaustively documented). Survey creation / audience design for researchers is done in the Pollfish dashboard and is not part of this documented public REST API."
  contact:
    name: Pollfish (Prodege)
    url: https://www.pollfish.com/docs
  termsOfService: https://www.pollfish.com/terms/
  license:
    name: Proprietary
    url: https://www.pollfish.com/terms/
servers:
- url: https://www.pollfish.com
  description: Dashboard API (apps, performance, revenue, demographics, logs)
- url: https://wss.pollfish.com
  description: Survey serving and offerwall API (HTTPS, not WebSocket)
tags:
- name: Logs
  description: Per-user survey logs and disqualification reasons.
paths:
  /api/public/v3/apps/{api_key}/users_log:
    parameters:
    - $ref: '#/components/parameters/ApiKeyPath'
    get:
      operationId: getUsersLog
      tags:
      - Logs
      summary: Get user logs
      description: Returns paginated per-user survey logs for a given device_id or request_uuid.
      x-endpoint-status: confirmed
      security:
      - basicAuth: []
      parameters:
      - name: key
        in: query
        required: true
        description: The search term (device_id or request_uuid).
        schema:
          type: string
      - name: page
        in: query
        required: false
        description: Page number when results are paginated.
        schema:
          type: integer
      - name: rows
        in: query
        required: false
        description: Number of rows returned.
        schema:
          type: integer
      responses:
        '200':
          description: Paginated survey log results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersLog'
        '400':
          description: Missing or invalid parameters.
components:
  parameters:
    ApiKeyPath:
      name: api_key
      in: path
      required: true
      description: The app's api_key.
      schema:
        type: string
  schemas:
    UsersLog:
      type: object
      properties:
        totalCount:
          type: integer
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              survey_started:
                type: integer
                format: int64
                description: Epoch millis when the survey started.
              completed:
                type: boolean
              disqualified_reason:
                type: string
                nullable: true
                description: One of the public termination reasons (Quota Full, Survey Closed, Screenout, Duplicate, VPN, Quality, etc.) or null.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Auth for the Dashboard API. Username is your Pollfish account email, password is your account secret key (from Account Information in the publisher dashboard).