{"type":"api","title":"Create Tunnel","meta":{"id":"/apps/pubhub/media/Meraki-Dashboard-API-v1-Documentation/426c8f7edc2cc0036fbe8fd4ce0d3ec2eda7fa14/de857a95-32cb-3f3c-8d64-0bf8514993f9","info":{"title":"Meraki Integrated API for Secure Connect","description":"The Cisco Meraki Integrated API for Secure Connect is a modern REST API based on the OpenAPI specification.\n ---\n\n [API Documentation](https://meraki.io/api)\n\n [Meraki Homepage](https://www.meraki.com)\n","version":"1.8.0","contact":{"name":"Meraki Developer Community","url":"https://meraki.io/community"}},"security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"tags":[{"name":"Reports"},{"name":"Activity"},{"name":"Top Categories"},{"name":"Organization Requests by Timerange and Category"},{"name":"Total Requests"},{"name":"Summary"},{"name":"Applications"},{"name":"Deployments"},{"name":"Data Center"},{"name":"Network Devices"},{"name":"Organization Tunnel"},{"name":"Policy"},{"name":"Firewall Applications"},{"name":"Policies"},{"name":"Destination Lists"},{"name":"Destinations"}],"x-parser-conf":{"theme":"meraki","expand":2,"exampleAsDefault":true,"groupBy":{"$remoteModule":"config/group_api_tag.js"}},"openapi":"3.0.0","servers":[{"url":"https://api.meraki.com/{basePath}","variables":{"basePath":{"default":"api/secureConnect/v1"}}}],"securitySchemes":{"meraki_api_key":{"type":"apiKey","name":"X-Cisco-Meraki-API-Key","in":"header"},"bearerAuth":{"type":"apiKey","name":"Authorization","in":"header"}}},"spec":{"summary":"Create Tunnel","operationId":"addTunnel","description":"Add a new tunnel to the organization.","security":[{"meraki_api_key":[]}],"tags":["Deployments","Organization Tunnel"],"requestBody":{"description":"The tunnel to create.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the tunnel."},"siteOriginId":{"type":"integer","description":"The site origin ID to associate with the tunnel.","example":123456},"deviceType":{"type":"string","description":"The type of device where the tunnel originates. The default value is `other`.","enum":["ASA","FTD","ISR","Meraki MX","Viptela cEdge","Viptela vEdge","other"]},"serviceType":{"type":"string","description":"The type of service to associate with the tunnel. The default value is `SIG`.","enum":["SIG","Private Access"],"example":"SIG"},"networkCIDRs":{"type":"array","description":"Enter IPv4 ranges and CIDR addresses.\nIf `serviceType` is SIG, add all public and private address ranges used internally\nby your organization. Overrides Umbrella's default behavior,\nwhich allows traffic that is destined for RFC-1918 addresses to return through the tunnel.\nIf `serviceType` is Private Access, this field is required.\nThe 0.0.0.0/0 address range is not allowed.","items":{"type":"string","description":"An IPv4 CIDR range.","example":"111.222.39.1/32"},"example":["123.111.222.25/24","111.222.39.1/32"]},"transport":{"type":"object","properties":{"protocol":{"description":"The tunnel transport protocol. The default tunnel transport protocol is IPSec.","type":"string","enum":["IPSec"],"example":"IPSec"}}},"authentication":{"type":"object","properties":{"type":{"type":"string","description":"The authentication method. The default is pre-shared key (PSK).","enum":["PSK"]},"parameters":{"type":"object","properties":{"idPrefix":{"type":"string","description":"A human-readable ID for the tunnel, used to generate the ID portion of the Pre-Shared Key.\nIf omitted, the ID is generated and provided in response. Tunnels with a device type of ASA\nmust provide an IP address string for this field. Tunnels with a device type of 'other'\nmay use either an IP address or a human-readable string. PSK IDs are not automatically generated\nfor ASA devices."},"secret":{"type":"string","description":"The secret portion of a Pre-Shared Key (PSK).\nIf omitted, a secret is generated and provided in the response.\nSecrets are a sequence of 16 to 64 characters, and contain at least one upper\nand lowercase letter, one number, and no special characters."}}}}}},"required":["name"]},"example":{"name":"Site01Tunnel","siteOriginId":123456,"serviceType":"SIG","deviceType":"ASA","networkCIDRs":["123.111.222.25/24","111.222.39.1/32"],"transport":{"protocol":"IPSec"},"authentication":{"type":"PSK","parameters":{"idPrefix":"prefix-string","secret":"This123Secret"}}}}}},"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"type":"object","description":"The properties of the tunnel resource object.","properties":{"id":{"type":"integer","readOnly":true,"description":"The tunnel resource ID. Use this ID as a reference for subsequent requests.","example":1122321},"uri":{"type":"string","description":"Resource URI","readOnly":true,"example":"/tunnels/1122321"},"name":{"type":"string","description":"Display the name of the tunnel. The tunnel name is required, cannot exceed 50 characters in length,\nand can't have any special characters other than spaces and hyphens.","example":"Site01Tunnel"},"siteOriginId":{"type":"integer","description":"The Site origin ID that is associated with the tunnel.","example":123456},"client":{"type":"object","description":"The tunnel client's configuration metadata including the client secret.","properties":{"deviceType":{"type":"string","description":"The type of device where the tunnel originates. The default value is `other`.","enum":["ASA","FTD","ISR","Meraki MX","Viptela cEdge","Viptela vEdge","other"]},"authentication":{"type":"object","description":"The authentication context of the client.","properties":{"type":{"type":"string","enum":["PSK"],"example":"PSK","readOnly":true},"parameters":{"type":"object","properties":{"id":{"type":"string","description":"The PSK ID. If an IP address is used as the ID, the IP address is the value of this field.","readOnly":true,"example":"admin@2561066-237952254-umbrella.com"},"modifiedAt":{"type":"string","format":"date-time","description":"The date and time (timestamp) that Umbrella updated the tag on the roaming computer.\nThe timestamp is an ISO 8601 formatted string. For example: `2023-04-12T23:20:50.52Z`.","example":"2022-04-12T23:20:50.52Z"},"secret":{"type":"string","example":"123Secret","description":"The secret of the PSK credentials. Ensure that you save the secret. The secret is not provided at any other time."}}}}}}},"transport":{"type":"object","properties":{"protocol":{"description":"The tunnel transport protocol. The default transport protocol is IPSec.","type":"string","enum":["IPSec"],"readOnly":true,"example":"IPSec"}}},"serviceType":{"type":"string","description":"The type of service to associate with the tunnel. The default value is `SIG`.","enum":["SIG","Private Access"],"example":"SIG"},"networkCIDRs":{"type":"array","description":"Enter IPv4 ranges and CIDR addresses.\nIf `serviceType` is SIG, add all public and private address ranges used internally\nby your organization. Overrides Umbrella's default behavior,\nwhich allows traffic that is destined for RFC-1918 addresses to return through the tunnel.\nIf `serviceType` is Private Access, this field is required.\nThe 0.0.0.0/0 address range is not allowed.","items":{"type":"string","description":"An IPv4 CIDR range.","example":"111.222.39.1/32"},"example":["123.111.222.25/24","111.222.39.1/32"]},"meta":{"type":"object","description":"The metadata for the tunnel object, related to service internals.","readOnly":true},"createdAt":{"type":"string","description":"The date and time (timestamp) when the tunnel was created.","format":"date-time","readOnly":true,"example":"2018-06-13T16:07:07.222Z"},"modifiedAt":{"type":"string","format":"date-time","description":"The date and time (timestamp) that Umbrella updated the tag on the roaming computer.\nThe timestamp is an ISO 8601 formatted string. For example: `2023-04-12T23:20:50.52Z`.","example":"2022-04-12T23:20:50.52Z"}},"example":{"id":1122321,"uri":"/tunnels/1122321","name":"Site01Tunnel","siteOriginId":123456,"client":{"deviceType":"ASA","authentication":{"type":"PSK","parameters":{"id":"admin@2561066-237952254-umbrella.com","modifiedAt":"2018-06-13T16:07:07.222Z","secret":"secretkey123"}}},"transport":{"protocol":"IPSec"},"serviceType":"SIG","networkCIDRs":["123.111.222.25/24","111.222.39.1/32"],"meta":{},"createdAt":"2018-06-13T16:07:07.222Z","modifiedAt":"2018-06-13T16:07:07.222Z"}},"example":{"id":1122321,"uri":"/tunnels/1122321","name":"Site01Tunnel","siteOriginId":123456,"client":{"deviceType":"ASA","authentication":{"type":"PSK","parameters":{"id":"admin@2561066-237952254-umbrella.com","modifiedAt":"2018-06-13T16:07:07.222Z","secret":"This123Secret"}}},"transport":{"protocol":"IPSec"},"serviceType":"SIG","networkCIDRs":["123.111.222.25/24","111.222.39.1/32"],"meta":{},"createdAt":"2018-06-13T16:07:07.222Z","modifiedAt":"2018-06-13T16:07:07.222Z"}}}},"400":{"description":"Bad Request","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"type":"object","minProperties":3,"required":["statusCode","error","txId"],"properties":{"statusCode":{"type":"integer","example":400,"description":"HTTP status code"},"error":{"type":"string","example":"Validation Error","description":"a brief description of the error"},"txId":{"type":"string","example":"86e189a6-0124-47d3-a32c-25ff3f07deaf","description":"a unique hex number that can be used for debugging"},"validationErrors":{"type":"object","properties":{"someProperty":{"type":"string","example":"must not be empty","description":"the name of the property failing validation."}}}}}}}},"401":{"description":"Unauthorized","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"description":"Unauthorized","type":"object","properties":{"statusCode":{"type":"integer","example":401,"description":"HTTP status code"},"error":{"type":"string","example":"Unauthorized","description":"The authorization header is missing or the token is unauthorized"},"message":{"type":"string","description":"Detailed error message"}}}}}},"403":{"description":"Forbidden","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"description":"Forbidden","type":"object","properties":{"statusCode":{"type":"integer","example":403,"description":"HTTP status code"},"error":{"type":"string","example":"Forbidden, Invalid authentication credentials","description":"a brief description of the error"},"message":{"type":"string","description":"Detailed error message"}}}}}},"404":{"description":"Not found","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"description":"Not Found","type":"object","properties":{"statusCode":{"type":"integer","example":404,"description":"HTTP status code"},"error":{"type":"string","example":"Not Found","description":"A brief description of the error"},"message":{"type":"string","description":"Detailed error message"}}}}}},"500":{"description":"Internal Server Error","headers":{"Content-Type":{"schema":{"type":"string"},"description":"The MIME content type of the response body.","example":"application/json"},"Date":{"schema":{"type":"string","pattern":"^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$"},"description":"The timestamp of the response.","example":"2023-03-14T18:34:25Z"}},"content":{"application/json":{"schema":{"type":"object","minProperties":3,"required":["statusCode","error","txId"],"properties":{"statusCode":{"type":"integer","example":500,"description":"HTTP status code"},"error":{"type":"string","example":"Internal Server Error","description":"a brief description of the error"},"txId":{"type":"string","example":"86e189a6-0124-47d3-a32c-25ff3f07deaf","description":"a unique hex number that can be used for debugging"}}}}}}},"parameters":[{"name":"organizationId","in":"path","description":"Organization ID associated with this resource.","required":true,"schema":{"type":"integer"}}],"__originalOperationId":"addTunnel","method":"post","path":"/organizations/{organizationId}/tunnels"}}