openapi: 3.0.0
info:
  title: Cisco Defense Orchestrator API
  description: defaultDescription
  contact: {}
  version: '1.0'
servers:
- url: https://edge.eu.cdo.cisco.com
  variables: {}
paths:
  /api/public:
    post:
      summary: PostRequest
      description: Used for all calls
      operationId: PostRequest
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPublicRequest'
              - example:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      createChangeRequest(input: {name: "<Enter a name>", description: "<Enter an optional description>"}) {
                        uid
                        description
                        name
                        createdDate
                        lastUpdatedDate
                      }
                      updateChangeRequest(input: {uid: "<Enter uid of existing change request to update>", description: "<Enter new description to give change request>"}) {
                        uid
                        description
                        name
                        createdDate
                        lastUpdatedDate
                      }
                      deleteChangeRequest(uid: "<Enter uid of existing change request to delete>")
                      clearActiveChangeRequest
                      setActiveChangeRequest(name: "<Enter name of change request to set as active>")
                    }
            examples:
              '0':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      createChangeRequest(input: {name: "<Enter a name>", description: "<Enter an optional description>"}) {
                        uid
                        description
                        name
                        createdDate
                        lastUpdatedDate
                      }
                      updateChangeRequest(input: {uid: "<Enter uid of existing change request to update>", description: "<Enter new description to give change request>"}) {
                        uid
                        description
                        name
                        createdDate
                        lastUpdatedDate
                      }
                      deleteChangeRequest(uid: "<Enter uid of existing change request to delete>")
                      clearActiveChangeRequest
                      setActiveChangeRequest(name: "<Enter name of change request to set as active>")
                    }
              '1':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    {
                      activeChangeRequest
                      changeRequests(limit: 5, sortField: CREATED_DATE, sortOrder: ASC) {
                        metadata {
                          count
                        }
                        items {
                          uid
                          name
                          description
                          createdDate
                          lastUpdatedDate
                        }
                      }
                    }
              '2':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      updateTenantSettings(input: {enableChangeRequestTracking: true, autoAcceptDeviceChanges: true, allowDeploymentScheduling: true, preventCiscoSupportFromViewingTenant: false}) {
                        uid
                        enableChangeRequestTracking
                        lastUpdatedDate
                        preventCiscoSupportFromViewingTenant
                        autoDetectRuleSets
                        autoAcceptDeviceChanges
                        allowDeploymentScheduling
                      }
                    }
              '3':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    {
                      tenantSettings {
                        uid
                        enableChangeRequestTracking
                        lastUpdatedDate
                        preventCiscoSupportFromViewingTenant
                        autoDetectRuleSets
                        autoAcceptDeviceChanges
                        allowDeploymentScheduling
                      }
                    }
              '4':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      updateNetworkObject(baseInput: {uid: "<Enter the uid of the Object you want to update>"}, ipAddressRangeInput: {start: "6.9.6.9", end: "9.6.9.7"}) {
                        name
                        uid
                        objectType
                        description
                        details {
                          ... on NetworkDetailsIpEq {
                            value
                          }
                          ... on NetworkDetailsIpRange {
                            start
                            end
                          }
                        }
                      }
                      createNetworkObject(baseInput: {name: "I <3 CDO", deviceType: FTD}, ipAddressEqInput: {value: "1.1.1.1"}) {
                        name
                        uid
                        objectType
                        details {
                          ... on NetworkDetailsIpEq {
                            value
                          }
                          ... on NetworkDetailsIpRange {
                            start
                            end
                          }
                        }
                      }
                    }
              '5':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      updateNetworkGroup(baseInput: {uid: "<Enter uid of existing Object to update>", name: "<Enter a name>", description: "<Enter a description>"}, networkGroupInput: {ipAddresses: [{value: "6.9.6.9"}, {value: "7.0.0.0"}], objectReferences: [{uid: "<Enter the uid of another network group (or object) here>", name: "<Enter the name of that Object here>", type: NETWORK_GROUP}]}) {
                        name
                        uid
                        description
                        details {
                          ... on NetworkDetailsIpEq {
                            value
                          }
                          ... on NetworkDetailsIpRange {
                            start
                            end
                          }
                          ... on NetworkGroupDetails {
                            items {
                              ... on NetworkDetailsBase {
                                wildcardMask
                              }
                              ... on NetworkDetailsIpEq {
                                value
                              }
                              ... on ObjectReferenceDetails {
                                name
                                uid
                                type
                              }
                            }
                          }
                        }
                      }
                    }
              '6':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    mutation {
                      createNetworkGroup(baseInput: {name: "some-device-name", deviceType: ASA}, networkGroupInput: {ipAddresses: [{value: "6.9.6.9"}, {value: "7.9.7.9"}], objectReferences: [{uid: "<Enter the uid of another network group (or object) here>", name: "<Enter the name of that Object here>", type: NETWORK_GROUP}]}) {
                        name
                        uid
                        details {
                          ... on NetworkDetailsIpEq {
                            value
                          }
                          ... on NetworkDetailsIpRange {
                            start
                            end
                          }
                          ... on NetworkGroupDetails {
                            items {
                              ... on ObjectReferenceDetails {
                                name
                                uid
                              }
                              ... on NetworkDetailsIpEq {
                                value
                              }
                            }
                          }
                        }
                      }
                    }
              '7':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    {
                      changelog(sortField: LAST_UPDATED, sortOrder: ASC, changeStatus: [COMPLETED], dateRange: {start: 1593017544000}) {
                        metadata {
                          count
                        }
                        items {
                          uid
                          deviceName
                          lastUpdated
                          lastUser
                          lastDescription
                          changeStatus
                          deviceUid
                          events {
                            class
                            action
                            user
                            objectReference {
                              uid
                              type
                              namespace
                            }
                            details {
                              class
                              description
                              diff
                            }
                            eventDate
                            changeType
                          }
                        }
                      }
                    }
              '8':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    {
                      devices(limit: 50, sortField: NAME, deviceType: [FIREPOWER, ASA, FTD]) {
                        metadata {
                          count
                        }
                        items {
                          softwareVersion
                          name
                          uid
                          isModel
                          conflictDetectionState
                          ipv4
                          deviceType
                          serial
                          configurationStatus
                          interfaces
                          connectivityState
                          highAvailability
                          specificDevice {
                            namespace
                            ... on FtdSpecificDevice {
                              uid
                            }
                            ... on AsaSpecificDevice {
                              uid
                              type
                              vpnId
                            }
                            ... on MerakiSpecificDevice {
                              uid
                              type
                            }
                            ... on AwsSpecificDevice {
                              vpcId
                              region
                            }
                          }
                        }
                      }
                    }
              '9':
                value:
                  operationName: null
                  variables: {}
                  query: >
                    {
                      objects(limit: 100, objectType: [NETWORK_GROUP, NETWORK_OBJECT], offset: 0, sortOrder: DESC, sortField: OBJECT_TYPE) {
                        metadata {
                          count
                        }
                        items {
                          name
                          uid
                          objectType
                          description
                          details {
                            ... on NetworkDetailsBase {
                              wildcardMask
                            }
                            ... on NetworkDetailsIpEq {
                              value
                            }
                            ... on NetworkDetailsIpRange {
                              start
                              end
                            }
                            ... on NetworkGroupDetails {
                              items {
                                ... on ObjectReferenceDetails {
                                  uid
                                  name
                                  type
                                }
                                ... on NetworkDetailsIpEq {
                                  value
                                }
                              }
                            }
                          }
                        }
                      }
                    }
        required: false
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
components:
  schemas:
    ApiPublicRequest:
      title: ApiPublicRequest
      type: object
      properties:
        variables:
          type: object
        query:
          type: string
        operationName: {}
tags: []
