---
title: "Submit contribute-back after branch push — opens GitHub PR"
method: POST
path: "/v1/cloud/apps/changes/{request_id}/submit"
tags: ["v1", "Cloud Infrastructure"]
---

# Submit contribute-back after branch push — opens GitHub PR

`POST /v1/cloud/apps/changes/{request_id}/submit`

## Request

- Base URL: `https://memory.papr.ai`
- URL: `https://memory.papr.ai/v1/cloud/apps/changes/{request_id}/submit`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Path parameters

- `request_id` string, required

## Request body

- AppChangeRequestSubmit
  - `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.
  - `headSha` string, required
  - `stagedPaths` string[], nullable: Repo paths included in this proposal (for owner review UI)
  - `mergeNow` boolean: Maintainer/Admin publish: merge immediately instead of waiting for review
  - `databasePublished` boolean: The desktop already applied this change's migrations to the team's cloud database
  - `baseRevision` string, nullable: Commit the copy is based on. Required with a migration on a direct publish: refused if main moved past it

## Response `200`

Successful Response

- AppChangeRequestInfo
  - `id` string, required
  - `sourceAppId` string, required
  - `sourceNamespaceId` string, required
  - `sourceSlug` string, required
  - `installedAppId` string, required
  - `contributorUserId` string, required
  - `title` string, required
  - `description` string, required
  - `status` 'preparing' | 'pending' | 'approved' | 'rejected' | 'superseded', required
  - `createdAt` string, required
  - `resolvedAt` string, nullable
  - `lineageId` string, nullable
  - `branch` string, nullable
  - `headSha` string, nullable
  - `prUrl` string, nullable
  - `prNumber` integer, nullable
  - `stagedPaths` string[], nullable
  - `mergeState` string, nullable
  - `mergeCheckedAt` string, nullable
  - `supersededBy` string, nullable
  - `mergedManually` boolean, nullable
  - `mergedCommitSha` string, nullable
  - `resolvedBy` string, nullable
  - `publishedDirectly` boolean, nullable
  - `databasePublished` boolean, nullable
  - `publishNote` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `0e7a5c0d125d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/papr-ai/apis/papr-memory-api/changes/v1/cloud/apps/changes/:request_id/submit/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)
