> ## Documentation Index
> Fetch the complete documentation index at: https://docs.graphiant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /v1/gateways

## OpenAPI

````json PUT /v1/gateways
{
  "openapi": "3.0.0",
  "info": {
    "title": "Graphiant APIs",
    "version": "1.0.0",
    "description": "Graphiant API documentation."
  },
  "servers": [
    {
      "url": "https://api.graphiant.com"
    }
  ],
  "security": [
    {
      "jwtAuth": []
    }
  ],
  "tags": [],
  "paths": {
    "/v1/gateways": {
      "put": {
        "security": [
          {
            "jwtAuth": []
          }
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Authorization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Bearer token. Format: Bearer <your_token_here>"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v1GatewaysPutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v1GatewaysPutResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "v1GatewaysPutRequest": {
        "type": "object",
        "properties": {
          "details": {
            "$ref": "#/components/schemas/manaV2GatewayDetails"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          }
        },
        "additionalProperties": false
      },
      "v1GatewaysPutResponse": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "manaV2GatewayDetails": {
        "type": "object",
        "properties": {
          "aws": {
            "$ref": "#/components/schemas/manaV2AwsGatewayDetails"
          },
          "azure": {
            "$ref": "#/components/schemas/manaV2AzureGatewayDetails"
          },
          "description": {
            "type": "string",
            "example": "example string"
          },
          "gcp": {
            "$ref": "#/components/schemas/manaV2GcpGatewayDetails"
          },
          "ipsecGateway": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayDetails"
          },
          "ipsecGatewayPeers": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayPeersConfig"
          },
          "oci": {
            "$ref": "#/components/schemas/manaV2OciGatewayDetails"
          },
          "regionId": {
            "type": "integer",
            "format": "int32",
            "example": 123
          },
          "speed": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "vrfId": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          }
        },
        "additionalProperties": false
      },
      "manaV2AwsGatewayDetails": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "example": "example string"
          },
          "advanceSettings": {
            "$ref": "#/components/schemas/manaV2AwsAdvanceSettings"
          },
          "transitConnection": {
            "$ref": "#/components/schemas/manaV2AWSGatewayDetailsTransitConnection"
          }
        },
        "additionalProperties": false
      },
      "manaV2AzureGatewayDetails": {
        "type": "object",
        "properties": {
          "msPeeringVlanId": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "routingPolicy": {
            "type": "string",
            "example": "example string"
          },
          "serviceKey": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2GcpGatewayDetails": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "example": "example string"
          },
          "pairingKey": {
            "type": "string",
            "example": "example string"
          },
          "routingPolicy": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecGatewayDetails": {
        "type": "object",
        "properties": {
          "destinationAddress": {
            "type": "string",
            "example": "example string"
          },
          "ikeInitiator": {
            "type": "boolean",
            "example": true
          },
          "mtu": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "name": {
            "type": "string",
            "example": "example string"
          },
          "remoteIkePeerIdentity": {
            "type": "string",
            "example": "example string"
          },
          "routing": {
            "$ref": "#/components/schemas/manaV2IpsecRoutingConfig"
          },
          "tcpMss": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "tunnel1": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayTunnelDetails"
          },
          "tunnel2": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayTunnelDetails"
          },
          "vpnProfile": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecGatewayPeersConfig": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "example string",
            "description": "Name of the IPsec gateway service"
          },
          "remotePeers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2IPsecGatewayRemotePeer"
            }
          },
          "routing": {
            "$ref": "#/components/schemas/manaV2IpsecRoutingConfig"
          }
        },
        "additionalProperties": false
      },
      "manaV2OciGatewayDetails": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "example": "example string"
          },
          "fastConnectOcid": {
            "type": "string",
            "example": "example string"
          },
          "routingPolicy": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2AwsAdvanceSettings": {
        "type": "object",
        "properties": {
          "addressFamily": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "allowedPrefixes": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "example string"
            }
          },
          "amazonBgpRouterIp": {
            "type": "string",
            "example": "example string"
          },
          "bgpAuthKey": {
            "type": "string",
            "example": "example string"
          },
          "customerBgpRouterIp": {
            "type": "string",
            "example": "example string"
          },
          "isJumbo": {
            "type": "boolean",
            "example": true
          }
        },
        "additionalProperties": false
      },
      "manaV2AWSGatewayDetailsTransitConnection": {
        "type": "object",
        "properties": {
          "credentials": {
            "$ref": "#/components/schemas/manaV2AwsCredentials"
          },
          "customerAsn": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "gateway": {
            "$ref": "#/components/schemas/manaV2AwsDirectConnectGateway"
          },
          "region": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2IpsecRoutingConfig": {
        "type": "object",
        "properties": {
          "bgp": {
            "$ref": "#/components/schemas/manaV2IPsecBgpRouteConfig"
          },
          "static": {
            "$ref": "#/components/schemas/manaV2IPsecStaticRouteConfig"
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecGatewayTunnelDetails": {
        "type": "object",
        "properties": {
          "insideIpv4Cidr": {
            "type": "string",
            "example": "example string"
          },
          "insideIpv6Cidr": {
            "type": "string",
            "example": "example string"
          },
          "localIkePeerIdentity": {
            "type": "string",
            "example": "example string"
          },
          "psk": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecGatewayRemotePeer": {
        "type": "object",
        "properties": {
          "destinationAddress": {
            "type": "string",
            "example": "example string"
          },
          "ikeInitiator": {
            "type": "boolean",
            "example": true,
            "description": "When true, Graphiant initiates IKE for this peer"
          },
          "mtu": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "name": {
            "type": "string",
            "example": "example string",
            "description": "Optional display name or label for this peer; used when generating tunnel names"
          },
          "remoteIkePeerIdentity": {
            "type": "string",
            "example": "example string",
            "description": "IKE identity of the remote peer"
          },
          "tcpMss": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "tunnel1": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayTunnelDetails"
          },
          "tunnel2": {
            "$ref": "#/components/schemas/manaV2IPsecGatewayTunnelDetails"
          },
          "vpnProfile": {
            "type": "string",
            "example": "example string",
            "description": "Enterprise IPsec VPN profile name for this peer"
          }
        },
        "additionalProperties": false
      },
      "manaV2AwsCredentials": {
        "type": "object",
        "properties": {
          "accessKeyId": {
            "type": "string",
            "example": "example string"
          },
          "secretAccessKey": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2AwsDirectConnectGateway": {
        "type": "object",
        "properties": {
          "asn": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "id": {
            "type": "string",
            "example": "example string"
          },
          "name": {
            "type": "string",
            "example": "example string"
          },
          "transitGateways": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2AwsTransitGateway"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecBgpRouteConfig": {
        "type": "object",
        "properties": {
          "addressFamilies": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/manaV2NullableBgpNeighborAddressFamilyConfig"
            }
          },
          "holdTimer": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "keepaliveTimer": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "md5Password": {
            "$ref": "#/components/schemas/manaV2NullableMd5Password"
          },
          "peerAsn": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "sendCommunity": {
            "type": "boolean",
            "example": true
          }
        },
        "additionalProperties": false
      },
      "manaV2IPsecStaticRouteConfig": {
        "type": "object",
        "properties": {
          "destinationPrefix": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "example string"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2AwsTransitGateway": {
        "type": "object",
        "properties": {
          "asn": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "id": {
            "type": "string",
            "example": "example string"
          },
          "vpcs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2AWSTransitGatewayVpc"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2NullableBgpNeighborAddressFamilyConfig": {
        "type": "object",
        "properties": {
          "family": {
            "$ref": "#/components/schemas/manaV2BgpNeighborAddressFamilyConfig"
          }
        },
        "additionalProperties": false
      },
      "manaV2NullableMd5Password": {
        "type": "object",
        "properties": {
          "md5Password": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2AWSTransitGatewayVpc": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "example string"
          },
          "subnets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2Subnet"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2BgpNeighborAddressFamilyConfig": {
        "type": "object",
        "properties": {
          "addressFamily": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "inboundPolicy": {
            "$ref": "#/components/schemas/manaV2NullablePolicyName"
          },
          "outboundPolicy": {
            "$ref": "#/components/schemas/manaV2NullablePolicyName"
          }
        },
        "additionalProperties": false
      },
      "manaV2Subnet": {
        "type": "object",
        "properties": {
          "cidr": {
            "type": "string",
            "example": "example string"
          },
          "id": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2NullablePolicyName": {
        "type": "object",
        "properties": {
          "policy": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "jwtAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "authorization",
        "description": "Use `Bearer <token>`"
      }
    }
  }
}
````

