{
"swagger": "2.0",
"info": {
"version": "2015-12-11T09:08:47Z",
"title": "mail-list.com test API"
},
"host": "qv6d1x3yh9.execute-api.us-east-1.amazonaws.com",
"basePath": "/test",
"schemes": [
"https"
],
"paths": {
"/accounts/{email_address}": {
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email_address",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "CreateAccountRequest",
"required": true,
"schema": {
"$ref": "#/definitions/CreateAccountRequest"
}
}
],
"responses": {
"201": {
"description": "201 response",
"schema": {
"$ref": "#/definitions/CreateAccountResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "201",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"email_address\" : \"$input.params().path.email_address\",\n \"password\" : \"$inputRoot.password\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:create_account/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"options": {
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Methods": "'PUT,PATCH,OPTIONS'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "{}"
}
}
},
"requestTemplates": {
"application/json": "{\"statusCode\": 200}"
},
"type": "mock"
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email_address",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "UpdateAccountRequest",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateAccountRequest"
}
}
],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/UpdateAccountResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"email_address\" : \"$input.params().path.email_address\",\n \"token\" : \"$inputRoot.token\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:update_account/invocations",
"httpMethod": "POST",
"type": "aws"
}
}
},
"/lists/{list_name}": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "GetListRequest",
"required": true,
"schema": {
"$ref": "#/definitions/GetListRequest"
}
}
],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/GetListResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"security": [
{
"api_key": []
}
],
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:get_list/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"head": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "GetListRequest",
"required": true,
"schema": {
"$ref": "#/definitions/GetListRequest"
}
}
],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{ }"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{ }"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{ }"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{ }"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:get_list/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "CreateListRequest",
"required": true,
"schema": {
"$ref": "#/definitions/CreateListRequest"
}
}
],
"responses": {
"201": {
"description": "201 response",
"schema": {
"$ref": "#/definitions/CreateListResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "201",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"email_address\" : \"$inputRoot.email_address\",\n \"password\" : \"$inputRoot.password\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:create_list/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"options": {
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Methods": "'HEAD,GET,OPTIONS,PUT'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "{}"
}
}
},
"requestTemplates": {
"application/json": "{\"statusCode\": 200}"
},
"type": "mock"
}
}
},
"/lists/{list_name}/members": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "include_admin",
"in": "query",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "GetMembersRequest",
"required": true,
"schema": {
"$ref": "#/definitions/GetMembersRequest"
}
}
],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/GetMembersResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"security": [
{
"api_key": []
}
],
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"include_admin\" : \"$input.params().querystring.include_admin\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:get_members/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"options": {
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Methods": "'GET,OPTIONS'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "{}"
}
}
},
"requestTemplates": {
"application/json": "{\"statusCode\": 200}"
},
"type": "mock"
}
}
},
"/lists/{list_name}/members/{email_address}": {
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email_address",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Empty",
"required": true,
"schema": {
"$ref": "#/definitions/Empty"
}
}
],
"responses": {
"201": {
"description": "201 response",
"schema": {
"$ref": "#/definitions/CreateMemberResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "201",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"email_address\" : \"$input.params().path.email_address\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:create_member/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email_address",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "DeleteMemberRequest",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteMemberRequest"
}
}
],
"responses": {
"204": {
"description": "204 response",
"schema": {
"$ref": "#/definitions/DeleteMemberResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "204",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"email_address\" : \"$input.params().path.email_address\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:delete_member/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"options": {
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Methods": "'DELETE,PUT,PATCH,OPTIONS'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "{}"
}
}
},
"requestTemplates": {
"application/json": "{\"statusCode\": 200}"
},
"type": "mock"
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email_address",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "UpdateMemberRequest",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateMemberRequest"
}
}
],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/UpdateMemberResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"409": {
"description": "409 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Conflict.": {
"statusCode": "409",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"email_address\" : \"$input.params().path.email_address\",\n \"token\" : \"$inputRoot.token\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:update_member/invocations",
"httpMethod": "POST",
"type": "aws"
}
}
},
"/lists/{list_name}/messages": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "list_name",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "CreateMessageRequest",
"required": true,
"schema": {
"$ref": "#/definitions/CreateMessageRequest"
}
}
],
"responses": {
"201": {
"description": "201 response",
"schema": {
"$ref": "#/definitions/CreateMessageResponse"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"400": {
"description": "400 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"403": {
"description": "403 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"404": {
"description": "404 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
},
"500": {
"description": "500 response",
"schema": {
"$ref": "#/definitions/Error"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"security": [
{
"api_key": []
}
],
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "201",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "passthrough"
}
},
"No such.": {
"statusCode": "404",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Internal.": {
"statusCode": "500",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Forbidden.": {
"statusCode": "403",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
},
"Invalid.": {
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Origin": "''"
},
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"message\" : \"$inputRoot.errorMessage\"\n}"
}
}
},
"requestTemplates": {
"application/json": "#set($inputRoot = $input.path('$'))\n{\n \"list_name\" : \"$input.params().path.list_name\",\n \"email_address\" : \"$inputRoot.email_address\",\n \"message\" : \"$util.escapeJavaScript($inputRoot.message)\"\n}"
},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:136424311573:function:create_message/invocations",
"httpMethod": "POST",
"type": "aws"
}
},
"options": {
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "200 response",
"schema": {
"$ref": "#/definitions/Empty"
},
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
}
}
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}"
}
}
},
"requestTemplates": {
"application/json": "{\"statusCode\": 200}"
},
"type": "mock"
}
}
}
},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"name": "x-api-key",
"in": "header"
}
},
"definitions": {
"GetListResponse": {
"type": "object",
"properties": {
"list_name": {
"type": "string"
},
"administrator": {
"type": "string"
},
"created": {
"type": "string"
}
}
},
"CreateMessageResponse": {
"type": "object",
"properties": {
"list_name": {
"type": "string"
},
"message_id": {
"type": "string"
}
}
},
"UpdateMemberResponse": {
"type": "object",
"properties": {
"list_name": {
"type": "string"
},
"email_address": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"UpdateAccountRequest": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
}
},
"CreateAccountResponse": {
"type": "object",
"properties": {
"email_address": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"GetMembersRequest": {
"type": "object"
},
"UpdateAccountResponse": {
"type": "object",
"properties": {
"email_address": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"Error": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"DeleteMemberResponse": {
"type": "object"
},
"CreateAccountRequest": {
"type": "object",
"properties": {
"password": {
"type": "string"
}
}
},
"Empty": {
"type": "object"
},
"CreateListResponse": {
"type": "object",
"properties": {
"list_name": {
"type": "string"
},
"administrator": {
"type": "string"
}
}
},
"DeleteMemberRequest": {
"type": "object"
},
"UpdateMemberRequest": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
}
},
"CreateMemberResponse": {
"type": "object",
"properties": {
"list_name": {
"type": "string"
},
"email_address": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"GetListRequest": {
"type": "object"
},
"CreateMessageRequest": {
"type": "object",
"properties": {
"email_address": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"CreateListRequest": {
"type": "object",
"properties": {
"email_address": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"GetMembersResponse": {
"type": "array",
"items": {
"type": "string"
}
}
}
}