openapi: 3.2.0 info: title: Crosswork Inventory Get 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: Get Providers paths: /v1/providers/query: parameters: [] post: summary: 'Retrieves a list of providers. ' responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/robotapiRobotProviderDataGetResp' '404': description: Not Found tags: - Get Providers requestBody: content: application/json: schema: $ref: '#/components/schemas/robotapiRobotProviderGetReq' required: true components: schemas: robotapiRobotProviderDataGetResp: type: object properties: return: $ref: '#/components/schemas/robotapiRobotResponseInfo' data: type: array items: $ref: '#/components/schemas/robotapiRobotProviderData' total_count: type: integer format: int32 description: Number of total providers available at present robotapiRobotProviderGetReq: type: object properties: limit: type: integer format: int64 description: Number of providers requested in the response. sort_by_field: type: string description: 'The field name in RobotProviderData to use for sorting. If this field is omitted, data is sorted by default on name.' last_key: type: string description: Ask for data beyond last_key per the sorted order. filter: $ref: '#/components/schemas/robotapiRobotProviderData' description: 'Filter for the request. uuid, type, name, lock_state, reachability_state are supported. Combination of filters are also supported.' filterData: $ref: '#/components/schemas/robotapiRobotFilterData' 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 robotapiRobotFilterData: description: Request body with filter options type: object properties: SortBy: type: string PageSize: type: integer format: int64 PageNum: type: integer format: int64 Descending: type: boolean format: boolean MatchCase: type: boolean format: boolean Criteria: type: string robotapiRobotResponseInfo: type: object properties: code: type: string format: int64 description: Typically from an enum defined by the component. desc: type: string description: Description of error. May not be filled for success error codes. description: Generic template for responses 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 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 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