Cisco Umbrella Key Admin API

Cisco Umbrella Key Admin API — 6 operation(s) published by Cisco under the Cloud Security API documentation.

OpenAPI Specification

cisco-umbrella-admin-key-admin-openapi.yml Raw ↑
openapi: 3.0.2
info:
  version: 2.0.0
  title: Cisco Umbrella Key Admin API
  description: Manage your Umbrella API keys.
  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: admin/v2
security:
- oauthFlow: []
tags:
- name: API Keys
- name: Umbrella
paths:
  /apiKeys:
    get:
      summary: List API Keys
      description: List the API keys created by your organization.
      tags:
      - API Keys
      - Umbrella
      operationId: getAPIKeys
      security:
      - oauthFlow:
        - admin.apikeys:read
      parameters:
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/KeysResponseList'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
    post:
      summary: Create API Key
      description: 'Create an API key with certain scopes, name, description, allowed IP addresses and CIDR blocks, and expiration.

        The `description` and `allowedIPs` fields are optional.'
      tags:
      - API Keys
      - Umbrella
      operationId: createAPIKeys
      security:
      - oauthFlow:
        - admin.apikeys:create
      requestBody:
        $ref: '#/components/requestBodies/KeysRequest'
      responses:
        '201':
          $ref: '#/components/responses/KeyResponseWithSecret'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '409':
          $ref: '#/components/responses/alreadyExistsError'
        '415':
          $ref: '#/components/responses/unsupportedMediaError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
  /apiKeys/{apiKeyId}:
    get:
      summary: Get API Key
      description: Get an API key.
      tags:
      - API Keys
      - Umbrella
      operationId: getAPIKey
      parameters:
      - $ref: '#/components/parameters/apiKeyId'
      security:
      - oauthFlow:
        - admin.apikeys:read
      responses:
        '200':
          $ref: '#/components/responses/KeyResponse'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
    delete:
      summary: Delete API Key
      description: Delete an API key.
      tags:
      - API Keys
      - Umbrella
      operationId: deleteAPIKey
      parameters:
      - $ref: '#/components/parameters/apiKeyId'
      security:
      - oauthFlow:
        - admin.apikeys:delete
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
    patch:
      summary: Update API Key
      description: Update the name, description, scopes, and allowed IPs for an API key.
      tags:
      - API Keys
      - Umbrella
      operationId: patchAPIKey
      parameters:
      - $ref: '#/components/parameters/apiKeyId'
      security:
      - oauthFlow:
        - admin.apikeys:update
      requestBody:
        $ref: '#/components/requestBodies/KeyRequestPatch'
      responses:
        '200':
          $ref: '#/components/responses/KeyResponse'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '415':
          $ref: '#/components/responses/unsupportedMediaError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
  /apiKeys/{apiKeyId}/refresh:
    post:
      summary: Refresh API Key
      description: Refresh the API key and secret.
      operationId: refreshApiKey
      tags:
      - API Keys
      - Umbrella
      security:
      - oauthFlow:
        - admin.apikeys:refresh
      parameters:
      - $ref: '#/components/parameters/apiKeyId'
      responses:
        '200':
          $ref: '#/components/responses/KeyResponseRefreshSecret'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '415':
          $ref: '#/components/responses/unsupportedMediaError'
        '503':
          $ref: '#/components/responses/serviceUnavailableError'
        default:
          $ref: '#/components/responses/invalidRequestError'
components:
  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:
    apiKeyId:
      in: path
      name: apiKeyId
      required: true
      description: The ID of the API key.
      schema:
        type: string
      example: 39b18499-4cf3-470d-997b-960e55ee0085
    offset:
      in: query
      name: offset
      description: The place to start reading in the collection. The default offset is 0.
      schema:
        type: integer
        format: int64
        default: 0
      example: 1
    limit:
      in: query
      name: limit
      description: The number of items to return in the page. The default limit is 0, which designates no limit.
      schema:
        type: integer
        format: int64
        default: 0
      example: 25
  securitySchemes:
    oauthFlow:
      type: oauth2
      description: client credential flow
      flows:
        clientCredentials:
          tokenUrl: https://api.umbrella.com/auth/v2/token
          scopes:
            admin.apikeys:create: Create admin API keys
            admin.apikeys:read: Read admin API keys
            admin.apikeys:delete: Delete admin API keys
            admin.apikeys:update: Update admin API keys
            admin.apikeys:refresh: Refresh admin API keys
  responses:
    KeyResponse:
      description: OK
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: Successfully created an API key.
            properties:
              message:
                type: string
                description: The status message that describes the response.
              key:
                $ref: '#/components/schemas/Key'
          example:
            message: success
            key:
              name: Networks RW
              id: 39b18499-4cf3-470d-997b-960e55ee0085
              clientId: '1023845394834890324032948234'
              creatorKeyId: ''
              creatorName: Name of API key creator
              creatorEmail: yourname@cisco.com
              createdAt: '2021-10-02T20:00:00Z'
              description: An API key to create and modify network deployments.
              expireAt: 2022-01-12T20:00:00Z00:00
              lastUsedAt: '2021-10-05T19:34:00Z'
              modifiedAt: '2021-10-02T20:00:00Z'
              lastRefreshedAt: '2021-10-02T20:00:00Z'
              scopes:
              - deployments.networks:read
              - deployments.networks:write
              allowedIPs:
              - 2001:420:c0c4:1006::427
              - 143.10.10.0/24
    KeyResponseWithSecret:
      description: Created
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: Successfully created an API key.
            properties:
              message:
                type: string
                description: The status message that describes the response.
                enum:
                - success
                - error
                example: success
              key:
                $ref: '#/components/schemas/KeyWithSecret'
          example:
            message: success
            key:
              name: Networks RW
              id: 39b18499-4cf3-470d-997b-960e55ee0085
              clientId: '1023845394834890324032948234'
              clientSecret: '1023845394834890324032948233'
              creatorKeyId: 130eec4c3825463e8d06f1dd9c0b2c19
              creatorName: ''
              creatorEmail: ''
              createdAt: '2022-10-02T20:00:00Z'
              description: An API key to create and modify network deployments.
              expireAt: ''
              lastUsedAt: '2022-10-05T19:34:00Z'
              modifiedAt: '2022-10-02T20:00:00Z'
              lastRefreshedAt: '2022-10-05T20:00:00Z'
              scopes:
              - deployments.networks:read
              - deployments.networks:write
    KeyResponseRefreshSecret:
      description: OK
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: Successfully refreshed an API key.
            properties:
              message:
                type: string
                description: The status message that describes the response.
                enum:
                - success
                - error
                example: success
              key:
                $ref: '#/components/schemas/KeyRefreshSecret'
          example:
            message: success
            key:
              name: Networks RW
              id: 39b18499-4cf3-470d-997b-960e55ee0085
              clientId: '1023845394834890324032948234'
              clientSecret: '1023845394834890324032948233'
              creatorKeyId: 130eec4c3825463e8d06f1dd9c0b2c19
              creatorName: ''
              creatorEmail: ''
              createdAt: '2022-10-02T20:00:00Z'
              description: An API key to create and modify network deployments.
              expireAt: ''
              lastUsedAt: '2022-10-05T19:34:00Z'
              modifiedAt: '2022-10-02T20:00:00Z'
              lastRefreshedAt: '2022-10-05T20:00:00Z'
              scopes:
              - deployments.networks:read
              - deployments.networks:write
    KeysResponseList:
      description: OK
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: List the key information.
            properties:
              message:
                type: string
                example: success
                enum:
                - success
                - error
                description: The status message that describes the response.
              offset:
                type: integer
                format: int64
                description: The place to start reading in the collection. The default offset is 0.
                example: 1
              limit:
                type: integer
                format: int64
                description: 'The number of items to return in the page. The default limit is 0, which

                  designates no limit.'
                example: 10
              total:
                type: integer
                format: int64
                example: 1
                description: The total number of items read in the collection.
              keys:
                type: array
                items:
                  $ref: '#/components/schemas/KeyForList'
          example:
            message: success
            offset: 0
            limit: 100
            total: 40
            keys:
            - id: 39b18499-4cf3-470d-997b-960e55ee0085
              creatorName: Name of the API key creator
              creatorEmail: yourname@cisco.com
              createdAt: '2021-10-02T20:00:00'
              description: An API key to create and modify network deployments.
              expireAt: 2022-01-12T20:00:00Z00:00
              lastUsedAt: '2021-10-05T19:34:00'
              modifiedAt: '2021-10-02T20:00:00'
              lastRefreshedAt: '2021-10-02T20:00:00Z'
              scopes:
              - deployments.networks:read
              - deployments.networks:write
    invalidRequestError:
      description: Bad Request
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              description:
                type: string
            example:
              message: error
              description: Bad Request
    unauthorizedError:
      description: Unauthorized
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
        WWW-Authenticate:
          schema:
            type: string
          description: A challenge response for the intended resource.
      content:
        application/json:
          schema:
            type: object
            description: The request is not authorized.
            properties:
              message:
                type: string
                example: success
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Unauthorized request
    forbiddenError:
      description: Forbidden
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: The request is forbidden.
            properties:
              message:
                type: string
                example: success
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Forbidden
    serviceUnavailableError:
      description: Service Unavailable
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: The request failed because a dependent service is temporarily unavailable.
            properties:
              message:
                type: string
                example: error
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Service Unavailable
    alreadyExistsError:
      description: Already Exists
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: The request failed because the `APIKey` with that `name` already exists.
            properties:
              message:
                type: string
                example: error
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Already Exists
    notFoundError:
      description: Not Found
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: The request failed because the resource doesn't exist.
            properties:
              message:
                type: string
                example: error
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Not Found
    unsupportedMediaError:
      description: Unsupported Media Type
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
        Date:
          $ref: '#/components/headers/Date'
      content:
        application/json:
          schema:
            type: object
            description: The request failed because the Content-Type was not an allowed media type.
            properties:
              message:
                type: string
                example: error
                enum:
                - success
                - error
              description:
                type: string
            example:
              message: error
              description: Unsupported Media Type
  requestBodies:
    KeysRequest:
      description: Request body for creating an API key.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                $ref: '#/components/schemas/name'
              description:
                $ref: '#/components/schemas/description'
              scopes:
                $ref: '#/components/schemas/scopes'
              expireAt:
                type: string
                description: 'The date and time when the key is set to expire. Specify an ISO 8601-formatted timestamp or

                  an empty string (`''''`). Use an empty string to set the API key to never expire.

                  '
              allowedIPs:
                $ref: '#/components/schemas/allowedIPs'
            required:
            - name
            - scopes
          example:
            name: Network RW
            scopes:
            - deployments.networks:write
            description: An API key to create and modify network deployments.
    KeyRequestPatch:
      description: Request body for updating an API key.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                $ref: '#/components/schemas/name'
              description:
                $ref: '#/components/schemas/description'
              scopes:
                $ref: '#/components/schemas/scopes'
              allowedIPs:
                $ref: '#/components/schemas/allowedIPs'
            required:
            - name
            - scopes
          example:
            name: Network RW
            scopes:
            - deployments.networks:write
            description: An API key to create and modify network deployments.
            allowedIPs:
            - 2001:420:c0c4:1006::427
            - 143.10.10.0/24
  schemas:
    name:
      description: The unique descriptive label for the API key.
      type: string
      pattern: ^[a-zA-Z0-9:.-_+=\s]+$
      maxLength: 256
      example: Network deployments
    description:
      type: string
      maxLength: 256
      description: The text that describes the purpose of the API key.
      example: An API key to create and modify network deployments.
    allowedIPs:
      type: array
      description: The list of public IP addresses and CIDR blocks that can make API requests with the API key.
      items:
        type: string
        description: An IP address that can make API requests with the API key.
        example: 2001:420:c0c4:1006::427
      example:
      - 2001:420:c0c4:1006::427
    createdAt:
      type: string
      format: date-time
      description: The date and time when the key was created, specified in the ISO 8601 format.
      example: '2021-10-02T20:00:00Z'
    expireAt:
      type: string
      description: 'The date and time when the key is set to expire. The timestamp is specified as an ISO 8601 formatted string,

        or an empty string (`''''`).  An empty string indicates that the key never expires.

        '
      example: '2022-10-02T20:00:00Z'
    modifiedAt:
      type: string
      format: date-time
      description: The date and time when the key was updated, specified in the ISO 8601 format.
      example: '2021-11-02T20:00:00Z'
    lastUsedAt:
      type: string
      format: date-time
      description: The date and time when the key was last used, specified in the ISO 8601 format.
      example: '2021-10-02T20:00:00'
    lastRefreshedAt:
      type: string
      format: date-time
      description: The date and time when the key was last refreshed, specified in the ISO 8601 format.
      example: '2021-12-02T20:00:00Z'
    scopes:
      type: array
      description: A list of scopes and permissions attached to the API key.
      items:
        type: string
      example:
      - deployments.networks:read
      - deployments.networks:write
    id:
      type: string
      description: A unique identifier for the key.
      example: 39b18499-4cf3-470d-997b-960e55ee0085
    clientId:
      type: string
      description: 'The client ID associated with the API key. The client ID is used with the client secret to attain a token
        for making API calls.

        '
      example: '1023845394834890324032948234'
    clientSecret:
      type: string
      description: 'The client secret. The client secret is used with the client ID to attain a token for making API calls.

        '
      example: '1023845394834890324032948233'
    creatorKeyId:
      type: string
      description: The ID of the KeyAdmin key that generated the key.
      example: 130eec4c3825463e8d06f1dd9c0b2c19
    creatorName:
      type: string
      description: The name of the user who created the key.
      example: The name of API key creator.
    creatorEmail:
      type: string
      description: The email address of the user who created the key.
      example: yourname@cisco.com
    Key:
      type: object
      description: The API key information.
      properties:
        name:
          $ref: '#/components/schemas/name'
        id:
          $ref: '#/components/schemas/id'
        clientId:
          $ref: '#/components/schemas/clientId'
        creatorKeyId:
          $ref: '#/components/schemas/creatorKeyId'
        creatorName:
          $ref: '#/components/schemas/creatorName'
        creatorEmail:
          $ref: '#/components/schemas/creatorEmail'
        createdAt:
          $ref: '#/components/schemas/createdAt'
        description:
          $ref: '#/components/schemas/description'
        expireAt:
          $ref: '#/components/schemas/expireAt'
        modifiedAt:
          $ref: '#/components/schemas/modifiedAt'
        lastUsedAt:
          $ref: '#/components/schemas/lastUsedAt'
        lastRefreshedAt:
          $ref: '#/components/schemas/lastRefreshedAt'
        scopes:
          $ref: '#/components/schemas/scopes'
        allowedIPs:
          $ref: '#/components/schemas/allowedIPs'
      required:
      - id
      - creatorName
      - creatorEmail
      - createdAt
      - expireAt
      - modifiedAt
      - lastUsedAt
      - lastRefreshedAt
      - scopes
      example:
        name: Networks RW
        id: 39b18499-4cf3-470d-997b-960e55ee0085
        clientId: '1023845394834890324032948234'
        creatorName: Name of API key creator
        creatorEmail: yourname@cisco.com
        createdAt: '2021-10-02T20:00:00Z'
        description: An API key to create and modify network deployments.
        expireAt: '2023-12-05T19:34:00Z'
        lastUsedAt: '2021-10-05T19:34:00Z'
        modifiedAt: '2021-10-02T20:00:00Z'
        lastRefreshedAt: '2021-10-02T20:00:00Z'
        scopes:
        - deployments.networks:read
        - deployments.networks:write
        allowedIPs:
        - 2001:420:c0c4:1006::427
        - 143.10.10.0/24
    KeyForList:
      type: object
      description: The API key information.
      properties:
        name:
          $ref: '#/components/schemas/name'
        id:
          $ref: '#/components/schemas/id'
        clientId:
          $ref: '#/components/schemas/clientId'
        creatorKeyId:
          $ref: '#/components/schemas/creatorKeyId'
        creatorName:
          $ref: '#/components/schemas/creatorName'
        creatorEmail:
          $ref: '#/components/schemas/creatorEmail'
        createdAt:
          $ref: '#/components/schemas/createdAt'
        description:
          $ref: '#/components/schemas/description'
        expireAt:
          $ref: '#/components/schemas/expireAt'
        modifiedAt:
          $ref: '#/components/schemas/modifiedAt'
        lastUsedAt:
          $ref: '#/components/schemas/lastUsedAt'
        lastRefreshedAt:
          $ref: '#/components/schemas/lastRefreshedAt'
        scopes:
          $ref: '#/components/schemas/scopes'
      required:
      - id
      - creatorName
      - creatorEmail
      - createdAt
      - expireAt
      - modifiedAt
      - lastUsedAt
      - lastRefreshedAt
      - scopes
      example:
        name: Networks RW
        id: 39b18499-4cf3-470d-997b-960e55ee0085
        clientId: '1023845394834890324032948234'
        creatorName: Name of API key creator
        creatorEmail: yourname@cisco.com
        createdAt: '2021-10-02T20:00:00Z'
        description: An API key to create and modify network deployments.
        expireAt: '2023-12-05T19:34:00Z'
        lastUsedAt: '2021-10-05T19:34:00Z'
        modifiedAt: '2021-10-02T20:00:00Z'
        lastRefreshedAt: '2021-10-02T20:00:00Z'
        scopes:
        - deployments.networks:read
        - deployments.networks:write
    KeyWithSecret:
      type: object
      description: The API key information including the client id and secret.
      properties:
        name:
          $ref: '#/components/schemas/name'
        id:
          $ref: '#/components/schemas/id'
        clientId:
          $ref: '#/components/schemas/clientId'
        clientSecret:
          $ref: '#/components/schemas/clientSecret'
        creatorKeyId:
          $ref: '#/components/schemas/creatorKeyId'
        creatorName:
          $ref: '#/components/schemas/creatorName'
        creatorEmail:
          $ref: '#/components/schemas/creatorEmail'
        createdAt:
          $ref: '#/components/schemas/createdAt'
        description:
          $ref: '#/components/schemas/description'
        expireAt:
          $ref: '#/components/schemas/expireAt'
        modifiedAt:
          $ref: '#/components/schemas/modifiedAt'
        lastUsedAt:
          $ref: '#/components/schemas/lastUsedAt'
        lastRefreshedAt:
          $ref: '#/components/schemas/lastRefreshedAt'
        scopes:
          $ref: '#/components/schemas/scopes'
        allowedIPs:
          $ref: '#/components/schemas/allowedIPs'
      required:
      - id
      - clientId
      - clientSecret
      - creatorName
      - creatorEmail
      - createdAt
      - expireAt
      - modifiedAt
      - lastUsedAt
      - lastRefreshedAt
      - scopes
      example:
        name: Networks RW
        id: 39b18499-4cf3-470d-997b-960e55ee0085
        clientId: '1023845394834890324032948234'
        clientSecret: '1023845394834890324032948233'
        creatorKeyId: 130eec4c3825463e8d06f1dd9c0b2c19
        creatorName: Name of API key creator
        creatorEmail: ''
        createdAt: '2021-10-02T20:00:00Z'
        description: An API key to create and modify network deployments.
        expireAt: '2022-01-12T20:00:00Z'
        lastUsedAt: '2021-10-05T19:34:00Z'
        modifiedAt: '2021-10-02T20:00:00Z'
        lastRefreshedAt: '2021-10-02T20:00:00Z'
        scopes:
        - deployments.networks:read
        - deployments.networks:write
        allowedIPs:
        - 2001:420:c0c4:1006::427
    KeyRefreshSecret:
      type: object
      description: The API key information including the client id and secret.
      properties:
        name:
          $ref: '#/components/schemas/name'
        id:
          $ref: '#/components/schemas/id'
        clientId:
          $ref: '#/components/schemas/clientId'
        clientSecret:
          $ref: '#/components/schemas/clientSecret'
        creatorKeyId:
          $ref: '#/components/schemas/creatorKeyId'
        creatorName:
          $ref: '#/components/schemas/creatorName'
        creatorEmail:
          $ref: '#/components/schemas/creatorEmail'
        createdAt:
          $ref: '#/components/schemas/createdAt'
        description:
          $ref: '#/components/schemas/description'
        expireAt:
          $ref: '#/components/schemas/expireAt'
        modifiedAt:
          $ref: '#/components/schemas/modifiedAt'
        lastUsedAt:
          $ref: '#/components/schemas/lastUsedAt'
        lastRefreshedAt:
          $ref: '#/components/schemas/lastRefreshedAt'
        scopes:
          $ref: '#/components/schemas/scopes'
      required:
      - id
      - clientId
      - clientSecret
      - creatorName
      - creatorEmail
      - createdAt
      - expireAt
      - modifiedAt
      - lastUsedAt
      - lastRefreshedAt
      - scopes
      example:
        name: Networks RW
        id: 39b18499-4cf3-470d-997b-960e55ee0085
        clientId: '1023845394834890324032948234'
        clientSecret: '1023845394834890324032948233'
        creatorKeyId: 130eec4c3825463e8d06f1dd9c0b2c19
        creatorName: Name of API key creator
        creatorEmail: ''
        createdAt: '2021-10-02T20:00:00Z'
        description: An API key to create and modify network deployments.
        expireAt: '2022-01-12T20:00:00Z'
        lastUsedAt: '2021-10-05T19:34:00Z'
        modifiedAt: '2021-10-02T20:00:00Z'
        lastRefreshedAt: '2021-10-02T20:00:00Z'
        scopes:
        - deployments.networks:read
        - deployments.networks:write
x-provenance:
  method: harvested
  first_party: true
  harvested: '2026-08-19'
  source: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/reference/admin/key-admin.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/admin/key-admin.yaml
  http_status: 200
  docs: https://developer.cisco.com/docs/cloud-security/