Cisco Crosswork Collection Service API
The CollectionService API from Cisco Crosswork — 9 operation(s) for collectionservice.
The CollectionService API from Cisco Crosswork — 9 operation(s) for collectionservice.
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:
collection_servicePhase:
type: string
enum:
- UNKNOWN_PHASE
- ACTIVE
- TERMINATING
- TERMINATION_FAILED
- DELETED
default: UNKNOWN_PHASE
description: "- ACTIVE: Request is active , Collection Job associated with app Context may be in any one of the above states\n - TERMINATING: Request is marked for deletion , Collection Job associated with app Context is queued for deletion\n - TERMINATION_FAILED: Request is marked for deletion , Collection Job was failed to be deleted, even in one of the devices.\n - DELETED: Request is successfully deleted from the Collection Service on all devices. This phase will only appear in bus\nnotifications, will not appear in GetJobStatus, as the job will be deleted from DB."
title: Phase indicates whether Request asscociated with AppContext is Alive or marked for deletion within collection service
common_collection_dataSensorData:
type: object
properties:
snmp_sensor:
$ref: '#/components/schemas/common_collection_dataSnmpSensor'
snmp_yang_sensor:
$ref: '#/components/schemas/common_collection_dataSnmpYangSensor'
cli_yang_sensor:
$ref: '#/components/schemas/common_collection_dataCliYangSensor'
cli_sensor:
$ref: '#/components/schemas/common_collection_dataCliSensor'
mdt_sensor:
$ref: '#/components/schemas/common_collection_dataMDTSensor'
trap_sensor:
$ref: '#/components/schemas/common_collection_dataTrapSensor'
trap_yang_sensor:
$ref: '#/components/schemas/common_collection_dataTrapYangSensor'
gnmi_sensor:
$ref: '#/components/schemas/common_collection_dataGnmiSensor'
syslog_sensor:
$ref: '#/components/schemas/common_collection_dataSyslogSensor'
title: Sensor Data
gnmiSubscriptionMode:
type: string
enum:
- TARGET_DEFINED
- ON_CHANGE
- SAMPLE
default: TARGET_DEFINED
title: 'SubscriptionMode is the mode of the subscription, specifying how the
target must return values in a subscription.
Reference: gNMI Specification Section 3.5.1.3'
common_collection_dataKeyValue:
type: object
properties:
key:
type: string
bytes_value:
type: string
format: byte
string_value:
type: string
bool_value:
type: boolean
format: boolean
uint32_value:
type: integer
format: int64
uint64_value:
type: string
format: uint64
sint32_value:
type: integer
format: int32
sint64_value:
type: string
format: int64
double_value:
type: number
format: double
float_value:
type: number
format: float
title: Generic Key value message
collection_serviceGetCollectionDataMetricsResponse:
type: object
properties:
collection_data_metrics_list:
type: array
items:
$ref: '#/components/schemas/collection_serviceCollectionDataMetrics'
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
title: GetCollectionDataMetricsResponse
collection_serviceDeviceData:
type: object
properties:
device_id:
type: string
title: UUID of device in CW inventory
host_name:
type: string
title: Host name of device in CW inventory.Optional to populate
title: Device Data
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
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_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
collection_serviceSensorInputConfig:
type: object
properties:
sensor_data:
$ref: '#/components/schemas/common_collection_dataSensorData'
title: Path represents sensor
cadence_in_millisec:
type: string
format: uint64
title: Push or Poll cadence
description: SensorInputConfig represents device side collection at some cadence.
collection_serviceMetrics:
type: object
properties:
key_value_metrics:
type: array
items:
$ref: '#/components/schemas/collection_serviceKeyValueMetric'
title: "Message containing various collection metrics\nFollowing metrics need to be collected\n last_collection_time_msec = 1;\n last_polling_cadence_msec = 2;\n total_collected_bytes_count = 3;\n total_collected_errors_count = 4;\n total_write_errors_count = 5;\n total_collected_msgs_count = 6;\n total_dropped_msgs_count = 7;\n last_device_latency_msec = 8;"
collection_serviceRequestResult:
type: string
enum:
- UNKNOWN_RESULT
- REJECTED
- ACCEPTED
default: UNKNOWN_RESULT
description: "- REJECTED: Request has been rejected\n - ACCEPTED: Request has been accepted for processing"
title: 'Request - reply
response'
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_serviceGetCollectionDataStatusResponse:
type: object
properties:
collection_data_status_list:
type: array
items:
$ref: '#/components/schemas/collection_serviceCollectionDataStatus'
title: The input and output collection
query_options:
$ref: '#/components/schemas/collection_serviceQueryOptions'
title: Pagination and other query options
result:
$ref: '#/components/schemas/collection_serviceResult'
title: Result reply
description: CollectionJobDeviceSetStatus indicates the list of devices for which the job is successfully processed.
collection_serviceCollectionDataStatus:
type: object
properties:
input_status_list:
type: array
items:
$ref: '#/components/schemas/collection_serviceInputStatus'
title: Status per device per sensor on the input collection side
output_status_list:
type: array
items:
$ref: '#/components/schemas/collection_serviceOutputStatus'
title: Status per device per destination on the output collection side
title: 'CollectionJob Data Status from CDG Instances
ContextId : robot.collector.helios.collection.datastatus'
collection_serviceCreateCollectionJobResponse:
type: object
properties:
result:
$ref: '#/components/schemas/collection_serviceResult'
title: Sync Request reply , indicating whether request has accepted or rejected
collection_serviceInputStatus:
type: object
properties:
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: Input side collection state
title: Collection input status
SyslogSensorPRIs:
type: object
properties:
facilities:
type: array
items:
type: integer
format: int32
title: Syslog Facility , valid numbers 0 to 23
severities:
type: array
items:
type: integer
format: int32
title: Syslog Severity , valid numbers 0 to 7
title: 'PRI is combination of Facility code(0-23) and Severity(0-7).
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.
Three digit code that''s a combination of Facility and Severity'
collection_serviceCollectionJobConfiguration:
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_mode:
$ref: '#/components/schemas/collection_serviceCollectionMode'
title: 'Style of collection persistent or non-persistent
Note Recurrent , Transient jobs are not applicable to any collection that involves device config change'
job_device_set:
$ref: '#/components/schemas/collection_serviceJobDeviceSet'
title: Job DeviceSet reflects a collection of devices or device group
sensor_input_configs:
type: array
items:
$ref: '#/components/schemas/collection_serviceSensorInputConfig'
description: SensorInputConfig reflects a group of sensors and their cadences.
sensor_output_configs:
type: array
items:
$ref: '#/components/schemas/collection_serviceSensorOutputConfig'
title: SensorOutputConfig reflects a group of sensors and their destinations
title: 'CollectionJobConfiguration that encapsulates bunch of sensor configs across devices or one device group with an application
context'
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_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_serviceInputMetrics:
type: object
properties:
device_data:
$ref: '#/components/schemas/collection_serviceDeviceData'
title: Device data
sensor_data:
$ref: '#/components/schemas/common_collection_dataSensorData'
title: Sensor
metrics:
$ref: '#/components/schemas/collection_serviceMetrics'
title: Input side metrics
common_collection_dataTrapYangSensor:
type: object
properties:
path:
type: string
title: Example ISIS-MIB:notifications,SNMPv2-MIB:notifications,IF-MIB:notifications
common_collection_dataSnmpYangSensor:
type: object
properties:
path:
type: string
title: Example SNMPv2-MIB:SNMPv2-MIB/system
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_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_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.'
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
collection_serviceDeleteCollectionJobResponse:
type: object
properties:
result:
$ref: '#/components/schemas/collection_serviceResult'
title: Sync Request reply , indicating whether request has accepted or rejected
collection_serviceGetCollectionJobCountResponse:
type: object
properties:
job_count:
type: string
format: uint64
title: job count
input_collection_count:
type: string
format: uint64
title: the number of input sensor collection endpoints for given collection job(s)
output_collection_count:
type: string
format: uint64
title: the number of output collection endpoints for given collection job(s)
input_error_collection_count:
type: string
format: uint64
title: the number of input sensor collection endpoints for given collection job(s)
output_error_collection_count:
type: string
format: uint64
title: the number of output collection endpoints for given collection job(s)
control_error_count:
type: string
format: uint64
title: the number of output collection endpoints for given collection job(s)
result:
$ref: '#/components/schemas/collection_serviceResult'
title: Result
title: 'Return a total count of collect jobs and total collection endpoints and errors in the system if no application context
is provided. If application context is provided counts are for that collection job'
common_collection_dataMDTSensor:
type: object
properties:
path:
type: string
title: Example Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters
collection_serviceGetCollectionJobCountRequest:
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_serviceGetIsResourceInUseRequest:
type: object
properties:
destination_id:
type: string
title: UUID of destination in crosswork inventory
title: Request to check whether a resource is in use
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_serviceCreateCollectionJobRequest:
type: object
properties:
collection_job:
$ref: '#/components/schemas/collection_serviceCollectionJobConfiguration'
title: CollectionJobConfiguration describing collection job with application context as key
title: CreateCollectionJobRequest
collection_serviceConfigurationCommitState:
type: string
enum:
- UNKNOWN_CONFIG_COMMIT_STATE
- COMMITTED
- NOT_COMMITTED
default: UNKNOWN_CONFIG_COMMIT_STATE
description: "- COMMITTED: Control config for device was successfully converged based on target state\n - NOT_COMMITTED: Control config for device was not successfully converged based on target state"
titl
# --- 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