Skip to main content
GET
/
agents
/
{id}
/
flow
/
versions
List flow versions
curl --request GET \
  --url https://api.goyappr.com/agents/{id}/flow/versions \
  --header 'Authorization: Bearer <token>'
{
  "versions": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "content_hash": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "created_by_email": "<string>"
    }
  ],
  "next_cursor": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.goyappr.com/llms.txt

Use this file to discover all available pages before exploring further.

Returns the immutable flow-version history for a flow agent. Each successful save (POST or PATCH that includes flow_config) writes one row, deduplicated by SHA-256 hash so re-saving an identical graph is a no-op rather than a new revision. Required scope: flows:read. Use this for:
  • Displaying a “version history” panel in your own UI
  • Auditing who changed what and when (note: API-key snapshots have created_by_email = null)
  • Diffing two saved flows by pulling each version from the corresponding row (full flow_config is not included in the list — fetch the row directly via Supabase if you need the body, or use the dashboard’s Flow Versions panel)
Pagination uses an ISO timestamp cursor. Pass back the next_cursor from the previous response to walk further into history.

Errors

HTTPCodeWhen
400cursor is not a valid ISO-8601 timestamp, or limit is outside [1, 100].
400Agent in the path is not a flow agent (type is prompt).
404Agent id does not exist (or is not visible to the calling company).

Authorizations

Authorization
string
header
required

Your Yappr API key (e.g. ypr_live_...). Generate one in the dashboard under Settings → API Keys.

Path Parameters

id
string<uuid>
required

Query Parameters

limit
integer
default:20
Required range: x <= 100
cursor
string<date-time>

ISO 8601 timestamp from a prior next_cursor to page back further in time.

Response

Page of flow versions

versions
object[]
next_cursor
string<date-time> | null

Pass back as cursor to fetch the next page. NULL when no more rows.