---
title: "Acknowledge an installed app or request mobile testing"
method: POST
path: "/api/v1/me/app_promotion"
tags: ["me"]
---

# Acknowledge an installed app or request mobile testing

`POST /api/v1/me/app_promotion`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/me/app_promotion`
- Auth: HTTP bearer

## Request body

- object
  - `action_name` 'desktop_installed' | 'mobile_installed' | 'request_ios_testing' | 'request_android_testing', required

## Response `200`

Updated app promotion eligibility

- AppPromotion
  - `desktop` boolean, required: Whether to offer the desktop app.
  - `mobile` boolean, required: Whether to offer mobile testing.
  - `ios_testing_requested` boolean, required
  - `android_testing_requested` boolean, required

## Other responses

- `401`: Authentication required
- `403`: Forbidden
- `404`: Not found
- `422`: Invalid promotion action
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/45c6fc7914b1?raw)
