---
title: "Check if app deployment is allowed on-chain"
method: POST
path: "/api/v1/apps/{app_id}/is-allowed"
tags: ["Apps"]
---

# Check if app deployment is allowed on-chain

`POST /api/v1/apps/{app_id}/is-allowed`

## Path parameters

- `app_id` string, required

## Request body

- AppIsAllowedRequest
  - `compose_hash` string, required — Compose hash to check (hex)
  - `node_id` integer, nullable — Node ID (resolves device_id from DB)
  - `device_id` string, nullable — Device ID (hex, direct)
  - `chain_id` integer, nullable — Chain ID for RPC URL resolution. If omitted, resolved from DB via CVM/KMS records.

## Response `200`

Successful Response

- AppIsAllowedResponse
  - `app_contract_address` string, required
  - `compose_hash` string, required
  - `device_id` string, required
  - `compose_hash_allowed` boolean, required
  - `allow_any_device` boolean, required
  - `device_id_allowed` boolean, nullable
  - `is_allowed` boolean, required
  - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/phala/apis/phala-cloud-api.md) · [All operations](https://skmtc.net/phala/apis/phala-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phala/phala-cloud-api/versions/83c6ae62e860/schema)
