---
title: "Create Duo Application"
method: POST
path: "/duo/accounts/{account_id}/applications"
tags: ["Duo"]
---

# Create Duo Application

`POST /duo/accounts/{account_id}/applications`

## Request

- Base URL: `https://console.jumpcloud.com/api/v2`
- URL: `https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/docs/duo/accounts/:account_id/applications/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a Duo application for your organization and the specified account.

#### Sample Request
```
  curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "Application Name",
    "apiHost": "api-1234.duosecurity.com",
    "integrationKey": "1234",
    "secretKey": "5678"
  }'
```

## Headers

- `x-org-id` string

## Request body

- DuoApplicationReq
  - `apiHost` string, required
  - `integrationKey` string, required
  - `name` string, required
  - `secretKey` string, required

## Response `201`

- DuoApplication
  - `apiHost` string, required
  - `id` string, required
  - `integrationKey` string, required
  - `name` string, required
  - `readOnly` boolean: When true, the credential is governed by the primary organization and cannot be modified.

## Other responses

- `400`: Bad Request
- `401`: Unauthenticated
- `403`: Unauthorized
- `404`: Not Found
- `409`: Conflict
- `500`: Internal Server Error

---

[API](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2.md) - [All operations](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/revisions/3f09fe63caaa?raw)
