---
title: "Read a published app's own collected data (public, opt-in columns)"
method: GET
path: "/public/reads/{token}"
tags: ["app-data"]
---

# Read a published app's own collected data (public, opt-in columns)

`GET /public/reads/{token}`

## Request

- Base URL: `https://api.onplana.com/api`
- URL: `https://api.onplana.com/api/public/reads/{token}`
- Auth: none required

Returns `{ count }` by default. Row data appears only for columns the OWNER has explicitly approved in the Data panel (default none), so a fresh binding exposes no field values at all. Paginated via an opaque cursor. A missing, disabled or unknown binding answers a uniform 404 rather than distinguishing the cases.

## Path parameters

- `token` string, required

## Query parameters

- `cursor` string

## Response `200`

`{ count }`, or `{ rows, nextCursor }` when the owner has approved columns and the binding is in rows mode. A page binding returns `{ page }`.

## Other responses

- `404`: Unknown, disabled or deleted binding (uniform, never distinguishes which).

---

[API](https://skmtc.dev/onplana/apis/onplana-api.md) · [All operations](https://skmtc.dev/onplana/apis/onplana-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onplana/apis/onplana-api/revisions/c3d6c89e9dc8?raw)
