{
  "metadata" : {
    "apiVersion" : "2018-11-29",
    "endpointPrefix" : "execute-api",
    "signingName" : "execute-api",
    "serviceFullName" : "AmazonApiGatewayManagementApi",
    "serviceId" : "ApiGatewayManagementApi",
    "protocol" : "rest-json",
    "jsonVersion" : "1.1",
    "uid" : "apigatewaymanagementapi-2018-11-29",
    "signatureVersion" : "v4"
  },
  "operations" : {
    "PostToConnection" : {
      "name" : "PostToConnection",
      "http" : {
        "method" : "POST",
        "requestUri" : "/@connections/{connectionId}",
        "responseCode" : 200
      },
      "input" : {
        "shape" : "PostToConnectionRequest"
      },
      "errors" : [ {
        "shape" : "GoneException",
        "documentation" : "<p>The connection with the provided id no longer exists.</p>"
      }, {
        "shape" : "LimitExceededException",
        "documentation" : "<p>The client is sending more than the allowed number of requests per unit of time.</p>"
      }, {
        "shape" : "PayloadTooLargeException",
        "documentation" : "<p>The data has exceeded the maximum size allowed.</p>"
      }, {
        "shape" : "ForbiddenException",
        "documentation" : "<p>The caller is not authorized to invoke this operation.</p>"
      } ],
      "documentation" : "<p>Sends the provided data to the specified connection.</p>"
    }
  },
  "shapes" : {
    "Data" : {
      "type" : "blob",
      "max" : 131072,
      "documentation" : "<p>The data to be sent to the client specified by its connection id.</p>"
    },
    "ForbiddenException" : {
      "type" : "structure",
      "members" : { },
      "exception" : true,
      "error" : {
        "httpStatusCode" : 403
      },
      "documentation" : "<p>The caller is not authorized to invoke this operation.</p>"
    },
    "GoneException" : {
      "type" : "structure",
      "members" : { },
      "exception" : true,
      "error" : {
        "httpStatusCode" : 410
      },
      "documentation" : "<p>The connection with the provided id no longer exists.</p>"
    },
    "LimitExceededException" : {
      "type" : "structure",
      "members" : { },
      "exception" : true,
      "error" : {
        "httpStatusCode" : 429
      },
      "documentation" : "<p>The client is sending more than the allowed number of requests per unit of time.</p>"
    },
    "PayloadTooLargeException" : {
      "type" : "structure",
      "members" : {
        "Message" : {
          "shape" : "__string",
          "locationName" : "message"
        }
      },
      "exception" : true,
      "error" : {
        "httpStatusCode" : 413
      },
      "documentation" : "<p>The data has exceeded the maximum size allowed.</p>"
    },
    "PostToConnectionRequest" : {
      "type" : "structure",
      "members" : {
        "Data" : {
          "shape" : "Data",
          "documentation" : "<p>The data to be sent to the client specified by its connection id.</p>"
        },
        "ConnectionId" : {
          "shape" : "__string",
          "location" : "uri",
          "locationName" : "connectionId",
          "documentation" : "<p>The identifier of the connection that a specific client is using.</p>"
        }
      },
      "required" : [ "ConnectionId", "Data" ],
      "payload" : "Data"
    },
    "__string" : {
      "type" : "string"
    }
  },
  "documentation" : "<p>The Amazon API Gateway Management API allows you to directly manage runtime aspects of your deployed APIs. To use it, you must explicitly set the SDK's endpoint to point to the endpoint of your deployed API. The endpoint will be of the form https://{api-id}.execute-api.{region}.amazonaws.com/{stage}, or will be the endpoint corresponding to your API's custom domain and base path, if applicable.</p>"
}
