JumpCloud Duo API
The Duo API from JumpCloud — 4 operation(s) for duo.
The Duo API from JumpCloud — 4 operation(s) for duo.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/jumpcloud:jumpcloud-duo-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
name: JumpCloud Support
url: https://jumpcloud.com/support/contact-jumpcloud-support
description: '# Overview
JumpCloud''s V2 API. This set of endpoints allows JumpCloud customers to manage objects, groupings and mappings and interact with the JumpCloud Graph. > **Note:** See JumpCloud Data Centers: Login URLs and Service Endpoints to learn more. ## API Best Practices
Read the linked Help Article below for guidance on retrying failed requests to JumpCloud''s REST API, as well as best practices for structuring subsequent retry requests. Customizing retry mechanisms based on these recommendations will increase the reliability and dependability of your API calls. Covered topics include:
1. Important Considerations
2. Supported HTTP Request Methods
3. Response codes
4. API Key rotation
5. Paginating
6. Error handling
7. Retry rates
JumpCloud Help Center - API Best Practices
# Directory Objects
This API offers the ability to interact with some of our core features; otherwise known as Directory Objects. The Directory Objects are:
* Commands
* Policies
* Policy Groups
* Applications
* Systems
* Users
* User Groups
* System Groups
* Radius Servers
* Directories: Office 365, LDAP,G-Suite, Active Directory
* Duo accounts and applications. The Directory Object is an important concept to understand in order to successfully use JumpCloud API. ## JumpCloud Graph
We''ve also introduced the concept of the JumpCloud Graph along with Directory Objects. The Graph is a powerful aspect of our platform which will enable you to associate objects with each other, or establish membership for certain objects to become members of other objects. Specific `GET` endpoints will allow you to traverse the JumpCloud Graph to return all indirect and directly bound objects in your organization. | !alt text |
|:--:|
| **This diagram highlights our association and membership model as it relates to Directory Objects.** |
# API Key
## Access Your API Key
To locate your API Key:
1. Log into the JumpCloud Admin Console. 2. Go to the username drop down located in the top-right of the Console. 3. Retrieve your API key from API Settings. ## API Key Considerations
This API key is associated to the currently logged in administrator. Other admins will have different API keys. **WARNING** Please keep this API key secret, as it grants full access to any data accessible via your JumpCloud console account. You can also reset your API key in the same location in the JumpCloud Admin Console. ## Recycling or Resetting Your API Key
In order to revoke access with the current API key, simply reset your API key. This will render all calls using the previous API key inaccessible. Your API key will be passed in as a header with the header name "x-api-key". ```bash
curl -H "x-api-key: [YOUR_API_KEY_HERE]" "https://console.jumpcloud.com/api/v2/systemgroups"
```
# System Context
* Introduction
* Supported endpoints
* Response codes
* Authentication
* Additional examples
* Third party
## Introduction
JumpCloud System Context Authorization is an alternative way to authenticate with a subset of JumpCloud''s REST APIs. Using this method, a system can manage its information and resource associations, allowing modern auto provisioning environments to scale as needed. **Notes:**
* The following documentation applies to Linux Operating Systems only. * Systems that have been automatically enrolled using Apple''s Device Enrollment Program (DEP) or systems enrolled using the User Portal install are not eligible to use the System Context API to prevent unauthorized access to system groups and resources. If a script that utilizes the System Context API is invoked on a system enrolled in this way, it will display an error. ## Supported Endpoints
JumpCloud System Context Authorization can be used in conjunction with Systems endpoints found in the V1 API and certain System Group endpoints found in the v2 API.'
title: JumpCloud Duo API
version: '2.0'
servers:
- url: https://console.jumpcloud.com/api/v2
description: United States (US)
x-jc-region: us
- url: https://console.eu.jumpcloud.com/api/v2
description: European Union (EU)
x-jc-region: eu
- url: https://console.in.jumpcloud.com/api/v2
description: India (IN)
x-jc-region: in
tags:
- name: Duo
paths:
/duo/accounts:
x-functionalities-tags:
- duo
get:
description: 'This endpoint returns all the Duo accounts for your organization. Note: There can currently only be one Duo account for your organization.
#### Sample Request
```
curl https://console.jumpcloud.com/api/v2/duo/accounts \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}''
```'
operationId: duo_accountList
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DuoAccount'
type: array
security:
- x-api-key: []
summary: List Duo Accounts
tags:
- Duo
x-scopes:
- mfa
- mfa.readonly
x-codeSamples:
- lang: Shell
source: "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts'' -Method GET -Headers $headers'
post:
description: 'Registers a Duo account for an organization. Only one Duo account will be allowed,
in case an organization has a Duo account already a 409 (Conflict) code will be returned.
#### Sample Request
```
curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}'' \
-d ''{}''
```'
operationId: duo_accountPost
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoAccount'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Create Duo Account
tags:
- Duo
x-scopes:
- mfa
x-codeSamples:
- lang: Shell
source: "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts'' -Method POST -Headers $headers'
/duo/accounts/{account_id}/applications:
parameters:
- in: path
name: account_id
required: true
schema:
type: string
x-functionalities-tags:
- duo
- user-portal-applications
get:
description: 'This endpoint returns all the Duo applications for the specified Duo account. Note: There can currently only be one Duo application for your organization.
#### Sample Request
```
curl 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}''
```'
operationId: duo_applicationList
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DuoApplication'
type: array
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: List Duo Applications
tags:
- Duo
x-scopes:
- mfa
- mfa.readonly
x-codeSamples:
- lang: Shell
source: "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications'' -Method GET -Headers $headers'
post:
description: '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"
}''
```'
operationId: duo_applicationPost
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplicationReq'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplication'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Create Duo Application
tags:
- Duo
x-scopes:
- mfa
x-codeSamples:
- lang: Shell
source: "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE' \\\n --data '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications\"\n\npayload = {\n \"apiHost\": \"string\",\n \"integrationKey\": \"string\",\n \"name\": \"string\",\n \"secretKey\": \"string\"\n}\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications'' -Method POST -Headers $headers -ContentType ''application/json'' -Body ''{"apiHost":"string","integrationKey":"string","name":"string","secretKey":"string"}'''
/duo/accounts/{account_id}/applications/{application_id}:
parameters:
- in: path
name: account_id
required: true
schema:
type: string
- in: path
name: application_id
required: true
schema:
type: string
x-functionalities-tags:
- duo
- user-portal-applications
delete:
description: 'Deletes the specified Duo application, an error will be returned if the application is used in a protected resource.
#### Sample Request
```
curl -X DELETE https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}''''
```'
operationId: duo_applicationDelete
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplication'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Delete a Duo Application
tags:
- Duo
x-scopes:
- mfa
x-codeSamples:
- lang: Shell
source: "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}'' -Method DELETE -Headers $headers'
get:
description: 'This endpoint returns a specific Duo application that is associated with the specified Duo account.
#### Sample Request
```
curl https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}''
```'
operationId: duo_applicationGet
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplication'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Get a Duo application
tags:
- Duo
x-scopes:
- mfa
- mfa.readonly
x-codeSamples:
- lang: Shell
source: "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}'' -Method GET -Headers $headers'
put:
description: 'Updates the specified Duo application.
#### Sample Request
```
curl -X PUT https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \
-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"
}''
```'
operationId: duo_applicationUpdate
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplicationUpdateReq'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoApplication'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Update Duo Application
tags:
- Duo
x-scopes:
- mfa
x-codeSamples:
- lang: Shell
source: "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE' \\\n --data '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\npayload = {\n \"apiHost\": \"string\",\n \"integrationKey\": \"string\",\n \"name\": \"string\",\n \"secretKey\": \"string\"\n}\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}'' -Method PUT -Headers $headers -ContentType ''application/json'' -Body ''{"apiHost":"string","integrationKey":"string","name":"string","secretKey":"string"}'''
/duo/accounts/{id}:
parameters:
- description: ObjectID of the Duo Account
in: path
name: id
required: true
schema:
type: string
x-functionalities-tags:
- duo
delete:
description: 'Removes the specified Duo account, an error will be returned if the account has some Duo application used in a protected resource.
#### Sample Request
```
curl -X DELETE https://console.jumpcloud.com/api/v2/duo/accounts/{id} \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}''
```'
operationId: duo_accountDelete
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoAccount'
'400':
$ref: '#/components/responses/trait_standardErrors_400'
'401':
$ref: '#/components/responses/trait_standardErrors_401'
'403':
$ref: '#/components/responses/trait_standardErrors_403'
'404':
$ref: '#/components/responses/trait_standardErrors_404'
'409':
$ref: '#/components/responses/trait_standardErrors_409'
'500':
$ref: '#/components/responses/trait_standardErrors_500'
security:
- x-api-key: []
summary: Delete a Duo Account
tags:
- Duo
x-scopes:
- mfa
x-codeSamples:
- lang: Shell
source: "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{id}\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{id}'' -Method DELETE -Headers $headers'
get:
description: 'This endpoint returns a specific Duo account.
#### Sample Request
```
curl https://console.jumpcloud.com/api/v2/duo/accounts/{id} \
-H ''accept: application/json'' \
-H ''content-type: application/json'' \
-H ''x-api-key: {API_KEY}''
```'
operationId: duo_accountGet
parameters:
- $ref: '#/components/parameters/trait_multiTenantRequestHeaders_x-org-id'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DuoAccount'
security:
- x-api-key: []
summary: Get a Duo Acount
tags:
- Duo
x-scopes:
- mfa
- mfa.readonly
x-codeSamples:
- lang: Shell
source: "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --header 'x-org-id: SOME_STRING_VALUE'"
- lang: Python
source: "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{id}\"\n\nheaders = {\n \"x-org-id\": \"SOME_STRING_VALUE\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
- lang: Powershell
source: '$headers=@{}
$headers.Add("x-org-id", "SOME_STRING_VALUE")
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri ''https://console.jumpcloud.com/api/v2/duo/accounts/{id}'' -Method GET -Headers $headers'
components:
responses:
trait_standardErrors_401:
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
trait_standardErrors_409:
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
trait_standardErrors_400:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
trait_standardErrors_500:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
trait_standardErrors_404:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
trait_standardErrors_403:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
trait_multiTenantRequestHeaders_x-org-id:
description: Organization identifier that can be obtained from console settings.
in: header
name: x-org-id
schema:
type: string
schemas:
Error:
title: Error
type: object
x-examples: {}
description: ''
properties:
code:
format: int32
type: integer
description: HTTP status code
message:
type: string
description: Error message
status:
type: string
description: HTTP status description
ErrorDetails:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
details:
description: 'Describes a list of objects with more detailed information of the given error. Each detail schema is according to one of the messages defined in Google''s API: https://github.com/googleapis/googleapis/blob/master/google/rpc/error_details.proto'
type: array
items:
type: object
additionalProperties: true
description: Object according to Google's API.
DuoAccount:
properties:
id:
description: object ID
type: string
name:
description: Duo application name.
type: string
readOnly:
description: When true, the credential is governed by the primary organization and cannot be modified.
type: boolean
required:
- id
title: DuoAccount
type: object
DuoApplicationUpdateReq:
properties:
apiHost:
type: string
integrationKey:
type: string
name:
type: string
secretKey:
type: string
required:
- name
- apiHost
- integrationKey
title: DuoApplicationUpdateReq
type: object
DuoApplicationReq:
properties:
apiHost:
type: string
integrationKey:
type: string
name:
type: string
secretKey:
type: string
required:
- name
- apiHost
- integrationKey
- secretKey
title: DuoApplicationReq
type: object
DuoApplication:
properties:
apiHost:
type: string
id:
type: string
integrationKey:
type: string
name:
type: string
readOnly:
description: When true, the credential is governed by the primary organization and cannot be modified.
type: boolean
required:
- id
- name
- apiHost
- integrationKey
title: DuoApplication
type: object
securitySchemes:
x-api-key:
description: API key used to authenticate requests.
in: header
name: x-api-key
type: apiKey
x-tagGroups:
- name: API Reference
tags:
- Access Requests
- Access Risk Settings
- Active Directory
- Administrators
- Agent Groups
- Agents
- Aggregated Policy Stats
- App Catalog
- Apple MDM
- Applications
- Assets
- Authentication Policies
- Bulk Job Requests
- Commands
- Custom Emails
- Directories
- Directory Insights
- Duo
- Email Subscriptions
- FeatureTrials
- G Suite
- G Suite Import
- GCEP
- Google EMM
- Graph
- Groups
- IP Lists
- Identity Providers
- Identity Risk
- Image
- LDAP Servers
- Logos
- Managed Service Provider
- Microsoft MDM
- Monitoring and Alerting
- Notifications Channels
- Object Storage
- Office 365
- Office 365 Import
- Organization Feature Settings
- Organizations
- Password Manager
- Password Policy
- Password Vault
- PasswordManagerItem
- Policies
- Policy Group Associations
- Policy Group Members & Membership
- Policy Group Templates
- Policy Groups
- Policytemplates
- Privileged Access
- Providers
- Push Verification
- RADIUS Servers
- Reports
- Roles
- Rules
- SCIM Import
- SaaS App Management
- Samba Domains
- Sample Data
- Saved Views
- Scope Groups
- Service Accounts
- Slack Notifications
- Software Apps
- Subscriptions
- System Group Associations
- System Group Members & Membership
- System Groups
- System Insights
- Systems
- Systems Organization Settings
- Translation Rules
- User Group Associations
- User Group Members & Membership
- User Groups
- Users
- Webhook Notifications
- Webhook Notifications Channels
- Workday Import
- Workflows
- fde
- mdm
x-scopes:
- accessmanagement
- accessmanagement.readonly
- accessrequest
- accessrequest.readonly
- administratorLinks
- administrators
- administrators.readonly
- agents
- agents.create
- agents.credentials.delete
- agents.credentials.readonly
- agents.credentials.update
- agents.delete
- agents.readonly
- agents.state
- agents.state.activate
- agents.state.suspend
- agents.update
- anonymous
- applications
- applications.readonly
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://artifacts.apis.io/jumpcloud/openapi/jumpcloud-duo-api-openapi.yml