Cisco Crosswork Collection Service API

The CollectionService API from Cisco Crosswork — 9 operation(s) for collectionservice.

Operations 10

DELETE /crosswork/collection/v1/collectionjob DeleteCollectionJob API DeleteCollectionJob is used to mark an collection job for deletion within collection based on Application Context. Collection Service will clean up associat #
PUT /crosswork/collection/v1/collectionjob CreateCollectionJob API This API allows you to a create an collection job for a devcice set. An application sends a request for list of sensor paths where path identified by a YANG #
POST /crosswork/collection/v1/collectionjob/config/query GetCollectionJobConfig API GetConfiguration GetCollectionJobConfig can be used track the configuration request within Collection Service API. It will return all sensor configuratio #
POST /crosswork/collection/v1/collectionjob/controlstatus/query GetCollectionControlStatusPerDevice API Detailed Granular view of each device within a job for control status GetCollectionControlStatusPerDevice can be used track a control status #
POST /crosswork/collection/v1/collectionjob/count/query Get job count in system,along with list of input count,output count,error count per collection job if collection job application context is passed. If application context is not pa #
POST /crosswork/collection/v1/collectionjob/datametrics/query GetCollectionDataMetricsPerDevice API Detailed Granular view of each device within a job for data metrics Returns the data metrics from per device per sensor basis . Only last repo #
POST /crosswork/collection/v1/collectionjob/datastatus/query GetCollectionDataStatusPerDevice API Detailed Granular view of each device within a job for data status Returns the data status from per device per sensor basis . Only last reporte #
POST /crosswork/collection/v1/collectionjob/state/query Returns the overall state of the collection job based on counters. #
POST /crosswork/collection/v1/collectionjob/summary/query GetCollectionJobSummary API GetCollectionJobSummary can be used track a operational state request within Collection Service API. It indicates current status i.e, READY , NOT_READY, #
POST /crosswork/collection/v1/resource/inuse/query Returns whether a Resource is in use . Currently supported resource is Destination id. Internal use only #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cisco-crosswork-collectionservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

cisco-crosswork-collectionservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Crosswork Collection Service API
  contact:
    name: Crosswork Team, Cisco
    email: support@cisco.com
  license:
    name: Cisco Software License Agreement
    url: http://www.cisco.com/public/sw-license-agreement.html
  version: '4.0'
  description: The collection service API allows an application to control collection jobs across different collection types on a device or a device group within Crosswork. This could be different collect types such as MDT,SNMP,CLI.
  x-provenance:
    method: harvested
    authored_by: Cisco Crosswork
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://github.com/CiscoDevNet/crosswork-openapi-spec/blob/master/NCAHI/4.0APIs/collection_service.swagger.json
  - type: raw
    url: https://raw.githubusercontent.com/CiscoDevNet/crosswork-openapi-spec/master/NCAHI/4.0APIs/collection_service.swagger.json
tags:
- name: CollectionService
paths:
  /crosswork/collection/v1/collectionjob:
    delete:
      summary: 'DeleteCollectionJob API

        DeleteCollectionJob is used to mark an collection job for deletion within collection based on Application Context.

        Collection Service will clean up associated sensor configs on collectors or devices in asynchronously.

        GetCollectionJobSummary can be used to track the progress and phase of the deletion. An Collection Job marked for deletion

        will move from ACTIVE phase to TERMINATING phase , on successful termination , AppContext will be deleted from the

        Collection service, if not CollectionJob will enter TERMINATION_FAILED phase ;Deletion can be tried again from

        TERMINATION_FAILED phase where in it will move to TERMINATING phase.'
      operationId: DeleteCollectionJob
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceDeleteCollectionJobResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceDeleteCollectionJobRequest'
        required: true
    put:
      summary: 'CreateCollectionJob API

        This API allows you to a create an collection job for a devcice set. An application sends a request for list of sensor paths

        where path identified by a YANG model i.e, it could be native YANG path for the device such as

        "Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/data-rate" where the path identifies the

        device OS type and YANG model on the device or  SNMP YANG path such as "SNMPv2-MIB:SNMPv2-MIB/system/sysName" or

        OID:1.2.3.4 or CLI command such as "show clock" or Trap yang path "snmp-trap-raw-oper:traps/data"or Syslog path or

        GNMI path in addition to cadence for push or poll .

        The cadence that is specified in this request

        can be over written by another application and is open to optimization, if other applications also request the same

        path. CreateCollectionJob does a set of sensor paths configs within collection service based on application context

        on a bunch of devices or a single device group. ApplicationContext is expected to be globally unique.

        An application context could only be associated with one CollectType at a time. Recreation of application context

        in NOT_READY state or TERMINATING or TERMINATION_FAILED phase will result in failure.Collection service tries its

        best meet the lowest common denominator for cadence on a requested path across all services. A collection job''s

        collect type and device set is immutable once it is accepted into the system, on successive create calls, which results.

        in update unless DeleteCollectionJob is done. User is responsible for specifying for proper paths associated with

        collect type.

        - DeviceId: Uuid of Device as specified in DLM

        - DeviceGroup : Device tags as specified in DLM'
      operationId: CreateCollectionJob
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceCreateCollectionJobResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceCreateCollectionJobRequest'
        required: true
  /crosswork/collection/v1/collectionjob/config/query:
    post:
      summary: "GetCollectionJobConfig API\nGetConfiguration\nGetCollectionJobConfig can be used track the configuration request within Collection Service API. It will\nreturn all sensor configuration and device set with their destinations.\n Application context is optional"
      operationId: GetCollectionJobConfig
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionJobConfigResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionJobConfigRequest'
        required: true
  /crosswork/collection/v1/collectionjob/controlstatus/query:
    post:
      summary: 'GetCollectionControlStatusPerDevice API

        Detailed Granular view of each device within a job for control status

        GetCollectionControlStatusPerDevice can be used track a control status within Collection Service API over list of devices a job spans

        over. It indicates control path state on per device per sensor has been successfully setup within helios or not.

        Application context or device id is must  for this API'
      operationId: GetCollectionControlStatusPerDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionControlStatusResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionControlStatusRequest'
        required: true
  /crosswork/collection/v1/collectionjob/count/query:
    post:
      summary: 'Get job count in system,along with list of input count,output count,error count per collection job if

        collection job application context is passed. If application context is not passed , it will return

        over all count of input,output,error in system across all collection jobs.'
      operationId: GetCollectionJobCount
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionJobCountResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionJobCountRequest'
        required: true
  /crosswork/collection/v1/collectionjob/datametrics/query:
    post:
      summary: "GetCollectionDataMetricsPerDevice API\nDetailed Granular view of each device within a job for data metrics\nReturns the data metrics from per device per sensor basis . Only last reported values is retained.\nThe metrics is driven is pushed on a cadence basis in the backend. Its on per device per sensor basis with input metrics from device to collector,\noutput metrics from collector to  destinations.If the collector does not any status , it might be an empty response.\n Application context or device id is must  for this API"
      operationId: GetCollectionDataMetricsPerDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionDataMetricsResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionDataMetricsRequest'
        required: true
  /crosswork/collection/v1/collectionjob/datastatus/query:
    post:
      summary: "GetCollectionDataStatusPerDevice API\nDetailed Granular view of each device within a job for data status\nReturns the data status from per device per sensor basis .  Only last reported values is retained.\nThe status is driven by on change notification in the backend. Its on per device per sensor basis whether collection took place from device to collector,\nwhether write took place from collector to  destinations. If anything failed in input or output, you would see\nerror describing the failure and state.If the collector does not any status , it might be an empty response.\n Application context or device id is must  for this API"
      operationId: GetCollectionDataStatusPerDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionDataStatusResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionDataStatusRequest'
        required: true
  /crosswork/collection/v1/collectionjob/state/query:
    post:
      summary: Returns the overall state of the collection job based on counters.
      operationId: GetCollectionJobState
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionJobLifeCycleStateResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionJobLifeCycleStateRequest'
        required: true
  /crosswork/collection/v1/collectionjob/summary/query:
    post:
      summary: "GetCollectionJobSummary API\nGetCollectionJobSummary can be used track a operational state request within Collection Service API. It indicates current status\ni.e, READY , NOT_READY,FAILED .\nIf the Phase indicates\nTERMINATING or TERMINATION_FAILED no create/update operations can be performed on app context. If phase is\nTERMINATION_FAILED an app could retry to delete an Collection Job again. Once CollectionJob enters  TERMINATING or\nTERMINATION_FAILED phase , status of the Job is no longer relevant.\n Application context is optional"
      operationId: GetCollectionJobSummary
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetCollectionJobSummaryResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetCollectionJobSummaryRequest'
        required: true
  /crosswork/collection/v1/resource/inuse/query:
    post:
      summary: Returns whether a Resource is in use . Currently supported resource is Destination id. Internal use only
      operationId: GetIsResourceInUse
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collection_serviceGetIsResourceInUseResponse'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/collection_serviceGetIsResourceInUseRequest'
        required: true
components:
  schemas:
    gnmiPathElem:
      type: object
      properties:
        name:
          type: string
        key:
          type: object
          additionalProperties:
            type: string
      description: 'PathElem encodes an element of a gNMI path, along with any attributes (keys)

        that may be associated with it.

        Reference: gNMI Specification Section 2.2.2.'
    collection_serviceCollectionControlStatus:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          description: Unique handle to identify your application's collection job , serves as Key to Object on which CRUD ops are done.
        device_data:
          $ref: '#/components/schemas/collection_serviceDeviceData'
          title: 'Device Set on which operation was carried out. ** NOT A SET, might want to put id **

            Device data'
        status:
          $ref: '#/components/schemas/collection_serviceStatus'
          title: Current Status of the overall job i.e, READY,NOT_READY,FAILED
        phase:
          $ref: '#/components/schemas/collection_servicePhase'
          title: Current Phase of overall job, ACTIVE or TERMINATING
        sensor_config_committed:
          $ref: '#/components/schemas/collection_serviceSensorConfigCommitted'
          title: Sensor config committed based on optimization
        commit_state:
          $ref: '#/components/schemas/collection_serviceConfigurationCommitState'
          title: Indicates whether target state vs requested was converged on the device successfully across all jobs
        device_error:
          $ref: '#/components/schemas/collection_serviceError'
          title: Any processing error encountered during commit
      title: 'CollectionControlStatus  indicating success or failure on a per device basis for a given job

        ContextId : robot.collector.helios.collection.device.control.status'
    collection_serviceCollectionLifeCycleState:
      type: object
      properties:
        life_cycle_state:
          $ref: '#/components/schemas/collection_serviceLifeCycleState'
          description: The actual collection job lifetime cycle state.
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          description: The associated unique identifier for a given collection job.
        creation_time:
          type: string
          format: uint64
          description: The creation time (used as last modified time).
      description: CollectionState aggregate an application context to a State.
    collection_serviceCollectionDataMetrics:
      type: object
      properties:
        input_metrics_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceInputMetrics'
          title: Metrics per device per sensor on the input collection side
        output_metrics_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceOutputMetrics'
          title: Metrics per device per destination on the output collection side
      title: Collection Data Metrics
    collection_serviceGetCollectionJobLifeCycleStateRequest:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          description: Unique collection job(s) identifier.
        v_cdg_id:
          type: string
          description: Virtual CDG.
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          description: Pagination and other query options.
      description: 'GetCollectionJobStateRequest encapsulates requests for the lifetime cycle

        state of associated collection jobs.'
    collection_serviceSensorOutputConfig:
      type: object
      properties:
        sensor_data:
          $ref: '#/components/schemas/common_collection_dataSensorData'
          title: Sensor path, Every sensor path on the input side needs to have one mapping on the output side
        filter_profile_id:
          type: string
          description: Optional filter_profile_id, forward looking not used.
        destination:
          $ref: '#/components/schemas/collection_serviceDestination'
          description: Destinations a sensor data is written to.
      description: 'Sensor Output represents output of sensor to a destination for given sensor which is a topic on a message broker or

        GRPC server.'
    collection_serviceGetCollectionJobConfigResponse:
      type: object
      properties:
        collection_job_configuration_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceCollectionJobConfiguration'
          title: CollectionJobConfiguration contains configuration for device and sensors
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Pagination and other query options
        result:
          $ref: '#/components/schemas/collection_serviceResult'
          title: Sync Request reply , indicating whether request has accepted or rejected
      title: Returns a list of Collection Job Config
    common_collection_dataGnmiSensor:
      type: object
      properties:
        path:
          $ref: '#/components/schemas/gnmiPath'
          title: 'Gnmi path

            Example {"origin":"syslog-oper","elem":[{"name":"syslog"},{"name":"messages"}]}'
        mode:
          $ref: '#/components/schemas/gnmiSubscriptionMode'
          description: Subscription mode to be used.
        device_setting:
          $ref: '#/components/schemas/common_collection_dataGNMIDeviceSetting'
          title: Optional GNMI Device setting
      title: 'Reference: gNMI Specification Section 3.5.1.3'
    collection_serviceDeleteCollectionJobRequest:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          description: Unique handle to identify your application's collection job , serves as Key to Object on which CRUD ops are done.
    collection_serviceSensorInputConfigCommitted:
      type: object
      properties:
        sensor_data:
          $ref: '#/components/schemas/common_collection_dataSensorData'
          title: Sensor Path
        cadence_in_millisec:
          type: string
          format: uint64
          description: This is the cadence at which path is collected from device to collector post optimization across all apps.
    collection_serviceJobLifetimeType:
      type: string
      enum:
      - UNKNOWN_TEMPORAL_TYPE
      - APPLICATION_MANAGED
      - CALENDAR_MANAGED
      - AUTO_DELETE_AFTER_N_SAMPLES
      default: UNKNOWN_TEMPORAL_TYPE
      description: "- UNKNOWN_TEMPORAL_TYPE: Invalid Lifetime\n - APPLICATION_MANAGED: Create and Delete of Collection job is managed by Application\n - CALENDAR_MANAGED: Create and Delete of Collection job is managed by Calendaring service tied to a calendar schedule.\nNot Supported as of now.\n - AUTO_DELETE_AFTER_N_SAMPLES: Auto Delete of Collection job after N Collections."
      title: Types of job life times supported
    common_collection_dataSyslogSensor:
      type: object
      properties:
        pris:
          $ref: '#/components/schemas/SyslogSensorPRIs'
          title: List of priority levels
        application_names:
          type: array
          items:
            type: string
          title: 'Empty list will result in all syslog messages getting collected

            If multiple items are present in the same list type, as long as any one matches, messages would be collected.

            Optional list of ApplicationName''s to filter upon'
        process_names:
          type: array
          items:
            type: string
          description: 'Empty list will result in all syslog messages getting collected

            Optional list of  process_names to filter upon

            If multiple items are present in the same list type, as long as any one matches, messages would be collected.'
      title: 'Refer https://www.paessler.com/it-explained/syslog,https://datatracker.ietf.org/doc/rfc5424/

        Example if PRI is (165,111) , application_name is  (su,syslogd) all messages with PRI (165 or 111) and application

        name su or syslogd would be collected'
    collection_serviceFilterOperator:
      type: string
      enum:
      - UNKNOWN_OPERATOR
      - OPERATOR_OR
      - OPERATOR_AND
      - OPERATOR_EQ
      - OPERATOR_REGEX
      - OPERATOR_CONTAINS
      default: UNKNOWN_OPERATOR
      description: " - UNKNOWN_OPERATOR: unknown operator\n - OPERATOR_OR: OR operator filter applied across filter list\n - OPERATOR_AND: AND operator filter applied across filter list\n - OPERATOR_EQ: EQUAL operator filter applied across filter list. not supported yet.\n - OPERATOR_REGEX: REGEX operator filter applied across filter list. not supported yet.\n - OPERATOR_CONTAINS: CONTAINS operator filter applied across filter list. supported only for hostname."
    collection_serviceGetCollectionJobSummaryRequest:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          description: Unique handle to identify your application's collection job , serves as Key to Object on which CRUD ops are done.
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Query options
      description: 'Will return all collection job operational status summary if device_id is empty for given application context

        or will return on per device basis.'
    common_collection_dataGNMIDeviceSetting:
      type: object
      properties:
        suppress_redundant:
          type: boolean
          format: boolean
        heartbeat_interval:
          type: string
          format: uint64
          description: 'Specifies the maximum allowable silent period in nanoseconds when

            suppress_redundant is in use. The target should send a value at least once

            in the period specified.'
        qos:
          $ref: '#/components/schemas/gnmiQOSMarking'
        allow_aggregation:
          type: boolean
          format: boolean
        use_models:
          type: array
          items:
            $ref: '#/components/schemas/gnmiModelData'
          description: 'The set of schemas that define the elements of the data tree that should

            be sent by the target.'
        updates_only:
          type: boolean
          format: boolean
          description: 'An optional field to specify that only updates to current state should be

            sent to a client. If set, the initial state is not sent to the client but

            rather only the sync message followed by any subsequent updates to the

            current state. For ONCE and POLL modes, this causes the server to send only

            the sync message (Sec. 3.5.2.3).'
      title: Device settings that may or may not be supported for GNMI
    collection_serviceGetCollectionDataMetricsRequest:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          title: Application context
        device_data:
          $ref: '#/components/schemas/collection_serviceDeviceData'
          title: Device data
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Pagination and other query options
      title: GetCollectionDataMetricsRequest
    common_collection_dataSnmpSensor:
      type: object
      properties:
        snmp_mib:
          $ref: '#/components/schemas/common_collection_dataSnmpMib'
          title: Snmp mib
        device_package:
          $ref: '#/components/schemas/common_collection_dataDevicePackage'
          title: Total size  is limited to 512 characters
    collection_serviceOutputStatus:
      type: object
      properties:
        destination:
          $ref: '#/components/schemas/collection_serviceDestination'
          title: Destination
        device_data:
          $ref: '#/components/schemas/collection_serviceDeviceData'
          title: Device data
        sensor_data:
          $ref: '#/components/schemas/common_collection_dataSensorData'
          title: Sensor
        collection_status:
          $ref: '#/components/schemas/collection_serviceCollectionStatus'
          title: Output side  collection status per destination
      title: Collection output status
    collection_serviceSensorConfigCommitted:
      type: object
      properties:
        sensor_input_config_committed_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceSensorInputConfigCommitted'
        sensor_output_config_committed_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceSensorOutputConfigCommitted'
      description: SensorConfig describing cadence from input and output side along with destination.
    collection_serviceCollectionStatus:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/collection_serviceCollectionState'
          title: Object state
        error:
          $ref: '#/components/schemas/collection_serviceError'
          title: Error if any
        reported_time:
          type: string
          format: uint64
          title: Event time
      title: Operational status of collection
    collection_serviceResult:
      type: object
      properties:
        request_result:
          $ref: '#/components/schemas/collection_serviceRequestResult'
          description: ResultValue indicated accept/reject for a request, not the outcome of the work itself.
        error:
          $ref: '#/components/schemas/collection_serviceError'
          description: 'Message is a textual description of reason for rejection, and can be safely passed on to operator through logs

            or UI.'
      description: 'Result is used to convey whether an operation (individual or in a batch)

        has been accepted or rejected. For sync API''s an error or rejection indicates failure of operation.

        A string error message accompanies rejection to support troubleshooting. For notification objects,

        rejection represents failure to do intended operation.'
    gnmiModelData:
      type: object
      properties:
        name:
          type: string
        organization:
          type: string
        version:
          type: string
      title: 'ModelData is used to describe a set of schema modules. It can be used in a

        CapabilityResponse where a target reports the set of modules that it

        supports, and within the SubscribeRequest and GetRequest messages to specify

        the set of models from which data tree elements should be reported.

        Reference: gNMI Specification Section 3.2.3'
    collection_serviceGetCollectionJobSummaryResponse:
      type: object
      properties:
        collection_job_status_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceCollectionJobStatus'
          title: CollectionJobStatus represents current status of the job
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Pagination and other query options
        result:
          $ref: '#/components/schemas/collection_serviceResult'
          title: Sync Request reply , indicating whether request has accepted or rejected
    common_collection_dataDevicePackage:
      type: object
      properties:
        device_package_name:
          type: string
          title: XDE device package name
        function_name:
          type: string
          title: XDE function name within package
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/common_collection_dataKeyValue'
          title: Parameters for custom device packages
      title: XDE Device package
    collection_serviceCollectionState:
      type: string
      enum:
      - UNKNOWN_COLLECTION_STATE
      - ACTIVE_STATE
      - INACTIVE_STATE
      - ACCEPTED_STATE
      default: UNKNOWN_COLLECTION_STATE
      description: "- ACTIVE_STATE: Object is behaving as expected\n - INACTIVE_STATE: Object is in a bad state.\n - ACCEPTED_STATE: Object is under evaluation"
      title: Collection Operation states of an object
    collection_serviceGetCollectionJobLifeCycleStateResponse:
      type: object
      properties:
        collection_life_cycle_states:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceCollectionLifeCycleState'
          description: Requested states associated to a collection job unique identifier.
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          description: Pagination and other query options.
        result:
          $ref: '#/components/schemas/collection_serviceResult'
          description: 'Result reply to determine any possible issue with the request or honoring

            it.'
    collection_serviceQueryOptions:
      type: object
      properties:
        page_token:
          type: string
          title: 'Page token to echo back to get next page, if collection_job_device_sets is empty or page token is empty ,

            then there is no more results'
        page_size:
          type: integer
          format: int64
          title: page_size
        filter_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceFilter'
          title: filtering options
        filter_query:
          type: string
          title: Reserved for future use. Not used as of CW 3.1
      title: Query Options
    collection_serviceFilter:
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/collection_serviceFilterOperator'
          title: the filter logical or conditional operator ex. AND, OR, >, <
        field_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceFilterField'
          title: the filter criteria list
      title: Filter
    collection_serviceGetCollectionControlStatusRequest:
      type: object
      properties:
        application_context:
          $ref: '#/components/schemas/collection_serviceApplicationContext'
          title: CollectionJobConfiguration key
        device_data:
          $ref: '#/components/schemas/collection_serviceDeviceData'
          title: Device data
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Pagination and other query options
      title: GetCollectionControlStatusRequest
    common_collection_dataSnmpYangSensor:
      type: object
      properties:
        path:
          type: string
          title: Example SNMPv2-MIB:SNMPv2-MIB/system
    collection_serviceGetCollectionControlStatusResponse:
      type: object
      properties:
        collection_control_status_list:
          type: array
          items:
            $ref: '#/components/schemas/collection_serviceCollectionControlStatus'
          description: Status of job over a list of devices.
        query_options:
          $ref: '#/components/schemas/collection_serviceQueryOptions'
          title: Pagination and other query options
        result:
          $ref: '#/components/schemas/collection_serviceResult'
          title: Request reply , indicating whether request has accepted or rejected
      description: CollectionControlStatusDeviceResponse indicates the list of devices for which the job is successfully processed.
    common_collection_dataCliSensor:
      type: object
      properties:
        command:
          type: string
          title: Example show clock
        device_package:
          $ref: '#/components/schemas/common_collection_data

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-crosswork/refs/heads/main/openapi/cisco-crosswork-collectionservice-api-openapi.yml