> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get App Data

> Read one record, or list records by key prefix

Reads one record by key, or lists your app's records. Expired records are
never returned.

> [!NOTE]
>
> App data is authenticated with your app's **client credentials**, not a
> store's access token — so your app can read what it stored (for example a
> store's access token) before it has a token to use:
>
> ```
> Authorization: Basic base64(<client_id>:<client_secret>)
> ```
>
> Records are private to your app. `storeId` is a partition you choose: pass
> the store's id to keep a record per store, or omit it for app-wide records.

## Request

```bash theme={null}
# one record
curl "https://api.launchmystore.io/api/v1/app-data?storeId=ef10744c-5c4a-4f47-85fc-062ba44afb5f&key=settings" \
  -H "Authorization: Basic $(printf '%s:%s' "$CLIENT_ID" "$CLIENT_SECRET" | base64)"

# every record of a store whose key starts with "webhook:"
curl "https://api.launchmystore.io/api/v1/app-data?storeId=ef10744c-5c4a-4f47-85fc-062ba44afb5f&prefix=webhook:&limit=100" \
  -H "Authorization: Basic $(printf '%s:%s' "$CLIENT_ID" "$CLIENT_SECRET" | base64)"
```

## Query Parameters

**key** `string`

Read the record with exactly this key. Without `key`, records are listed.

**storeId** `string`

The store partition. Omit to read app-wide records.

**all** `string`

`1` to read across every store partition (for example to iterate all
stores in a scheduled job). Overrides `storeId`.

**prefix** `string`

When listing: only records whose key starts with this text.

**limit** `integer` (default: 50)

When listing: records per page (maximum 250).

**offset** `integer` (default: 0)

When listing: records to skip.

## Response

With `key`: the record under `data.record` (`404` when there is none).
Without `key`: `data.records` (most recently written first), `data.total`,
`data.limit` and `data.offset`.

**key** `string`

The record's key

**storeId** `string`

The store partition, or `null` for an app-wide record

**value** `any`

The stored JSON value

**expiresAt** `string`

When the record expires (ISO 8601), or `null`

**updatedAt** `string`

Last write (ISO 8601)

```json theme={null}
{
  "status": 200,
  "state": "success",
  "message": null,
  "data": {
    "records": [
      {
        "key": "webhook:3f2a…",
        "storeId": "ef10744c-5c4a-4f47-85fc-062ba44afb5f",
        "value": true,
        "expiresAt": "2026-09-28T10:00:00.000Z",
        "updatedAt": "2026-09-27T10:00:00.000Z"
      }
    ],
    "total": 1,
    "limit": 100,
    "offset": 0
  }
}
```

## Errors

| Status | Description |
| - | - |
| `404` | No record with this `key` |
| `401` | Missing, malformed or wrong client credentials |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.