---
title: "Tell apps.papr.ai a published app has new code (publisher only)"
method: POST
path: "/v1/cloud/apps/publish/{app_id}/revision-notify"
tags: ["v1", "Cloud Infrastructure"]
---

# Tell apps.papr.ai a published app has new code (publisher only)

`POST /v1/cloud/apps/publish/{app_id}/revision-notify`

## Request

- Base URL: `https://memory.papr.ai`
- URL: `https://memory.papr.ai/v1/cloud/apps/publish/{app_id}/revision-notify`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Replaces the desktop -> host call that needed the shared host key.

Only the caller's own published app resolves (get_publish is scoped to the
caller's org/namespace/user), so nobody can flip another app's commit.

## Path parameters

- `app_id` string, required

## Request body

- AppRevisionNotifyBody
  - `external_user_id` string, nullable: Parse _User.objectId of the acting user (desktop OAuth). Used for ownership-scoped cloud operations instead of the API key user.
  - `commitSha` string, nullable

## Response `200`

Successful Response

- object: Generic JSON response object

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-17** `85b2953e02c4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/papr-ai/apis/papr-memory-api/changes/v1/cloud/apps/publish/:app_id/revision-notify/post.md)

---

[API](https://skmtc.dev/papr-ai/apis/papr-memory-api.md) - [All operations](https://skmtc.dev/papr-ai/apis/papr-memory-api/llms.txt) - [OpenAPI document](https://skmtc.dev/papr-ai/apis/papr-memory-api/revisions/6fc381dc78b3?raw)
