---
title: "List the action definitions your app has declared"
method: GET
path: "/apps/{appUuid}/experience-action-definitions"
---

# List the action definitions your app has declared

`GET /apps/{appUuid}/experience-action-definitions`

Returns the in-app actions your app has declared, so your creator surface can render a row per action and offer the creator Fanvue's native pricing dialog for each one.

    This is the read to build that page on. `GET /experiences/{experienceUuid}/actions` serves the *priced* per-experience catalogue, so an action the creator has not priced yet does not appear there at all — it cannot tell you what you have declared.

    Owner app only: `appUuid` must be the app whose credentials make the call, otherwise 403. Scoped to the creator the call is made on behalf of, through their install: a caller whose user has not installed the app gets 404, never another app's or another creator's declarations.

    **No amount of any kind is served here** — not the creator's price, not a suggestion, not a currency. Price is served only by `GET /experiences/{experienceUuid}/actions`.

    Definitions you have withdrawn are omitted. An empty `definitions` array means you have declared nothing; a failure to read them is a 502, never an empty list.

## Path parameters

- `appUuid` string, uuid, required

## Headers

- `X-Fanvue-API-Version` string, required

## Response `200`

The app's active action declarations

- object
  - `definitions` object[], required — The app's active action declarations. No amount is served here.
    - `externalActionId` string, required — The app's own stable key for the action, as it declared it.
    - `title` string, required — The app's label for the action, shown to the creator and the fan.
    - `description` string, nullable, required — The app's blurb for the action, or null when it declared none.
    - `status` 'active', required — Always `active`. A definition the app has withdrawn is omitted from this read entirely, never returned as disabled.

## Other responses

- `400` — Bad Request - API version not supported OR validation failed OR invalid UUID
- `401` — Unauthorized Response
- `403` — Unauthorized Response
- `404` — The app is not installed by the user this call is made on behalf of
- `410` — API version no longer supported (sunset)
- `429` — Too many requests - rate limit exceeded
- `502` — Failed to read the action definitions from the upstream
- `503` — Developer API upstream is not configured

## Changes

- **2026-09-10** `4d08f36ad6c8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fanvue/apis/fanvue-api/changes/apps/:appUuid/experience-action-definitions/get.md)

---

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