Cisco Umbrella Deployments Policies API
Manage the policies for the deployments in your organization.
Manage the policies for the deployments in your organization.
openapi: 3.0.1
info:
title: Cisco Umbrella Deployments Policies API
version: 2.0.0
description: Manage the policies for the deployments in your organization.
contact:
name: Cloud Security Developer Community
x-provenance:
method: harvested
authored_by: Cisco Umbrella
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
provider_published: true
source_host: pubhub.devnetcloud.com
note: 26 first-party OpenAPI 3.0 documents (256 operations) listed by Cisco's own docs-nav config and fetched anonymously.
Byte-identity reconfirmed 2026-08-19 by SHA-256 against the live source.
x-evidence:
- type: source
url: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/umbrella-config.json
- type: source
url: https://developer.cisco.com/docs/cloud-security/
servers:
- url: https://api.umbrella.com/{basePath}
variables:
basePath:
default: deployments/v2
security:
- oauthFlow: []
tags:
- name: Policy
description: Umbrella Policy Management
- name: Umbrella
paths:
/policies:
get:
tags:
- Policy
- Umbrella
summary: List Policies
description: 'List the Umbrella policies. You can filter by policy type.
If you do not specify a policy type, Umbrella returns the DNS policies.'
operationId: listPolicies
security:
- oauthFlow:
- deployments.policies:read
parameters:
- $ref: '#/components/parameters/paginationPageParam'
- $ref: '#/components/parameters/paginationLimitParam'
- $ref: '#/components/parameters/policyTypeParam'
responses:
'200':
description: OK
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyList'
example:
- policyId: 1
organizationId: 1234
name: ApiDemoPolicy
priority: 1
createdAt: '2017-09-22T04:18:51.000Z'
isDefault: false
'400':
$ref: '#/components/responses/InvalidRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerErr'
/policies/{policyId}/identities/{originId}:
put:
tags:
- Policy
- Umbrella
description: 'Add an identity to your policy.
Policy changes may require up to 20 minutes to take effect globally.
For DNS policies, TTLs, caching, and session reuse may cause some devices
and domains to appear to take longer to update.'
summary: Add Identity to Policy
operationId: updatePolicyIdentities
security:
- oauthFlow:
- deployments.policies:write
parameters:
- $ref: '#/components/parameters/networkDeviceOriginIdParam'
- $ref: '#/components/parameters/policyIdParam'
responses:
'200':
description: OK
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/OriginId'
example: 123467
'400':
$ref: '#/components/responses/InvalidRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerErr'
delete:
tags:
- Policy
- Umbrella
description: 'Remove an identity from an Umbrella policy.
Policy changes may require up to 20 minutes to take effect globally.
For DNS policies, TTLs, caching, and session reuse may cause some devices and domains to appear to take longer to
update.'
summary: Delete Identity From Policy
operationId: deletePolicyIdentities
security:
- oauthFlow:
- deployments.policies:write
parameters:
- $ref: '#/components/parameters/networkDeviceOriginIdParam'
- $ref: '#/components/parameters/policyIdParam'
responses:
'200':
description: OK
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/OriginId'
example: 123467
'400':
$ref: '#/components/responses/InvalidRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerErr'
components:
securitySchemes:
oauthFlow:
type: oauth2
description: client credential flow
flows:
clientCredentials:
tokenUrl: https://api.umbrella.com/auth/v2/token
scopes:
deployments.policies:write: Write deployments policies
deployments.policies:read: Read deployments policies
headers:
Content-Type:
schema:
type: string
description: The MIME content type of the response body.
example: application/json
Date:
schema:
type: string
pattern: ^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$
description: The timestamp of the response.
example: '2023-03-14T18:34:25Z'
parameters:
networkDeviceOriginIdParam:
name: originId
in: path
description: The origin ID of the identity.
required: true
schema:
type: integer
minimum: 1
format: int32
paginationPageParam:
name: page
in: query
description: The number of a page in the collection.
required: false
schema:
default: 1
type: integer
format: int32
minimum: 1
paginationLimitParam:
name: limit
in: query
description: The number of records from the collection to return on the page.
required: false
schema:
default: 100
type: integer
format: int32
minimum: 1
maximum: 100
policyTypeParam:
name: type
in: query
description: The type of the policy (`dns` or `web`).
required: false
schema:
default: dns
enum:
- dns
- web
type: string
example: web
policyIdParam:
name: policyId
in: path
description: The ID of the policy.
required: true
schema:
type: integer
minimum: 1
format: int32
schemas:
OriginId:
description: The origin ID of the identity.
type: integer
minimum: 1
format: int32
example: 358739
PolicyList:
type: array
items:
$ref: '#/components/schemas/PolicyStub'
PolicyStub:
type: object
minProperties: 6
required:
- policyId
- organizationId
- name
- priority
- createdAt
- isDefault
properties:
policyId:
type: integer
description: The unique policy ID.
minimum: 1
organizationId:
type: integer
example: 1234
minimum: 1
name:
type: string
description: The label for the policy.
example: ApiDemoPolicy
minLength: 1
priority:
type: integer
description: The priority of the policy.
minimum: 0
createdAt:
type: string
format: date-time
example: '2017-09-22T04:18:51.000Z'
description: The time and date (ISO 8601-formatted timestamp) when the policy was created.
isDefault:
type: boolean
example: true
description: Specified whether the policy is the default.
NotFoundError:
description: Not Found
type: object
properties:
statusCode:
type: integer
example: 404
description: HTTP status code
error:
type: string
example: Not Found
description: A brief description of the error
message:
type: string
description: Detailed error message
UnauthorizedError:
description: Unauthorized
type: object
properties:
statusCode:
type: integer
example: 401
description: HTTP status code
error:
type: string
example: Unauthorized
description: The authorization header is missing or the token is unauthorized
message:
type: string
description: Detailed error message
ForbiddenError:
description: Forbidden
type: object
properties:
statusCode:
type: integer
example: 403
description: HTTP status code
error:
type: string
example: Forbidden, Invalid authentication credentials
description: a brief description of the error
message:
type: string
description: Detailed error message
BadRequestError:
description: Bad Request
type: object
properties:
statusCode:
type: integer
example: 400
description: HTTP status code
error:
type: string
example: Validation Error
description: A brief description of the error
message:
type: string
description: Detailed error message
validationErrors:
type: object
properties:
someProperty:
type: string
example: must not be empty
description: the name of the property failing validation.
ServerError:
description: Internal Server Error
type: object
properties:
statusCode:
type: integer
example: 500
description: HTTP status code
error:
type: string
example: Internal Server Error
description: The server has an internal error and could not process the request.
message:
type: string
description: Detailed error message
responses:
InvalidRequest:
description: Bad Request
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
Unauthorized:
description: Unauthorized
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
Forbidden:
description: Forbidden
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
NotFound:
description: Not found
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
ServerErr:
description: Internal Server Error
headers:
Content-Type:
$ref: '#/components/headers/Content-Type'
Date:
$ref: '#/components/headers/Date'
content:
application/json:
schema:
$ref: '#/components/schemas/ServerError'
x-provenance:
method: harvested
first_party: true
harvested: '2026-08-19'
source: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/reference/deployments/policies.yaml
publisher: Cisco Systems, Inc. (Cisco DevNet Cloud Security docs)
x-evidence:
fetched: '2026-08-19'
url: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/reference/deployments/policies.yaml
http_status: 200
docs: https://developer.cisco.com/docs/cloud-security/