{"type":"api","title":"Add/Upload device configuration file","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/1382f749-f33c-3203-a8e1-dcb3accf0140","info":{"title":"Crosswork ZTP Configuration Service API","version":"7.1.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 explains the Crosswork REST APIs that you can use to manage configuration files for Zero Touch Provisioning (ZTP) devices."},"security":[{"bearerAuth":[]}],"tags":[{"name":"Device Platform APIs","description":"List of Device Platform APIs."},{"name":"Config APIs","description":"List of Config APIs."}],"x-parser-conf":{"overview":{"markdownPath":"reference/EMF/ztp-config-service-api-overview.md"}},"openapi":"3.0.1","servers":[{"url":"/crosswork/ztpconfig/v1"}],"securitySchemes":{"bearerAuth":{"description":"Security definitions details.","in":"header","name":"Authorization","type":"apiKey"}}},"spec":{"parameters":[{"description":"Crosswork host IP","in":"header","name":"X-Real-IP","required":false,"schema":{"type":"string"}},{"description":"Config name","in":"query","name":"confname","required":true,"schema":{"type":"string"}},{"description":"OS platform","in":"query","name":"osname","required":true,"schema":{"type":"string"}},{"description":"OS version","in":"query","name":"version","required":true,"schema":{"type":"string"}},{"description":"Device family","in":"query","name":"devicefamily","required":true,"schema":{"type":"string"}},{"description":"Vendor","in":"query","name":"vendor","required":false,"schema":{"type":"string"}},{"description":"Config type","in":"query","name":"type","required":false,"schema":{"default":"Day0-config","type":"string"}},{"description":"Created by","in":"query","name":"user","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"childIds":{"description":"Child config ids.","type":"string"},"confId":{"description":"Unique config id.","type":"string"},"confName":{"description":"Config name.","type":"string"},"createdBy":{"description":"Created by user id.","type":"string"},"createdTime":{"description":"Creation time. Time since Unix epoch, in milliseconds.","type":"integer"},"deviceFamily":{"description":"Device family.","type":"string"},"downloadurl":{"description":"Download URL string.","type":"string"},"extraPlaceHolders":{"description":"Placeholders in device config that would be replaced with actual values based on device details. Example, hostname.","type":"string"},"fileName":{"description":"Config file name.","type":"string"},"modifiedBy":{"description":"Id of the user who last modified the config.","type":"string"},"modifiedTime":{"description":"Modification time. Time since Unix epoch, in milliseconds.","type":"integer"},"osName":{"description":"Vendor OS name.","type":"string"},"size":{"description":"Config file size, in bytes.","format":"int64","type":"integer"},"type":{"description":"Config type.","type":"string"},"vendor":{"description":"Device vendor.","type":"string"},"version":{"description":"Device Config version.","type":"string"}},"description":"Config object.","type":"object","$$ref":"#/components/schemas/ConfigDto"},"example":{"childIds":"","confId":"2d0675bd-9631-4183-9cec-6e44b7d9c503","confName":"config 2","createdBy":"admin","createdTime":1729670803071,"deviceFamily":"CISCO NCS5500","downloadurl":"http://\u003cCW_HOST_IP\u003e:30604/crosswork/ztpconfig/v1/config/device/file/2d0675bd-9631-4183-9cec-6e44b7d9c503","extraPlaceHolders":"","fileName":"day-0 config.txt","modifiedBy":"admin","modifiedTime":1729670803071,"osName":"IOS XR","size":90,"type":"Day0-config","vendor":"CISCO","version":"7.3.1"}}},"description":"OK. The request was successful. The result is contained in the response body."},"201":{"content":{"application/json":{"schema":{"properties":{"childIds":{"description":"Child config ids.","type":"string"},"confId":{"description":"Unique config id.","type":"string"},"confName":{"description":"Config name.","type":"string"},"createdBy":{"description":"Created by user id.","type":"string"},"createdTime":{"description":"Creation time. Time since Unix epoch, in milliseconds.","type":"integer"},"deviceFamily":{"description":"Device family.","type":"string"},"downloadurl":{"description":"Download URL string.","type":"string"},"extraPlaceHolders":{"description":"Placeholders in device config that would be replaced with actual values based on device details. Example, hostname.","type":"string"},"fileName":{"description":"Config file name.","type":"string"},"modifiedBy":{"description":"Id of the user who last modified the config.","type":"string"},"modifiedTime":{"description":"Modification time. Time since Unix epoch, in milliseconds.","type":"integer"},"osName":{"description":"Vendor OS name.","type":"string"},"size":{"description":"Config file size, in bytes.","format":"int64","type":"integer"},"type":{"description":"Config type.","type":"string"},"vendor":{"description":"Device vendor.","type":"string"},"version":{"description":"Device Config version.","type":"string"}},"description":"Config object.","type":"object","$$ref":"#/components/schemas/ConfigDto"},"example":{"childIds":"","confId":"2d0675bd-9631-4183-9cec-6e44b7d9c503","confName":"config 2","createdBy":"admin","createdTime":1729670803071,"deviceFamily":"CISCO NCS5500","downloadurl":"http://\u003cCW_HOST_IP\u003e:30604/crosswork/ztpconfig/v1/config/device/file/2d0675bd-9631-4183-9cec-6e44b7d9c503","extraPlaceHolders":"hname","fileName":"day-0 config.txt","modifiedBy":"admin","modifiedTime":1729670803071,"osName":"IOS XR","size":90,"type":"Day0-config","vendor":"CISCO","version":"7.3.1"}}},"description":"Created. The request was successful. One or more new resources were created."},"401":{"description":"Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource."},"403":{"description":"Forbidden. The server recognizes the authentication credentials, but the client is not authorized to perform this request."},"404":{"description":"Not Found. The client made a request for a resource that does not exist."}},"tags":["Config APIs"],"operationId":"uploadConfigUsingPOST","requestBody":{"content":{"multipart/form-data:":{"schema":{"properties":{"configFile":{"description":"Config file name","type":"string","format":"binary"}}},"encoding":{"payload":{"contentType":"plain/text"}},"example":{"configFile":"config file content"}}},"required":true},"summary":"Add/Upload device configuration file","description":"This API adds/uploads a device configuration file to CNC along with other config. metadata. This file is downloaded by a device during onboarding process.","__originalOperationId":"uploadConfigUsingPOST","security":[{"bearerAuth":[]}],"method":"post","path":"/config/upload"}}