{"type":"api","title":"Update Device Switch Routing Interface","meta":{"id":"/apps/pubhub/media/Meraki-Dashboard-API-v1-Documentation/4723762d29b3380de018ae8c0d8a59499a6523e0/5c63a5d4-9452-397a-85eb-8b6fec45147e","info":{"title":"Meraki Dashboard API","description":"A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale.\n\n> Date: 03 July, 2024\n>\n> [Recent Updates](https://meraki.io/whats-new/)\n\n---\n\n[API Documentation](https://meraki.io/api)\n\n[Community Support](https://meraki.io/community)\n\n[Meraki Homepage](https://www.meraki.com)\n","contact":{"name":"Meraki Developer Community","url":"https://meraki.io/community"},"version":"1.48.0"},"security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"tags":[{"name":"organizations"},{"name":"networks"},{"name":"devices"},{"name":"insight"},{"name":"wireless"},{"name":"camera"},{"name":"appliance"},{"name":"switch"},{"name":"cellularGateway"},{"name":"sm"},{"name":"sensor"},{"name":"administered"},{"name":"accessControlLists"},{"name":"accessPolicies"},{"name":"acls"},{"name":"actionBatches"},{"name":"adaptivePolicy"},{"name":"addresses"},{"name":"admins"},{"name":"airMarshal"},{"name":"alertTypes"},{"name":"alerts"},{"name":"alternateManagementInterface"},{"name":"analytics"},{"name":"apiRequests"},{"name":"apnsCert"},{"name":"appliances"},{"name":"applicationCategories"},{"name":"applicationUsage"},{"name":"applications"},{"name":"areas"},{"name":"arpInspection"},{"name":"arpTable"},{"name":"artifacts"},{"name":"assets"},{"name":"assignments"},{"name":"authenticationToken"},{"name":"availabilities"},{"name":"bandwidthUsageHistory"},{"name":"bgp"},{"name":"billing"},{"name":"bluetooth"},{"name":"bluetoothClients"},{"name":"bonjourForwarding"},{"name":"boundaries"},{"name":"brandingPolicies"},{"name":"bulk"},{"name":"bulkUpdate"},{"name":"byBoundary"},{"name":"byClient"},{"name":"byDevice"},{"name":"byEnergyUsage"},{"name":"byInterval"},{"name":"byMetric"},{"name":"byModel"},{"name":"byNetwork"},{"name":"byStatus"},{"name":"bySwitch"},{"name":"byType"},{"name":"byUsage"},{"name":"byUtilization"},{"name":"bypassActivationLockAttempts"},{"name":"cableTest"},{"name":"callbacks"},{"name":"categories"},{"name":"cellular"},{"name":"cellularFirewallRules"},{"name":"cellularUsageHistory"},{"name":"certs"},{"name":"changeHistory"},{"name":"channelUtilization"},{"name":"channelUtilizationHistory"},{"name":"claim"},{"name":"claimKey"},{"name":"clientCountHistory"},{"name":"clients"},{"name":"cloudMonitoring"},{"name":"commands"},{"name":"compliance"},{"name":"configTemplates"},{"name":"configurationChanges"},{"name":"configure"},{"name":"configuredDevices"},{"name":"connectionStats"},{"name":"connectivity"},{"name":"connectivityEvents"},{"name":"connectivityMonitoringDestinations"},{"name":"contentFiltering"},{"name":"coterm"},{"name":"current"},{"name":"customAnalytics"},{"name":"customPerformanceClasses"},{"name":"dataRateHistory"},{"name":"delegated"},{"name":"desktopLogs"},{"name":"details"},{"name":"detections"},{"name":"deviceCommandLogs"},{"name":"deviceProfiles"},{"name":"deviceTypeGroupPolicies"},{"name":"dhcp"},{"name":"dhcpServerPolicy"},{"name":"dscpTaggingOptions"},{"name":"dscpToCosMappings"},{"name":"eapOverride"},{"name":"earlyAccess"},{"name":"electronicShelfLabel"},{"name":"entitlements"},{"name":"ethernet"},{"name":"eventTypes"},{"name":"events"},{"name":"exportEvents"},{"name":"failedConnections"},{"name":"features"},{"name":"fields"},{"name":"firewall"},{"name":"firewalledServices"},{"name":"firmware"},{"name":"firmwareUpgrades"},{"name":"floorPlans"},{"name":"groupPolicies"},{"name":"groups"},{"name":"health"},{"name":"healthByTime"},{"name":"historical"},{"name":"history"},{"name":"hotspot20"},{"name":"httpServers"},{"name":"identities"},{"name":"identityPsks"},{"name":"idps"},{"name":"imports"},{"name":"inboundCellularFirewallRules"},{"name":"inboundFirewallRules"},{"name":"interfaces"},{"name":"internetPolicies"},{"name":"intrusion"},{"name":"inventory"},{"name":"ipv6"},{"name":"l3FirewallRules"},{"name":"l7FirewallRules"},{"name":"lan"},{"name":"latencyHistory"},{"name":"latencyStats"},{"name":"latest"},{"name":"licenses"},{"name":"licensing"},{"name":"lines"},{"name":"linkAggregations"},{"name":"linkLayer"},{"name":"live"},{"name":"liveTools"},{"name":"lldpCdp"},{"name":"loginSecurity"},{"name":"logs"},{"name":"lossAndLatencyHistory"},{"name":"malware"},{"name":"managementInterface"},{"name":"manufacturers"},{"name":"me"},{"name":"merakiAuthUsers"},{"name":"meshStatuses"},{"name":"models"},{"name":"monitor"},{"name":"monitoredMediaServers"},{"name":"mqttBrokers"},{"name":"mtu"},{"name":"multicast"},{"name":"netflow"},{"name":"networkAdapters"},{"name":"networkHealth"},{"name":"objectDetectionModels"},{"name":"onboarding"},{"name":"oneToManyNatRules"},{"name":"oneToOneNatRules"},{"name":"openapiSpec"},{"name":"optIns"},{"name":"order"},{"name":"ospf"},{"name":"overview"},{"name":"packetLoss"},{"name":"packets"},{"name":"payloadTemplates"},{"name":"performance"},{"name":"performanceHistory"},{"name":"permissions"},{"name":"pii"},{"name":"piiKeys"},{"name":"ping"},{"name":"pingDevice"},{"name":"policies"},{"name":"policy"},{"name":"policyObjects"},{"name":"portForwardingRules"},{"name":"portSchedules"},{"name":"ports"},{"name":"power"},{"name":"powerModules"},{"name":"prefixes"},{"name":"prepare"},{"name":"priorities"},{"name":"profiles"},{"name":"provisioning"},{"name":"qosRules"},{"name":"qualityAndRetention"},{"name":"qualityRetentionProfiles"},{"name":"radio"},{"name":"readings"},{"name":"recent"},{"name":"relationships"},{"name":"rendezvousPoints"},{"name":"requests"},{"name":"responseCodes"},{"name":"restrictions"},{"name":"rfProfiles"},{"name":"roles"},{"name":"rollbacks"},{"name":"routing"},{"name":"rules"},{"name":"saml"},{"name":"samlRoles"},{"name":"schedules"},{"name":"sdwan"},{"name":"search"},{"name":"security"},{"name":"securityCenters"},{"name":"seen"},{"name":"sense"},{"name":"sentry"},{"name":"servers"},{"name":"settings"},{"name":"signalQualityHistory"},{"name":"sims"},{"name":"singleLan"},{"name":"siteToSiteVpn"},{"name":"smDevicesForKey"},{"name":"smOwnersForKey"},{"name":"snmp"},{"name":"softwares"},{"name":"splash"},{"name":"splashAuthorizationStatus"},{"name":"splashLoginAttempts"},{"name":"ssids"},{"name":"stacks"},{"name":"staged"},{"name":"stages"},{"name":"staticRoutes"},{"name":"statics"},{"name":"stats"},{"name":"status"},{"name":"statuses"},{"name":"stormControl"},{"name":"stp"},{"name":"subnetPool"},{"name":"subnets"},{"name":"subscription"},{"name":"subscriptions"},{"name":"summary"},{"name":"swaps"},{"name":"switches"},{"name":"syslogServers"},{"name":"targetGroups"},{"name":"themes"},{"name":"thirdPartyVPNPeers"},{"name":"throughputTest"},{"name":"top"},{"name":"topology"},{"name":"traffic"},{"name":"trafficAnalysis"},{"name":"trafficHistory"},{"name":"trafficShaping"},{"name":"trustedAccessConfigs"},{"name":"trustedServers"},{"name":"upgrades"},{"name":"uplink"},{"name":"uplinkBandwidth"},{"name":"uplinkSelection"},{"name":"uplinks"},{"name":"uplinksLossAndLatency"},{"name":"usage"},{"name":"usageHistories"},{"name":"usageHistory"},{"name":"userAccessDevices"},{"name":"users"},{"name":"v4"},{"name":"video"},{"name":"videoLink"},{"name":"vlanAssignments"},{"name":"vlanProfiles"},{"name":"vlans"},{"name":"vmx"},{"name":"vpn"},{"name":"vpnExclusions"},{"name":"vpnFirewallRules"},{"name":"vppAccounts"},{"name":"wakeOnLan"},{"name":"warmSpare"},{"name":"warnings"},{"name":"webhookTests"},{"name":"webhooks"},{"name":"wirelessProfiles"},{"name":"wlanLists"},{"name":"zones"}],"x-parser-conf":{"overview":{"markdownPath":"docs/overview.md"},"theme":"meraki","serverConfig":true,"meta":{"useProxy":true},"httpBearer":{"bearerToken":"75dd5334bef4d2bc96f26138c163c0a3fa0b5ca6"},"labelConfig":{"endpoint":{"field":"operationId","format":"startCase"}},"groupBy":{"$remoteModule":"config/group_platform.js"},"sortBy":{"$remoteModule":"config/sort_by.js"},"exampleAsDefault":true,"expand":3,"sampleCode":{"python":{"folder":"meraki/sdk/python","name":"Meraki Python Library","highlight":"python"}},"variables":{"organizationId":"1215707","networkId":"N_784752235069315754","serial":"QBSB-VQ3J-XZ54"}},"openapi":"3.0.1","servers":[{"url":"https://api.meraki.com/{basePath}","variables":{"basePath":{"default":"api/v1"}}}],"securitySchemes":{"meraki_api_key":{"type":"apiKey","name":"X-Cisco-Meraki-API-Key","in":"header"},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key"}}},"spec":{"description":"Update a layer 3 interface for a switch","operationId":"updateDeviceSwitchRoutingInterface","parameters":[{"name":"serial","in":"path","description":"Serial","schema":{"type":"string"},"required":true},{"name":"interfaceId","in":"path","description":"Interface ID","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"A friendly name or description for the interface or VLAN."},"subnet":{"type":"string","description":"The network that this routed interface is on, in CIDR notation (ex. 10.1.1.0/24)."},"interfaceIp":{"type":"string","description":"The IP address this switch will use for layer 3 routing on this VLAN or subnet. This cannot be the same as the switch's management IP."},"multicastRouting":{"type":"string","enum":["IGMP snooping querier","disabled","enabled"],"description":"Enable multicast support if, multicast routing between VLANs is required. Options are: 'disabled', 'enabled' or 'IGMP snooping querier'. Default is 'disabled'."},"vlanId":{"type":"integer","description":"The VLAN this routed interface is on. VLAN must be between 1 and 4094."},"defaultGateway":{"type":"string","description":"The next hop for any traffic that isn't going to a directly connected subnet or over a static route. This IP address must exist in a subnet with a routed interface. Required if this is the first IPv4 interface."},"ospfSettings":{"type":"object","properties":{"area":{"type":"string","description":"The OSPF area to which this interface should belong. Can be either 'disabled' or the identifier of an existing OSPF area. Defaults to 'disabled'."},"cost":{"type":"integer","description":"The path cost for this interface. Defaults to 1, but can be increased up to 65535 to give lower priority."},"isPassiveEnabled":{"type":"boolean","description":"When enabled, OSPF will not run on the interface, but the subnet will still be advertised."}},"description":"The OSPF routing settings of the interface."},"ipv6":{"type":"object","properties":{"assignmentMode":{"type":"string","description":"The IPv6 assignment mode for the interface. Can be either 'eui-64' or 'static'."},"prefix":{"type":"string","description":"The IPv6 prefix of the interface. Required if IPv6 object is included."},"address":{"type":"string","description":"The IPv6 address of the interface. Required if assignmentMode is 'static'. Must not be included if assignmentMode is 'eui-64'."},"gateway":{"type":"string","description":"The IPv6 default gateway of the interface. Required if prefix is defined and this is the first interface with IPv6 configured for the switch."}},"description":"The IPv6 settings of the interface."}},"example":{"name":"L3 interface","subnet":"192.168.1.0/24","interfaceIp":"192.168.1.2","multicastRouting":"disabled","vlanId":100,"defaultGateway":"192.168.1.1","ospfSettings":{"area":"0","cost":1,"isPassiveEnabled":true},"ipv6":{"assignmentMode":"static","prefix":"1:2:3:4::/48","address":"1:2:3:4::1","gateway":"1:2:3:4::2"}}}}},"required":false},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"interfaceId":{"type":"string","description":"The id"},"name":{"type":"string","description":"The name"},"subnet":{"type":"string","description":"IPv4 subnet"},"interfaceIp":{"type":"string","description":"IPv4 address"},"multicastRouting":{"type":"string","description":"Multicast routing status"},"vlanId":{"type":"integer","description":"VLAN id"},"ospfSettings":{"type":"object","properties":{"area":{"type":"string","description":"Area id"},"cost":{"type":"integer","description":"OSPF Cost"},"isPassiveEnabled":{"type":"boolean","description":"Disable sending Hello packets on this interface's IPv4 area"}},"description":"IPv4 OSPF Settings"},"ospfV3":{"type":"object","properties":{"area":{"type":"string","description":"Area id"},"cost":{"type":"integer","description":"OSPF Cost"},"isPassiveEnabled":{"type":"boolean","description":"Disable sending Hello packets on this interface's IPv6 area"}},"description":"IPv6 OSPF Settings"},"ipv6":{"type":"object","properties":{"assignmentMode":{"type":"string","description":"Assignment mode"},"address":{"type":"string","description":"IPv6 address"},"prefix":{"type":"string","description":"IPv6 subnet"},"gateway":{"type":"string","description":"IPv6 gateway"}},"description":"IPv6 addressing"},"uplinkV4":{"type":"boolean","description":"Whether this is the switch's IPv4 uplink"},"uplinkV6":{"type":"boolean","description":"Whether this is the switch's IPv6 uplink"},"defaultGateway":{"type":"string","description":"IPv4 default gateway"}}},"example":{"interfaceId":"1234","name":"L3 interface","subnet":"192.168.1.0/24","interfaceIp":"192.168.1.2","multicastRouting":"disabled","vlanId":100,"ospfSettings":{"area":"0","cost":1,"isPassiveEnabled":true},"ospfV3":{"area":"1","cost":2,"isPassiveEnabled":true},"ipv6":{"assignmentMode":"static","address":"1:2:3:4::1","prefix":"1:2:3:4::/48","gateway":"1:2:3:4::2"},"uplinkV4":false,"uplinkV6":false,"defaultGateway":"192.168.1.1"}}}}},"summary":"Update a layer 3 interface for a switch","tags":["switch","configure","routing","interfaces"],"__originalOperationId":"updateDeviceSwitchRoutingInterface","security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"method":"put","path":"/devices/{serial}/switch/routing/interfaces/{interfaceId}","sampleCode":{"Meraki Python Library":{"code":"import meraki\n\n# Defining your API key as a variable in source code is discouraged.\n# This API key is for a read-only docs-specific environment.\n# In your own code, use an environment variable as shown under the Usage section\n# @ https://github.com/meraki/dashboard-api-python/\n\nAPI_KEY = '75dd5334bef4d2bc96f26138c163c0a3fa0b5ca6'\n\ndashboard = meraki.DashboardAPI(API_KEY)\n\nserial = 'Q2QN-9J8L-SLPD'\ninterface_id = ''\n\nresponse = dashboard.switch.updateDeviceSwitchRoutingInterface(\n serial, interface_id, \n name='L3 interface', \n subnet='192.168.1.0/24', \n interfaceIp='192.168.1.2', \n multicastRouting='disabled', \n vlanId=100, \n defaultGateway='192.168.1.1', \n ospfSettings={'area': '0', 'cost': 1, 'isPassiveEnabled': True}, \n ipv6={'assignmentMode': 'static', 'prefix': '1:2:3:4::/48', 'address': '1:2:3:4::1', 'gateway': '1:2:3:4::2'}\n)\n\nprint(response)","highlight":"python"}}}}