openapi: 3.2.0 info: title: Crosswork Inventory Put/Replace Providers API version: 1.0.0 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 description: ' This document contains details of the Crosswork Inventory RESTful APIs that can be used to onboard and manage Device Groups(Tags), Credentials, Providers and Devices' 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/3.2APIs/inventory_api.swagger.json - type: raw url: https://raw.githubusercontent.com/CiscoDevNet/crosswork-openapi-spec/master/NCAHI/3.2APIs/inventory_api.swagger.json servers: - url: /crosswork/inventory/ security: - bearerAuth: [] tags: - name: Put/Replace Providers paths: /v1/providers: parameters: [] put: summary: 'Replaces providers information. ' responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/robotapiRobotNodeJob' '404': description: Not Found tags: - Put/Replace Providers requestBody: content: application/json: schema: $ref: '#/components/schemas/robotapiRobotProviderDataList' required: true components: schemas: robotapiRobotTransportType: type: string enum: - ROBOT_MSVC_TRANS_NONE - ROBOT_MSVC_TRANS_TCP - ROBOT_MSVC_TRANS_UDP - ROBOT_MSVC_TRANS_HTTP - ROBOT_MSVC_TRANS_HTTPS - ROBOT_MSVC_TRANS_GRPC - ROBOT_MSVC_TRANS_SSH - ROBOT_MSVC_TRANS_NETCONF - ROBOT_MSVC_TRANS_TELNET - ROBOT_MSVC_TRANS_SNMP - ROBOT_MSVC_TRANS_TL1 - ROBOT_MSVC_TRANS_TL1_SECURE - ROBOT_MSVC_TRANS_ICMP - ROBOT_MSVC_TRANS_KAFKA - ROBOT_MSVC_TRANS_NATS default: ROBOT_MSVC_TRANS_NONE description: Transport types for robot micro-services robotapiRobotProviderDeviceKey: type: string enum: - ROBOT_PROVDEVKEY_NONE - ROBOT_PROVDEVKEY_HOST_NAME - ROBOT_PROVDEVKEY_NODE_IP - ROBOT_PROVDEVKEY_INVENTORY_ID default: ROBOT_PROVDEVKEY_NONE description: Key types used for generating UUID for Provider robotapiRobotNodeJob: type: object properties: job_id: type: string description: Job id inst_id: type: string description: Server instance identifier state: $ref: '#/components/schemas/robotapiRobotJobState' description: Current State of the Job type: type: string description: Job type. Debug purpose error: type: string description: If any error completion_time: type: string format: int64 description: Remaining time to complete creation_time: type: string format: int64 description: Job creation time in epoch seconds created_by: type: string description: User impacted_count: type: integer format: int64 description: Impacted nodes/tags, provider or profiles impacted: type: array items: type: string title: Impacted elements list description: Every Action related to Inventory will have a Job robotapiRobotTransport: type: object properties: type: $ref: '#/components/schemas/robotapiRobotTransportType' description: Device connectivity type. ipaddrs: type: array items: $ref: '#/components/schemas/robotapiRobotInetAddr' description: V4/V6 ip address for this connectivity type port: type: integer format: int64 description: Port for this connectivity type timeout: type: string format: uint64 description: Timeout for this connectivity type reachability_state: $ref: '#/components/schemas/robotapiRobotEntityConnectivityState' description: Reachability Status for Transport Connection reachability_state_upd_time: type: string format: int64 description: 'Reachability timestamp. Time when the reach state was updated. Unix epoch time in seconds.' error: type: string description: error reason for protocol reachability failure robotapiRobotInetAddr: description: Inet Address type: object properties: inet_af: $ref: '#/components/schemas/robotapiRobotInetAddressFamily' inet_addr: type: string mask: type: string robotapiSupportedModels: type: object properties: model_prefix: type: string description: Yang model prefix e.g. Cisco-IOS-XR, Cisco-NX-OS, Cisco-IOS-XE model_version: type: string description: Yang model version robotapiRobotJobState: description: Various Job Resulting states. type: string enum: - JOB_INVALID - JOB_REJECTED - JOB_ACCEPTED - JOB_DB_UPDATED - JOB_NOTIFICATION_PUBLISHED - JOB_COMPLETED - JOB_FAILED default: JOB_INVALID robotapiRobotProviderType: type: string enum: - ROBOT_PROVIDER_NONE - ROBOT_PROVIDER_CFG_LOCAL - ROBOT_PROVIDER_INSTALL - ROBOT_PROVIDER_COMPUTE default: ROBOT_PROVIDER_NONE description: Provider types robotapiRobotProviderFamily: type: string enum: - ROBOT_PROVIDER_UNKNOWN - ROBOT_PROVIDER_EPNM - ROBOT_PROVIDER_NSO - ROBOT_PROVIDER_WAE - ROBOT_PROVIDER_CSM - ROBOT_PROVIDER_XTC - ROBOT_PROVIDER_SYSLOG_STORAGE - ROBOT_PROVIDER_SR_PCE - ROBOT_PROVIDER_DESTINATION default: ROBOT_PROVIDER_UNKNOWN description: Provider Family types robotapiRobotEntityConnectivityState: description: Derived reachability state for a device. Cannot be set by user type: string enum: - CONN_STATE_UNKNOWN - CONN_STATE_REACHABLE - CONN_STATE_UNREACHABLE - CONN_STATE_MAX - CONN_STATE_DEGRADED default: CONN_STATE_UNKNOWN robotapiRobotInetAddressFamily: description: Inet Address Family type: string enum: - ROBOT_INET_ADDR_TYPE_NONE - ROBOT_INET_ADDR_TYPE_v4 - ROBOT_INET_ADDR_TYPE_v6 default: ROBOT_INET_ADDR_TYPE_NONE robotapiRobotProviderDataList: description: List of providers type: object properties: providers: type: array items: $ref: '#/components/schemas/robotapiRobotProviderData' user: type: string robotapiRobotProviderData: type: object properties: uuid: type: string description: 'Internal key, mandatory field. Allocated internally on provider creation. UUID is a generated value based on the name' name: type: string description: User-defined key, mandatory field. type: $ref: '#/components/schemas/robotapiRobotProviderType' reachability_state: $ref: '#/components/schemas/robotapiRobotEntityConnectivityState' connectivity_info: type: array items: $ref: '#/components/schemas/robotapiRobotTransport' description: All supported transports allowed to connect to this provider. profile: type: string description: Credential Profile applicable to this provider. Mandatory field. provider_device_key: $ref: '#/components/schemas/robotapiRobotProviderDeviceKey' last_upd_time: type: string format: int64 description: 'Last time this Provider Entry was Updated in DB. Unix time in seconds.' last_reach_time: type: string format: int64 description: 'Last time this provider was determined to be reachable. Unix time in seconds.' supported_models: type: array items: $ref: '#/components/schemas/robotapiSupportedModels' description: provider models family: $ref: '#/components/schemas/robotapiRobotProviderFamily' description: Provider Family. Not supoorted YET. properties: type: object description: map to configure provider specific properties as key, value pairs securitySchemes: bearerAuth: type: apiKey name: Authorization in: header