{
  "name": "CreateApi",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudGateway.CreateApi",
    "service": "gateway"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
      "ProtocolType": {
        "enum": [
          "HTTP",
          "WEBSOCKET"
        ],
        "type": "string"
      }
    },
    "properties": {
      "description": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "name": {
        "type": "string"
      },
      "protocolType": {
        "anyOf": [
          {
            "$ref": "#/definitions/ProtocolType"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "routeSelectionExpression": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "name"
    ],
    "title": "CreateApiRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "ProtocolType": {
        "enum": [
          "HTTP",
          "WEBSOCKET"
        ],
        "type": "string"
      }
    },
    "properties": {
      "apiId": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "platformHostname": {
        "type": "string"
      },
      "protocolType": {
        "$ref": "#/definitions/ProtocolType"
      },
      "routeSelectionExpression": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "apiId",
      "name",
      "platformHostname",
      "protocolType"
    ],
    "title": "CreateApiResponse",
    "type": "object"
  }
}
