---
title: "Creates an app"
method: POST
path: "/accounts/{account_id}/apps"
tags: ["apps"]
---

# Creates an app

`POST /accounts/{account_id}/apps`

Creates an application with the specified properties.

## Path parameters

- `account_id` string, required

## Request body

- AppPost
  - `apnsCertificate` string, nullable — The Apple Push Notification service certificate.
  - `apnsPrivateKey` string, nullable — The Apple Push Notification service private key.
  - `apnsUseSandboxEndpoint` boolean, nullable — The Apple Push Notification service sandbox endpoint.
  - `fcmKey` string, nullable — The Firebase Cloud Messaging key.
  - `name` string, required — The name of the application for your reference only.
  - `status` 'enabled' | 'disabled' — The status of the application. Can be `enabled` or `disabled`. Enabled means available to accept inbound connections and all services are available.
  - `tlsOnly` boolean, nullable — Enforce TLS for all connections.

## Response `201`

App created

- AppResponse
  - `_links` object, nullable — A link self-referencing the app that has been created.
  - `accountId` string — The ID of your Ably account.
  - `apnsUseSandboxEndpoint` boolean, nullable — Apple Push Notification service endpoint.
  - `id` string — The application ID.
  - `name` string — The application name.
  - `status` 'enabled' | 'disabled' — The application status. Disabled applications will not accept new connections and will return an error to all clients.
  - `tlsOnly` boolean, nullable — Enforce TLS for all connections. This setting overrides any channel setting.

## Other responses

- `400` — Bad request
- `401` — Authentication failed
- `404` — Account not found
- `422` — Invalid request
- `500` — Internal server error

---

[API](https://skmtc.net/ably/apis/control.md) · [All operations](https://skmtc.net/ably/apis/control/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ably/control/revisions/85e2f4b0deb6/schema)
