{"swagger": "2.0", "info": {"description": "OceanIO DaaS.", "version": "2.0.0", "title": "daas-production-api-gateway", "termsOfService": "https://gatehousemaritime.com/ghm-files/legals/oceanio/ghm-oceanio-general-terms-and-conditions-subscription.pdf?v2_1", "contact": {"name": "Support", "email": "support@gatehousemaritime.com"}}, "host": "api.oceanio.com", "basePath": "/", "tags": [{"name": "authentication", "externalDocs": {"description": "Find out more", "url": "https://gatehousemaritime.com/docs/oceanio/"}}, {"name": "equipments", "description": "Access to equipments"}, {"name": "events", "description": "Access to events"}, {"name": "locations", "description": "Access to locations"}, {"name": "port-intelligence", "description": "Access to port congestion"}, {"name": "routes", "description": "Access to routes"}, {"name": "schedules", "description": "Access to schedules"}, {"name": "vessel-track-advanced", "description": "Access to Vessel track advanced"}, {"name": "vessel-track-basic", "description": "Access to Vessel track basic"}, {"name": "transports", "description": "Access to transports"}, {"name": "auxiliaries", "description": "Access to helper information and settings"}, {"name": "administration", "description": "Access to administrative information and settings"}, {"name": "tradelane-analytics", "description": "Access to tradelane-analytics"}], "schemes": ["https"], "x-amazon-apigateway-gateway-responses": {"MISSING_AUTHENTICATION_TOKEN": {"responseParameters": {"gatewayresponse.header.Access-Control-Allow-Origin": "'*'"}, "responseTemplates": {"application/json": "{\n  \"type\": \"https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE\",\n  \"title\": \"Invalid or missing API key\",\n  \"error_code\": 0,\n  \"status\": 403,\n  \"detail\": \"Invalid or missing API key\",\n  \"correlation_id\": \"\"\n}"}}, "INVALID_API_KEY": {"responseParameters": {"gatewayresponse.header.Access-Control-Allow-Origin": "'*'"}, "responseTemplates": {"application/json": "{\n  \"type\": \"https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE\",\n  \"title\": \"Invalid or missing API key\",\n  \"error_code\": 0,\n  \"status\": 403,\n  \"detail\": \"Invalid or missing API key\",\n  \"correlation_id\": \"\"\n}"}}}, "x-definitions": {"responseTemplateSets": {"errorResponseTemplates": {"responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}}, "paths": {"/authentication/login": {"post": {"tags": ["authentication"], "summary": "Create token", "operationId": "operationId", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{"in": "body", "name": "loginRequest", "description": "Uses loginRequest model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/loginRequest"}}], "responses": {"201": {"description": "Successful operation", "schema": {"$ref": "#/definitions/loginResponse"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.USERS_SERVICE_URL}/authentication/login", "httpMethod": "POST", "responses": {"default": {"statusCode": "201", "responseTemplates": {"application/json": "{\n  \"token\": $input.json('$.token'),\n  \"expires\": $input.json('$.expires')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "passthroughBehavior": "when_no_match"}}}, "/authentication/logout": {"delete": {"tags": ["authentication"], "summary": "Delete token", "produces": ["application/json", "application/problem+json"], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.USERS_SERVICE_URL}/authentication/logout", "httpMethod": "DELETE", "responses": {"default": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/equipments/states": {"get": {"tags": ["equipments"], "summary": "Returns the newest state for the equipments related to your transports (BETA)", "produces": ["application/json"], "parameters": [{"name": "sort", "in": "query", "description": "Indicates sort order and which fields should be non-empty when using exclude_empty. Sort on UN_LOCATION_CODE is using current_un_location_code.", "required": false, "type": "string", "enum": ["LAST_FREE_DAYS", "UN_LOCATION_CODE", "FEES_AT_POD_TERMINAL", "HOLDS_AT_POD_TERMINAL"], "default": "LAST_FREE_DAYS"}, {"name": "order", "in": "query", "description": "ASC or DESC", "required": false, "type": "string", "enum": ["ASC", "DESC"], "default": "ASC"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}, {"name": "exclude_empty", "in": "query", "description": "If true and e.g. LAST_FREE_DAYS chosen then only records with non_empty freedays will be returned.", "required": false, "type": "boolean", "default": true}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/equipmentStates"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/states", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))                  \n  {\n    \"equipment_reference\" : $input.json(\"$.[${foreach.index}].equipment_reference\"),\n    \"equipment_state\" : $input.json(\"$.[${foreach.index}].equipment_state\"),\n    \"equipment_sub_state\" : $input.json(\"$.[${foreach.index}].equipment_sub_state\"),\n    \"equipment_mode_of_transportation\" : $input.json(\"$.[${foreach.index}].equipment_mode_of_transportation\"),\n    \"empty_indicator_code\" : $input.json(\"$.[${foreach.index}].empty_indicator_code\"),\n    \"state_datetime\" : $input.json(\"$.[${foreach.index}].state_datetime\"),\n    \"state_timeout_datetime\" : $input.json(\"$.[${foreach.index}].state_timeout_datetime\"),\n    \"current_un_location_code\" : $input.json(\"$.[${foreach.index}].current_un_location_code\"),\n    \"gross_weight\" : $input.json(\"$.[${foreach.index}].gross_weight\"),\n    \"last_free_datetime\" : $input.json(\"$.[${foreach.index}].last_free_datetime\"),\n    \"last_free_days\" : $input.json(\"$.[${foreach.index}].last_free_days\"),\n    \"port_terminal_code\" : $input.json(\"$.[${foreach.index}].port_terminal_code\"),\n    \"port_terminal_name\" : $input.json(\"$.[${foreach.index}].port_terminal_name\"),\n    \"pickup_appointment_datetime\" : $input.json(\"$.[${foreach.index}].pickup_appointment_datetime\"),\n    \"available_for_pickup\" : $input.json(\"$.[${foreach.index}].available_for_pickup\"),\n    \"available_for_pickup_description\" : $input.json(\"$.[${foreach.index}].available_for_pickup_description\"),\n    \"fees_at_pod_terminal\" : $input.json(\"$.[${foreach.index}].fees_at_pod_terminal\"),\n    \"holds_at_pod_terminal\" : $input.json(\"$.[${foreach.index}].holds_at_pod_terminal\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.sort": "method.request.querystring.sort", "integration.request.querystring.order": "method.request.querystring.order", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.exclude_empty": "method.request.querystring.exclude_empty", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/equipments/{equipment_reference}": {"get": {"tags": ["equipments"], "summary": "Return equipment by equipment_reference", "produces": ["application/json"], "parameters": [{"name": "equipment_reference", "description": "Refers to the equipment_reference_number of an equipment", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/equipment"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/{equipment_reference}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"equipment_name\" : $input.json('$.equipment_name'),\n  \"iso_equipment_code\" : $input.json('$.iso_equipment_code'),\n  \"length\" : $input.json('$.length'),\n  \"height\" : $input.json('$.height'),\n  \"width\" : $input.json('$.width'),\n  \"type\" : $input.json('$.type')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.equipment_reference": "method.request.path.equipment_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/equipments/{equipment_reference}/state": {"get": {"tags": ["equipments"], "summary": "Returns the newest state for the entered equipment_reference (BETA)", "produces": ["application/json"], "parameters": [{"name": "equipment_reference", "description": "Refers to the equipment_reference of an equipment", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/equipmentState"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/{equipment_reference}/state", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"equipment_state\" : $input.json('$.equipment_state'),\n  \"equipment_sub_state\" : $input.json('$.equipment_sub_state'),\n  \"equipment_mode_of_transportation\" : $input.json('$.equipment_mode_of_transportation'),\n  \"empty_indicator_code\" : $input.json('$.empty_indicator_code'),\n  \"state_datetime\" : $input.json('$.state_datetime'),\n  \"state_timeout_datetime\" : $input.json('$.state_timeout_datetime'),\n  \"current_un_location_code\" : $input.json('$.current_un_location_code'),\n  \"gross_weight\" : $input.json('$.gross_weight'),\n  \"last_free_datetime\" : $input.json('$.last_free_datetime'),\n  \"last_free_days\" : $input.json('$.last_free_days'),\n  \"port_terminal_code\" : $input.json('$.port_terminal_code'),\n  \"port_terminal_name\" : $input.json('$.port_terminal_name'),\n  \"pickup_appointment_datetime\" : $input.json('$.pickup_appointment_datetime'),\n  \"available_for_pickup\" : $input.json('$.available_for_pickup'),\n  \"available_for_pickup_description\" : $input.json('$.available_for_pickup_description'),\n  \"fees_at_pod_terminal\" : $input.json('$.fees_at_pod_terminal'),\n  \"holds_at_pod_terminal\" : $input.json('$.holds_at_pod_terminal')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.equipment_reference": "method.request.path.equipment_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/equipments/{equipment_reference}/events": {"get": {"tags": ["equipments"], "summary": "Return events for an equipment by equipment_reference", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50, 100, 200, 500], "default": 10}, {"name": "equipment_reference", "description": "Refers to the equipment_reference of an equipment", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/events"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/{equipment_reference}/events", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.equipment_reference": "method.request.path.equipment_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/v2/equipments/{equipment_reference}/events": {"get": {"tags": ["equipments"], "summary": "Return events for an equipment by equipment_reference", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date  in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50, 100, 200, 500], "default": 10}, {"name": "equipment_reference", "description": "Refers to the equipment_reference of an equipment", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/v2Events"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/v2/{equipment_reference}/events", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.equipment_reference": "method.request.path.equipment_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/v3/equipments/{equipment_reference}/events": {"get": {"tags": ["equipments"], "summary": "Return events for an equipment by equipment_reference", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date  in UTC. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50, 100, 200, 500], "default": 10}, {"name": "equipment_reference", "description": "Refers to the equipment_reference of an equipment", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/v2Events"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/equipments/v3/{equipment_reference}/events", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.equipment_reference": "method.request.path.equipment_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/events": {"get": {"tags": ["events"], "summary": "Return upcoming events", "produces": ["application/json"], "parameters": [{"in": "query", "name": "limit", "description": "The maximum number of events to retrieve. Max is 500.", "required": false, "type": "integer", "default": 500}, {"in": "query", "name": "from_beginning", "description": "If true, resets your cursor to the earliest event in the system before reading.", "required": false, "type": "boolean", "default": false}, {"in": "query", "name": "return_latest", "description": "Re-send the latest event that you have received. E.g. the event_datetime can be used to determine which event you have retrieved from OceanIO.", "required": false, "type": "boolean", "default": false}, {"name": "from_datetime", "description": "Datetime to use when retrieving events. Format: (YYYY-MM-DDTHH:MM:SSZ). Example: 2023-09-22T08:30:00+02:00", "in": "query", "type": "string", "required": false, "format": "date-time"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/latestEvents"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.OUTBOUND_SERVICE_URL}/events/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.limit": "method.request.querystring.limit", "integration.request.querystring.from_beginning": "method.request.querystring.from_beginning", "integration.request.querystring.return_latest": "method.request.querystring.return_latest", "integration.request.querystring.from_datetime": "method.request.querystring.from_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/exceptions": {"get": {"tags": ["events"], "summary": "Return upcoming exceptions", "produces": ["application/json"], "parameters": [{"in": "query", "name": "limit", "description": "The maximum number of exceptions to retrieve. Default and maximum is 500.", "required": false, "type": "integer", "default": 500}, {"in": "query", "name": "from_beginning", "description": "If true, resets your cursor to the earliest event in the system before reading.", "required": false, "type": "boolean", "default": false}, {"in": "query", "name": "return_latest", "description": "Re-send the latest exception that you have received. E.g. the exception_datetime can be used to determine which event you have retrieved from OceanIO.", "required": false, "type": "boolean", "default": false}, {"name": "from_datetime", "description": "Datetime to use when retrieving exceptions. Format: (YYYY-MM-DDTHH:MM:SSZ). Example: 2023-09-22T08:30:00+02:00", "in": "query", "type": "string", "required": false, "format": "date-time"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/latestExceptions"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.OUTBOUND_SERVICE_URL}/exceptions/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.limit": "method.request.querystring.limit", "integration.request.querystring.from_beginning": "method.request.querystring.from_beginning", "integration.request.querystring.return_latest": "method.request.querystring.return_latest", "integration.request.querystring.from_datetime": "method.request.querystring.from_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/notifications": {"get": {"tags": ["events"], "summary": "Return upcoming notifications", "produces": ["application/json"], "parameters": [{"in": "query", "name": "limit", "description": "The maximum number of notifications to retrieve. Default and maximum is 500.", "required": false, "type": "integer", "default": 500}, {"in": "query", "name": "from_beginning", "description": "If true, resets your cursor to the earliest notifications in the system before reading.", "required": false, "type": "boolean", "default": false}, {"in": "query", "name": "return_latest", "description": "Re-send the latest notification that you have received. E.g. the notification_datetime can be used to determine which event you have retrieved from OceanIO.", "required": false, "type": "boolean", "default": false}, {"name": "from_datetime", "description": "Datetime to use when retrieving notifications. Format: (YYYY-MM-DDTHH:MM:SSZ). Example: 2023-09-22T08:30:00+02:00", "in": "query", "type": "string", "required": false, "format": "date-time"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/latestNotifications"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.OUTBOUND_SERVICE_URL}/notifications/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.limit": "method.request.querystring.limit", "integration.request.querystring.from_beginning": "method.request.querystring.from_beginning", "integration.request.querystring.return_latest": "method.request.querystring.return_latest", "integration.request.querystring.from_datetime": "method.request.querystring.from_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/activity-logs": {"get": {"responses": {"200": {"description": "Successful operation", "schema": {"type": "array", "items": {"$ref": "#/definitions/activityLog"}}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Returns activity logs", "produces": ["application/json"], "operationId": "get_activity_logs_controller", "parameters": [{"name": "page", "in": "query", "type": "integer", "description": "Page number - starting from 1!", "default": 1}, {"name": "page_size", "in": "query", "type": "integer", "description": "Results per page", "default": 10, "enum": [2, 10, 20, 30, 40, 50]}, {"name": "equipment_reference", "in": "query", "type": "string", "description": "filter activity logs with this equipment reference"}, {"name": "webhook_id", "in": "query", "type": "integer", "description": "filter activity logs with this webhook id"}], "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/activity-logs/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"webhook_id\" : $input.json(\"$.[${foreach.index}].webhook_id\"),\n    \"webhook_name\" : $input.json(\"$.[${foreach.index}].webhook_name\"),\n    \"equipment_reference\" : $input.json(\"$.[${foreach.index}].equipment_reference\"),\n    \"status\" : $input.json(\"$.[${foreach.index}].status\"),\n    \"error_message\" : $input.json(\"$.[${foreach.index}].error_msg\"),\n    \"data_pushed_datetime\" : $input.json(\"$.[${foreach.index}].data_pushed_timestamp\"),\n    \"post_elapsed_time_sec\" : $input.json(\"$.[${foreach.index}].post_elapsed_time_sec\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.querystring.equipment_reference": "method.request.querystring.equipment_reference", "integration.request.querystring.webhook_id": "method.request.querystring.webhook_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/activity-logs/{id}": {"get": {"parameters": [{"in": "path", "description": "activity log id", "name": "id", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/activityLog"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Return activity log by id", "produces": ["application/json"], "operationId": "get_activity_log_controller", "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/activity-logs/{id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"webhook_id\" : $input.json('$.webhook_id'),\n  \"webhook_name\" : $input.json('$.webhook_name'),\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"status\" : $input.json('$.status'),\n  \"error_message\" : $input.json('$.error_msg'),\n  \"data_pushed_datetime\" : $input.json('$.data_pushed_timestamp'),\n  \"post_elapsed_time_sec\" : $input.json('$.post_elapsed_time_sec')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/webhooks": {"post": {"responses": {"201": {"description": "Created", "schema": {"$ref": "#/definitions/webhook"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Create new webhook", "operationId": "post_webhooks_controller", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/webhook"}}], "tags": ["events"], "produces": ["application/json"], "consumes": ["application/json"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/webhooks/", "httpMethod": "POST", "responses": {"201": {"statusCode": "201", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"webhook_name\" : $input.json('$.webhook_name'),\n  \"enabled\" : $input.json('$.enabled'),\n  \"type\" : $input.json('$.type'),\n  \"callback_url\" : $input.json('$.callback_url'),\n  \"callback_url_type\" : $input.json('$.callback_url_type'),\n  \"authorization_type\" : $input.json('$.authorization_type'),\n  \"basic_username\" : $input.json('$.basic_username'),\n  \"basic_password\" : $input.json('$.basic_password'),\n  \"api_key\" : $input.json('$.api_key'),\n  \"oauth_token_server_url\" : $input.json('$.oauth_token_server_url'),\n  \"oauth_client_cred_client_id\" : $input.json('$.oauth_client_cred_client_id'),\n  \"oauth_client_cred_client_secret\" : $input.json('$.oauth_client_cred_client_secret'),\n  \"max_req_per_minute\" : $input.json('$.max_req_per_minute')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "get": {"responses": {"200": {"description": "Successful operation", "schema": {"type": "array", "items": {"$ref": "#/definitions/webhook"}}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Return webhooks", "operationId": "get_webhooks_controller", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "type": "integer", "description": "Page number - starting from 1!", "default": 1}, {"name": "page_size", "in": "query", "type": "integer", "description": "Results per page", "default": 10, "enum": [2, 10, 20, 30, 40, 50]}, {"name": "name", "in": "query", "type": "string", "description": "search in webhook name field"}], "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/webhooks/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"webhook_name\" : $input.json(\"$.[${foreach.index}].webhook_name\"),\n    \"enabled\" : $input.json(\"$.[${foreach.index}].enabled\"),\n    \"type\" : $input.json(\"$.[${foreach.index}].type\"),\n    \"callback_url\" : $input.json(\"$.[${foreach.index}].callback_url\"),\n    \"callback_url_type\" : $input.json(\"$.[${foreach.index}].callback_url_type\"),\n    \"authorization_type\" : $input.json(\"$.[${foreach.index}].authorization_type\"),\n    \"basic_username\" : $input.json(\"$.[${foreach.index}].basic_username\"),\n    \"basic_password\" : $input.json(\"$.[${foreach.index}].basic_password\"),\n    \"api_key\" : $input.json(\"$.[${foreach.index}].api_key\"),\n    \"oauth_token_server_url\" : $input.json(\"$.[${foreach.index}].oauth_token_server_url\"),\n    \"oauth_client_cred_client_id\" : $input.json(\"$.[${foreach.index}].oauth_client_cred_client_id\"),\n    \"oauth_client_cred_client_secret\" : $input.json(\"$.[${foreach.index}].oauth_client_cred_client_secret\"),\n    \"max_req_per_minute\" : $input.json(\"$.[${foreach.index}].max_req_per_minute\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.querystring.name": "method.request.querystring.name", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/webhooks/{id}": {"get": {"parameters": [{"in": "path", "description": "webhook id", "name": "id", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/webhook"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Return webhook by id", "operationId": "get_webhook_controller", "produces": ["application/json"], "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/webhooks/{id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"webhook_name\" : $input.json('$.webhook_name'),\n  \"enabled\" : $input.json('$.enabled'),\n  \"type\" : $input.json('$.type'),\n  \"callback_url\" : $input.json('$.callback_url'),\n  \"callback_url_type\" : $input.json('$.callback_url_type'),\n  \"authorization_type\" : $input.json('$.authorization_type'),\n  \"basic_username\" : $input.json('$.basic_username'),\n  \"basic_password\" : $input.json('$.basic_password'),\n  \"api_key\" : $input.json('$.api_key'),\n  \"oauth_token_server_url\" : $input.json('$.oauth_token_server_url'),\n  \"oauth_client_cred_client_id\" : $input.json('$.oauth_client_cred_client_id'),\n  \"oauth_client_cred_client_secret\" : $input.json('$.oauth_client_cred_client_secret'),\n  \"max_req_per_minute\" : $input.json('$.max_req_per_minute')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"responses": {"204": {"description": "Successful operation", "schema": {"$ref": "#/definitions/webhook"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Update an existing webhook identified by id", "operationId": "put_webhook_controller", "parameters": [{"in": "path", "description": "webhook id", "name": "id", "required": true, "type": "integer"}, {"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/webhook"}}], "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/webhooks/{id}", "httpMethod": "PUT", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"parameters": [{"in": "path", "description": "webhook id", "name": "id", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation", "schema": {"$ref": "#/definitions/webhook"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "summary": "Delete an existing webhook identified by id", "operationId": "delete_webhook_controller", "tags": ["events"], "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.PUSH_CONNECTOR_SERVICE_URL}/webhooks/{id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/carriers": {"get": {"tags": ["auxiliaries"], "summary": "Return a list of supported carriers", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/vesselOperatorCarrierCodes"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/connector_vessel_operator_carrier_codes", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "$input.json('$[0].vessel_operator_carrier_codes')"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.per_page": "method.request.querystring.page_size", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/carriers/{vessel_operator_carrier_code}": {"get": {"tags": ["auxiliaries"], "summary": "Returns supported vessel_operator_carrier_code, along with the supported tracking types.", "produces": ["application/json"], "parameters": [{"name": "vessel_operator_carrier_code", "in": "path", "description": "The vessel_operator_carrier_code to check support for", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/carrierInfo"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/connector_vessel_operator_carrier_codes/{vessel_operator_carrier_code}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{  \n  \"vessel_operator_carrier_code\" : $input.json('$.vessel_operator_carrier_code'),\n  \"equipment_reference_supported\" : $input.json('$.equipment_reference_supported'),\n  \"bill_of_lading_number_supported\" : $input.json('$.bill_of_lading_number_supported'),\n  \"carrier_booking_reference_supported\" : $input.json('$.carrier_booking_reference_supported')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_operator_carrier_code": "method.request.path.vessel_operator_carrier_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/locations": {"get": {"tags": ["locations"], "summary": "Return all locations", "produces": ["application/json"], "parameters": [{"in": "query", "name": "location_name", "description": "Fuzzy search on location name", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/locations"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.LOCATIONS_SERVICE_URL}/locodes", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n    {  \n      \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n      \"un_location_code\" : $input.json(\"$.[${foreach.index}].locode\"),\n      \"location_name\" : $input.json(\"$.[${foreach.index}].locode_name\"),\n      \"location_country\" : $input.json(\"$.[${foreach.index}].country\"),\n      \"latitude\" : $input.json(\"$.[${foreach.index}].pos.latitude\"),\n      \"longitude\" : $input.json(\"$.[${foreach.index}].pos.longitude\"),\n      \"location_timezone\" : $input.json(\"$.[${foreach.index}].timezone\")\n    }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.locode_name": "method.request.querystring.location_name", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/locations/{un_location_code}": {"get": {"tags": ["locations"], "summary": "Return location by locode", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Refers to the locode of a location", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/location"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.LOCATIONS_SERVICE_URL}/locodes/{un_location_code}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{  \n  \"id\" : $input.json('$.id'),\n  \"un_location_code\" : $input.json('$.locode'),\n  \"location_name\" : $input.json('$.locode_name'),\n  \"location_country\" : $input.json('$.country'),\n  \"latitude\" : $input.json('$.pos.latitude'),\n  \"longitude\" : $input.json('$.pos.longitude'),\n  \"location_timezone\" : $input.json('$.timezone')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports": {"get": {"tags": ["locations"], "summary": "Return all ports", "produces": ["application/json"], "parameters": [{"in": "query", "name": "location_name", "description": "Fuzzy search on location name", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/ports"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.LOCATIONS_SERVICE_URL}/ports", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n    {  \n      \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n      \"un_location_code\" : $input.json(\"$.[${foreach.index}].locode\"),\n      \"location_name\" : $input.json(\"$.[${foreach.index}].locode_name\"),\n      \"location_country\" : $input.json(\"$.[${foreach.index}].country\"),\n      \"latitude\" : $input.json(\"$.[${foreach.index}].pos.latitude\"),\n      \"longitude\" : $input.json(\"$.[${foreach.index}].pos.longitude\"),\n      \"location_timezone\" : $input.json(\"$.[${foreach.index}].timezone\"),\n      \"location_subdivision\" : $input.json(\"$.[${foreach.index}].subdivision\"),\n      \"location_port_type\" : $input.json(\"$.[${foreach.index}].port_type\"),\n      \"location_port_size\" : $input.json(\"$.[${foreach.index}].port_size\")\n    }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.locode_name": "method.request.querystring.location_name", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/schedules": {"get": {"tags": ["schedules"], "summary": "Returns a list of vessel schedules between origin and destination", "produces": ["application/json"], "parameters": [{"name": "origin", "in": "query", "description": "Sets the point of which to start the schedule.", "required": false, "type": "string"}, {"name": "destination", "in": "query", "description": "Sets the point of which to end the schedule.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [1, 2, 3, 4, 5], "default": 2}, {"name": "carrier_scac", "description": "Defines a specific carrier to sort for.", "in": "query", "required": false, "type": "string"}, {"name": "schedules", "description": "Returns either the current, next or within a timeinterval from origin and destination. Defaults to CURRENT.", "in": "query", "type": "string", "enum": ["CURRENT", "NEXT", "TIMEINTERVAL"], "required": false}, {"name": "begin_datetime", "description": "Begin date to use if TIMEINTERVAL is chosen. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2023-09-10T08:30:00+02:00", "in": "query", "type": "string", "format": "date-time"}, {"name": "end_datetime", "description": "End date to use if TIMEINTERVAL is chosen. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2024-09-22T08:30:00+02:00", "in": "query", "type": "string", "format": "date-time"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/schedules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedules", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  #set($outIndex = $foreach.index)\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"carrier_service_code\" : $input.json(\"$.[${foreach.index}].carrier_service_code\"),\n    \"carrier_service_name\" : $input.json(\"$.[${foreach.index}].carrier_service_name\"),\n    \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel_imo_number\"),\n    \"vessel_name\" : $input.json(\"$.[${foreach.index}].vessel_name\"),\n    \"source_name\" : $input.json(\"$.[${foreach.index}].source_name\"),\n    \"port_calls\" : \n    [\n      #foreach($portcall in $elem.port_calls)\n      {\n        \"port_call_status_code\": $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].port_call_status_code\"),\n        \"import_voyage_number\": $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].import_voyage_number\"),\n        \"export_voyage_number\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].export_voyage_number\"),\n        \"un_location_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].un_location_code\"),\n        \"location_name\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].location_name\"),\n        \"country\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].country\"),\n        \"timezone\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].timezone\"),\n        \"port_terminal_location\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].port_terminal_location\"),\n        \"facility_type_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].facility_type_code\"),\n        \"facility_smdg_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].facility_smdg_code\"),\n        \"other_facility\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].other_facility\"),\n        \"delay_reason_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].delay_reason_code\"),\n        \"change_remark\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].change_remark\"),\n        \"transport_event_type_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].transport_event_type_code\"),\n        \"event_classifier_code\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].event_classifier_code\"),\n        \"event_datetime\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].event_datetime\"),\n        \"cy_cut_off\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].cy_cut_off\"),\n        \"fcl_cut_off\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].fcl_cut_off\"),\n        \"vgm_cut_off\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].vgm_cut_off\"),\n        \"dg_cut_off\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].dg_cut_off\"),\n        \"si_cut_off\" : $input.json(\"$.[${outIndex}].port_calls[${foreach.index}].si_cut_off\")\n      }\n      #if($foreach.hasNext),#end\n      #end\n    ]\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.origin": "method.request.querystring.origin", "integration.request.querystring.destination": "method.request.querystring.destination", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.carrier_scac": "method.request.querystring.carrier_scac", "integration.request.querystring.schedules": "method.request.querystring.schedules", "integration.request.querystring.begin_datetime": "method.request.querystring.begin_datetime", "integration.request.querystring.end_datetime": "method.request.querystring.end_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/vessels/schedules": {"get": {"tags": ["schedules"], "summary": "Return schedules based on vessel imo number or vessel name", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [1, 2, 3, 4, 5], "default": 2}, {"name": "carrier_scac", "description": "Defines a specific carrier to sort for.", "in": "query", "required": false, "type": "string"}, {"name": "vessel_name", "description": "Search for schedule by vessel name.", "in": "query", "required": false, "type": "string"}, {"name": "vessel_imo_number", "description": "Search for schedule by vessel imo number.", "in": "query", "required": false, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/schedules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/vessels/schedules", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.carrier_scac": "method.request.querystring.carrier_scac", "integration.request.querystring.vessel_name": "method.request.querystring.vessel_name", "integration.request.querystring.vessel_imo_number": "method.request.querystring.vessel_imo_number", "integration.request.querystring.is_external": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/point-to-point-schedules": {"get": {"tags": ["schedules"], "summary": "Return point-to-point schedules with possible transhipments included", "produces": ["application/json"], "parameters": [{"name": "origin_un_location_code", "in": "query", "required": true, "type": "string", "description": "The un_location_code (locode) for the origin target port"}, {"name": "destination_un_location_code", "in": "query", "required": true, "type": "string", "description": "The un_location_code (locode) for the destination target port"}, {"name": "carrier_scac", "description": "Defines a specific carrier to find schedule from.", "in": "query", "required": false, "type": "string"}, {"name": "min_departure_datetime", "description": "Minimum departure time from origin. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2023-09-22T08:30:00+02:00", "in": "query", "type": "string", "required": true, "format": "date-time"}, {"name": "max_departure_datetime", "description": "Maximum departure time from origin. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2023-09-25T08:30:00+02:00", "in": "query", "type": "string", "required": true, "format": "date-time"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/pointToPointSchedules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedules/point-to-point-schedules", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.carrier_scac": "method.request.querystring.carrier_scac", "integration.request.querystring.origin": "method.request.querystring.origin_un_location_code", "integration.request.querystring.destination": "method.request.querystring.destination_un_location_code", "integration.request.querystring.min_departure_datetime": "method.request.querystring.min_departure_datetime", "integration.request.querystring.max_departure_datetime": "method.request.querystring.max_departure_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/subscriptions/schedule-change/": {"get": {"tags": ["subscriptions"], "summary": "Returns a list of schedule change subscriptions", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/scheduleChanges"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedule-change-subscriptions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  #set($outIndex = $foreach.index)\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel_imo_number\"),\n    \"notification_threshold\" : $input.json(\"$.[${foreach.index}].notification_threshold\"),\n    \"subscription_begin_datetime\" : $input.json(\"$.[${foreach.index}].subscription_begin_datetime\"),\n    \"subscription_end_datetime\" : $input.json(\"$.[${foreach.index}].subscription_end_datetime\"),\n    \"subscription_observation_datetime\" : $input.json(\"$.[${foreach.index}].subscription_observation_datetime\"),\n    \"vessel_operator_carrier_codes\" : $input.json(\"$.[${foreach.index}].vessel_operator_carrier_codes\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "post": {"tags": ["subscriptions"], "summary": "Create schedule subscription", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{"in": "body", "name": "schedule_change", "description": "Uses scheduleChange model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/scheduleChangeRequest"}}], "responses": {"201": {"description": "Created", "schema": {"$ref": "#/definitions/scheduleChange"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedule-change-subscriptions", "httpMethod": "POST", "responses": {"default": {"statusCode": "201", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n  \"id\" : $input.json('$.id'),\n  \"vessel_imo_number\" : $input.json(\"$.vessel_imo_number\"),\n  \"notification_threshold\" : $input.json(\"$.notification_threshold\"),\n  \"subscription_end_datetime\" : $input.json(\"$.subscription_end_datetime\"),\n  \"subscription_begin_datetime\" : $input.json(\"$.subscription_begin_datetime\"),\n  \"subscription_observation_datetime\" : $input.json(\"$.subscription_observation_datetime\"),\n  \"vessel_operator_carrier_codes\" : $input.json(\"$.vessel_operator_carrier_codes\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/subscriptions/schedule-change/vessel-imo-number/{vessel_imo_number}": {"get": {"tags": ["subscriptions"], "summary": "Return schedule change subscription by vessel imo number", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_number", "in": "path", "description": "The vessel_imo_number for the schedule change subscription", "required": true, "type": "integer"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/scheduleChange"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedule-change-subscriptions/vessel_imo_number/{vessel_imo_number}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  #set($outIndex = $foreach.index)\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel_imo_number\"),\n    \"notification_threshold\" : $input.json(\"$.[${foreach.index}].notification_threshold\"),\n    \"subscription_begin_datetime\" : $input.json(\"$.[${foreach.index}].subscription_begin_datetime\"),\n    \"subscription_end_datetime\" : $input.json(\"$.[${foreach.index}].subscription_end_datetime\"),\n    \"subscription_observation_datetime\" : $input.json(\"$.[${foreach.index}].subscription_observation_datetime\"),\n    \"vessel_operator_carrier_codes\" : $input.json(\"$.[${foreach.index}].vessel_operator_carrier_codes\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_imo_number": "method.request.path.vessel_imo_number", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/subscriptions/schedule-change/{id}": {"get": {"tags": ["subscriptions"], "summary": "Return schedule change subscription by an id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "The unique id for the schedule change subscription", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/scheduleChange"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedule-change-subscriptions/{id}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json(\"$.id\"),\n  \"vessel_imo_number\" : $input.json(\"$.vessel_imo_number\"),\n  \"notification_threshold\" : $input.json(\"$.notification_threshold\"),\n  \"subscription_begin_datetime\" : $input.json(\"$.subscription_begin_datetime\"),\n  \"subscription_end_datetime\" : $input.json(\"$.subscription_end_datetime\"),\n  \"subscription_observation_datetime\" : $input.json(\"$.subscription_observation_datetime\"),\n  \"vessel_operator_carrier_codes\" : $input.json(\"$.vessel_operator_carrier_codes\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["subscriptions"], "summary": "Delete an existing schedule change subscription identified by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a schedule change subscription", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/schedule-change-subscriptions/{id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/predicted-schedules/{vessel_imo_number}": {"get": {"tags": ["predicted-schedules"], "summary": "Returns a predicted schedule for the vessel", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_number", "in": "path", "description": "The imo number of the vessel to get a predicted schedule for.", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/predictedSchedules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/predicted_schedules/{vessel_imo_number}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n    \"vessel_imo_number\" : $input.json(\"$.vessel_imo_number\"),\n    \"vessel_name\" : $input.json(\"$.vessel_name\"),\n    \"created_datetime\" : $input.json(\"$.created_datetime\"),\n    \"port_calls\" : \n    [\n      #foreach($portcall in $inputRoot.port_calls)\n      {\n        \"un_location_code\" : $input.json(\"$.port_calls[${foreach.index}].un_location_code\"),\n        \"location_name\" : $input.json(\"$.port_calls[${foreach.index}].location_name\"),\n        \"country\" : $input.json(\"$.port_calls[${foreach.index}].country\"),\n        \"subdivision\" : $input.json(\"$.port_calls[${foreach.index}].subdivision\"),\n        \"timezone\" : $input.json(\"$.port_calls[${foreach.index}].timezone\"),\n        \"transport_event_type_code\" : $input.json(\"$.port_calls[${foreach.index}].transport_event_type_code\"),\n        \"event_classifier_code\" : $input.json(\"$.port_calls[${foreach.index}].event_classifier_code\"),\n        \"event_datetime\" : $input.json(\"$.port_calls[${foreach.index}].event_datetime\")\n      }\n      #if($foreach.hasNext),#end\n      #end\n    ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_imo_number": "method.request.path.vessel_imo_number", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks": {"get": {"tags": ["vessel-track-advanced"], "summary": "Return all tracks", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/basicTracks"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"start_datetime\" : $input.json(\"$.[${foreach.index}].start_datetime\"),\n    \"end_datetime\" : $input.json(\"$.[${foreach.index}].end_datetime\"),\n    \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel_imo_number\"),\n    \"input_pol_un_location_code\" : $input.json(\"$.[${foreach.index}].input_pol_un_location_code\"),\n    \"pol_un_location_code\" : $input.json(\"$.[${foreach.index}].pol_un_location_code\"),\n    \"pol_name\" : $input.json(\"$.[${foreach.index}].pol_name\"),\n    \"pol_country\" : $input.json(\"$.[${foreach.index}].pol_country\"),\n    \"pol_arrival_datetime\" : $input.json(\"$.[${foreach.index}].pol_arrival_datetime\"),\n    \"input_pod_un_location_code\" : $input.json(\"$.[${foreach.index}].input_pod_un_location_code\"),\n    \"pod_un_location_code\" : $input.json(\"$.[${foreach.index}].pod_un_location_code\"),\n    \"pod_name\" : $input.json(\"$.[${foreach.index}].pod_name\"),\n    \"pod_country\" : $input.json(\"$.[${foreach.index}].pod_country\"),\n    \"pod_arrival_datetime\" : $input.json(\"$.[${foreach.index}].pod_arrival_datetime\"),\n    \"sta\" : $input.json(\"$.[${foreach.index}].sta\"),\n    \"source_eta\" : $input.json(\"$.[${foreach.index}].source_eta\"),\n    \"eta\" : $input.json(\"$.[${foreach.index}].eta\"),\n    \"add_intermediate\" : $input.json(\"$.[${foreach.index}].add_intermediate\"),\n    \"matched_schedule\" : $input.json(\"$.[${foreach.index}].matched_schedule\"),\n    \"vessel\" : {\n        \"vessel_name\" : $input.json(\"$.[${foreach.index}].vessel.vessel_name\"),\n        \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel.vessel_imo_number\"),\n        \"vessel_mmsi_number\" : $input.json(\"$.[${foreach.index}].vessel.vessel_mmsi_number\"),\n        \"vessel_length\" : $input.json(\"$.[${foreach.index}].vessel.vessel_length\"),\n        \"vessel_width\" : $input.json(\"$.[${foreach.index}].vessel.vessel_width\"),\n        \"vessel_callsign\" : $input.json(\"$.[${foreach.index}].vessel.vessel_callsign\"),\n        \"vessel_type\" : $input.json(\"$.[${foreach.index}].vessel.vessel_type\"),\n        \"vessel_country_code\" : $input.json(\"$.[${foreach.index}].vessel.vessel_country_code\"),\n        \"vessel_draught\" : $input.json(\"$.[${foreach.index}].vessel.vessel_draught\"),\n        \"vessel_sog\" : $input.json(\"$.[${foreach.index}].vessel.vessel_sog\"),\n        \"vessel_cog\" : $input.json(\"$.[${foreach.index}].vessel.vessel_cog\"),\n        \"vessel_heading\" : $input.json(\"$.[${foreach.index}].vessel.vessel_heading\"),\n        \"vessel_rot\" : $input.json(\"$.[${foreach.index}].vessel.vessel_rot\"),\n        \"vessel_nav_status\" : $input.json(\"$.[${foreach.index}].vessel.vessel_nav_status\"),\n        \"vessel_source_datetime\" : $input.json(\"$.[${foreach.index}].vessel.vessel_source_datetime\")\n    }\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "post": {"tags": ["vessel-track-advanced"], "summary": "Create new track", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{"in": "body", "name": "track", "description": "Uses the track model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/trackRequest"}}], "responses": {"201": {"description": "Created", "schema": {"$ref": "#/definitions/track"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks", "httpMethod": "POST", "responses": {"201": {"statusCode": "201", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n  \"id\" : $input.json('$.id'),\n  \"start_datetime\" : $input.json('$.start_datetime'),\n  \"end_datetime\" : $input.json('$.end_datetime'),\n  \"vessel_imo_number\" : $input.json('$.vessel_imo_number'),\n  \"input_pol_un_location_code\" : $input.json('$.input_pol_un_location_code'),\n  \"pol_un_location_code\" : $input.json('$.pol_un_location_code'),\n  \"pol_name\" : $input.json('$.pol_name'),\n  \"pol_country\" : $input.json('$.pol_country'),\n  \"pol_arrival_datetime\" : $input.json('$.pol_arrival_datetime'),\n  \"input_pod_un_location_code\" : $input.json('$.input_pod_un_location_code'),\n  \"pod_un_location_code\" : $input.json('$.pod_un_location_code'),\n  \"pod_name\" : $input.json('$.pod_name'),\n  \"pod_country\" : $input.json('$.pod_country'),\n  \"pod_arrival_datetime\" : $input.json('$.pod_arrival_datetime'),\n  \"sta\" : $input.json('$.sta'),\n  \"source_eta\" : $input.json('$.source_eta'),\n  \"eta\" : $input.json('$.eta'),\n  \"add_intermediate\" : $input.json('$.add_intermediate'),\n  \"matched_schedule\" : $input.json('$.matched_schedule'),\n  \"vessel\" : {\n    \"vessel_name\" : $input.json('$.vessel.vessel_name'),\n    \"vessel_imo_number\" : $input.json('$.vessel.vessel_imo_number'),\n    \"vessel_mmsi_number\" : $input.json('$.vessel.vessel_mmsi_number'),\n    \"vessel_length\" : $input.json('$.vessel.vessel_length'),\n    \"vessel_width\" : $input.json('$.vessel.vessel_width'),\n    \"vessel_callsign\" : $input.json('$.vessel.vessel_callsign'),\n    \"vessel_type\" : $input.json('$.vessel.vessel_type'),\n    \"vessel_country_code\" : $input.json('$.vessel.vessel_country_code'),\n    \"vessel_draught\" : $input.json('$.vessel.vessel_draught'),\n    \"vessel_sog\" : $input.json('$.vessel.vessel_sog'),\n    \"vessel_cog\" : $input.json('$.vessel.vessel_cog'),\n    \"vessel_heading\" : $input.json('$.vessel.vessel_heading'),\n    \"vessel_rot\" : $input.json('$.vessel.vessel_rot'),\n    \"vessel_nav_status\" : $input.json('$.vessel.vessel_nav_status'),\n    \"vessel_source_datetime\" : $input.json('$.vessel.vessel_source_datetime')\n  },\n  \"port_calls\" : \n  [\n    #foreach($portcall in $inputRoot.port_calls)\n    {\n      \"un_location_code\" : $input.json(\"$.port_calls[${foreach.index}].un_location_code\"),\n      \"port_name\" : $input.json(\"$.port_calls[${foreach.index}].port_name\"),\n      \"port_country\": $input.json(\"$.port_calls[${foreach.index}].port_country\"),\n      \"port_timezone\": $input.json(\"$.port_calls[${foreach.index}].port_timezone\"),\n      \"longitude\" : $input.json(\"$.port_calls[${foreach.index}].longitude\"),\n      \"latitude\" : $input.json(\"$.port_calls[${foreach.index}].latitude\"),\n      \"sta_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.sta_datetime\"),\n      \"std_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.std_datetime\"),\n      \"eta_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.eta_datetime\"),\n      \"etd_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.etd_datetime\"),\n      \"ata_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.ata_datetime\"),\n      \"atd_datetime\" : $input.json(\"$.port_calls[${foreach.index}].pos.atd_datetime\"),\n      \"carrier_import_voyage_numbers\" : $input.json(\"$.port_calls[${foreach.index}].carrier_import_voyage_numbers\"),\n      \"carrier_export_voyage_numbers\" : $input.json(\"$.port_calls[${foreach.index}].carrier_export_voyage_numbers\")\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ],\n  \"positions\" :\n  [\n    #foreach($pos in $inputRoot.positions)\n    {\n      \"latitude\" : $input.json(\"$.positions[${foreach.index}].pos.latitude\"),\n      \"longitude\" : $input.json(\"$.positions[${foreach.index}].pos.longitude\"),\n      \"position_datetime\" : $input.json(\"$.positions[${foreach.index}].position_datetime\"),\n      \"tag\": $input.json(\"$.positions[${foreach.index}].tag\")\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks/{id}": {"get": {"tags": ["vessel-track-advanced"], "summary": "Return track by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a track", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/track"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks/{id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n  \"id\" : $input.json('$.id'),\n  \"start_datetime\" : $input.json('$.start_datetime'),\n  \"end_datetime\" : $input.json('$.end_datetime'),\n  \"vessel_imo_number\" : $input.json('$.vessel_imo_number'),\n  \"input_pol_un_location_code\" : $input.json('$.input_pol_un_location_code'),\n  \"pol_un_location_code\" : $input.json('$.pol_un_location_code'),\n  \"pol_name\" : $input.json('$.pol_name'),\n  \"pol_country\" : $input.json('$.pol_country'),\n  \"pol_arrival_datetime\" : $input.json('$.pol_arrival_datetime'),\n  \"input_pod_un_location_code\" : $input.json('$.input_pod_un_location_code'),\n  \"pod_un_location_code\" : $input.json('$.pod_un_location_code'),\n  \"pod_name\" : $input.json('$.pod_name'),\n  \"pod_country\" : $input.json('$.pod_country'),\n  \"pod_arrival_datetime\" : $input.json('$.pod_arrival_datetime'),\n  \"sta\" : $input.json('$.sta'),\n  \"source_eta\" : $input.json('$.source_eta'),\n  \"eta\" : $input.json('$.eta'),\n  \"add_intermediate\" : $input.json('$.add_intermediate'),\n  \"matched_schedule\" : $input.json('$.matched_schedule'),\n  \"vessel\" : {\n    \"vessel_name\" : $input.json('$.vessel.vessel_name'),\n    \"vessel_imo_number\" : $input.json('$.vessel.vessel_imo_number'),\n    \"vessel_mmsi_number\" : $input.json('$.vessel.vessel_mmsi_number'),\n    \"vessel_length\" : $input.json('$.vessel.vessel_length'),\n    \"vessel_width\" : $input.json('$.vessel.vessel_width'),\n    \"vessel_callsign\" : $input.json('$.vessel.vessel_callsign'),\n    \"vessel_type\" : $input.json('$.vessel.vessel_type'),\n    \"vessel_country_code\" : $input.json('$.vessel.vessel_country_code'),\n    \"vessel_draught\" : $input.json('$.vessel.vessel_draught'),\n    \"vessel_sog\" : $input.json('$.vessel.vessel_sog'),\n    \"vessel_cog\" : $input.json('$.vessel.vessel_cog'),\n    \"vessel_heading\" : $input.json('$.vessel.vessel_heading'),\n    \"vessel_rot\" : $input.json('$.vessel.vessel_rot'),\n    \"vessel_nav_status\" : $input.json('$.vessel.vessel_nav_status'),\n    \"vessel_source_datetime\" : $input.json('$.vessel.vessel_source_datetime')\n  },\n  \"port_calls\" : \n  [\n    #foreach($portcall in $inputRoot.port_calls)\n    {\n      \"un_location_code\" : $input.json(\"$.port_calls[${foreach.index}].un_location_code\"),\n      \"port_name\" : $input.json(\"$.port_calls[${foreach.index}].port_name\"),\n      \"port_country\": $input.json(\"$.port_calls[${foreach.index}].port_country\"),\n      \"port_timezone\": $input.json(\"$.port_calls[${foreach.index}].port_timezone\"),\n      \"longitude\" : $input.json(\"$.port_calls[${foreach.index}].longitude\"),\n      \"latitude\" : $input.json(\"$.port_calls[${foreach.index}].latitude\"),\n      \"sta_datetime\" : $input.json(\"$.port_calls[${foreach.index}].sta_datetime\"),\n      \"std_datetime\" : $input.json(\"$.port_calls[${foreach.index}].std_datetime\"),\n      \"eta_datetime\" : $input.json(\"$.port_calls[${foreach.index}].eta_datetime\"),\n      \"etd_datetime\" : $input.json(\"$.port_calls[${foreach.index}].etd_datetime\"),\n      \"ata_datetime\" : $input.json(\"$.port_calls[${foreach.index}].ata_datetime\"),\n      \"atd_datetime\" : $input.json(\"$.port_calls[${foreach.index}].atd_datetime\"),\n      \"carrier_import_voyage_numbers\" : $input.json(\"$.port_calls[${foreach.index}].carrier_import_voyage_numbers\"),\n      \"carrier_export_voyage_numbers\" : $input.json(\"$.port_calls[${foreach.index}].carrier_export_voyage_numbers\")\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ],\n  \"positions\" : $input.json(\"$.positions\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["vessel-track-advanced"], "summary": "Delete an existing track identified by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a track", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks/{id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks/vessel_imo_number/{vessel_imo_number}/positions": {"get": {"tags": ["vessel-track-basic"], "summary": "Returns position for the vessel with given IMO number", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_number", "in": "path", "description": "The imo number of the vessel to get a position for.", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/vesselPosition"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/vessels/position/imo/{vessel_imo_number}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n    \"vessel_imo_number\" : $input.json(\"$.imo\"),\n    \"vessel_mmsi_number\" : $input.json(\"$.mmsi\"), \n    \"latitude\" : $input.json(\"$.latitude\"),\n    \"longitude\" : $input.json(\"$.longitude\"),\n    \"sog\" : $input.json(\"$.sog\"),\n    \"cog\" : $input.json(\"$.cog\"),\n    \"nav_status\": $input.json(\"$.nav_status\"),\n    \"position_datetime\" : $input.json(\"$.position_update_datetime\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_imo_number": "method.request.path.vessel_imo_number", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks/vessel_mmsi_number/{vessel_mmsi_number}/positions": {"get": {"tags": ["vessel-track-basic"], "summary": "Returns position for the vessel with given MMSI number", "produces": ["application/json"], "parameters": [{"name": "vessel_mmsi_number", "in": "path", "description": "The MMSI number of the vessel to get a position for.", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/vesselPosition"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/vessels/position/mmsi/{vessel_mmsi_number}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n    \"vessel_imo_number\" : $input.json(\"$.imo\"),\n    \"vessel_mmsi_number\" : $input.json(\"$.mmsi\"), \n    \"latitude\" : $input.json(\"$.latitude\"),\n    \"longitude\" : $input.json(\"$.longitude\"),\n    \"sog\" : $input.json(\"$.sog\"),\n    \"cog\" : $input.json(\"$.cog\"),\n    \"nav_status\": $input.json(\"$.nav_status\"),\n    \"position_datetime\" : $input.json(\"$.position_update_datetime\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_mmsi_number": "method.request.path.vessel_mmsi_number", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks/historical-positions": {"post": {"tags": ["vessel-track-basic"], "summary": "Setup retrieval of historical positions for a given IMO number", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_number", "in": "query", "description": "The imo number of the vessel to get historical positions for.", "required": true, "type": "integer"}, {"name": "begin_datetime", "in": "query", "type": "string", "format": "iso8601", "required": false, "description": "Beginning of the historical track. Default is 3 days back in time. Example: 2023-12-10T10:44:15+00:00"}, {"name": "end_datetime", "in": "query", "type": "string", "format": "iso8601", "required": false, "description": "Ending of historical track. Default is now. Example: 2024-03-13T10:44:15+00:00"}], "responses": {"201": {"description": "Successful operation", "schema": {"$ref": "#/definitions/historicalTrackID"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks/historical", "httpMethod": "POST", "responses": {"201": {"statusCode": "201", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n    \"historical_track_id\" : $input.json(\"$.historical_track_id\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.vessel_imo_number": "method.request.querystring.vessel_imo_number", "integration.request.querystring.begin": "method.request.querystring.begin_datetime", "integration.request.querystring.end": "method.request.querystring.end_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tracks/historical-positions/{id}": {"get": {"tags": ["vessel-track-basic"], "summary": "Return historical positions by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a historical track", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/historicalTrack"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/tracks/historical/{id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) {\n  \"vessel_imo_number\" : $input.json('$.vessel_imo_number'),\n  \"vessel_mmsi_number\" : $input.json('$.vessel_mmsi_number'),\n  \"positions\" : $input.json(\"$.positions\")\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/vessel/name/{vessel_name}/vessels": {"get": {"tags": ["vessel-track-basic"], "summary": "Return vessel information by vessel name", "produces": ["application/json"], "parameters": [{"name": "vessel_name", "in": "path", "description": "The name of the vessel", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/vesselsByName"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/vessels/name/{vessel_name}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"vessel_name\" : $input.json(\"$.[${foreach.index}].vessel_name\"),\n    \"vessel_imo_number\" : $input.json(\"$.[${foreach.index}].vessel_imo_number\"),\n    \"vessel_mmsi_number\" : $input.json(\"$.[${foreach.index}].vessel_mmsi_number\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_name": "method.request.path.vessel_name", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports": {"get": {"tags": ["transports"], "summary": "Return all transports", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transports"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "[ #foreach($elem in $input.path('$')) {\n  \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n  \"transport_id\" : $input.json(\"$.[${foreach.index}].transport_id\"),\n  \"vessel_operator_carrier_code\" : $input.json(\"$.[${foreach.index}].vessel_operator_carrier_code\"),\n  \"equipment_reference\" : $input.json(\"$.[${foreach.index}].equipment_reference\"),\n  \"bill_of_lading_number\" : $input.json(\"$.[${foreach.index}].bill_of_lading_number\"),\n  \"carrier_booking_reference\" : $input.json(\"$.[${foreach.index}].carrier_booking_reference\"),\n  \"transport_name\" : $input.json(\"$.[${foreach.index}].transport_name\"),\n  \"planned_begin\" : $input.json(\"$.[${foreach.index}].planned_begin\"),\n  \"planned_end\" : $input.json(\"$.[${foreach.index}].planned_end\"),\n  \"place_of_origin\" : $input.json(\"$.[${foreach.index}].place_of_origin\"),\n  \"port_of_loading\" : $input.json(\"$.[${foreach.index}].port_of_loading\"),\n  \"port_of_destination\" : $input.json(\"$.[${foreach.index}].port_of_destination\"),\n  \"final_delivery_location\" : $input.json(\"$.[${foreach.index}].final_delivery_location\"),\n  \"port_of_destination_eta\" : $input.json(\"$.[${foreach.index}].port_of_destination_eta\"),\n  \"port_of_destination_ata\" : $input.json(\"$.[${foreach.index}].port_of_destination_ata\"),\n  \"related_equipment_references\" : $input.json(\"$.[${foreach.index}].related_equipment_references\"),\n  \"requested_equipment_references\" : $input.json(\"$.[${foreach.index}].requested_equipment_references\"),\n  \"transport_status\" : $input.json(\"$.[${foreach.index}].transport_status\"),\n  \"features\" : $input.json(\"$.[${foreach.index}].features\")\n} #if($foreach.hasNext),#end #end]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.per_page": "method.request.querystring.page_size", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["transports"], "summary": "Delete transports in bulk.", "produces": ["application/json"], "parameters": [{"name": "ids", "in": "query", "description": "Comma separated string of ids of Transports.", "required": true, "type": "string"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports", "httpMethod": "DELETE", "responses": {"default": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.ids": "method.request.querystring.ids", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "post": {"tags": ["transports"], "summary": "Create new transport", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{"in": "body", "name": "transport", "description": "Creates a Transport.\nThis endpoint requires **at least one** and only one of the following property combinations:\n\n* equipment_reference\n* bill_of_lading_number and vessel_operator_carrier_code\n* carrier_booking_reference  and vessel_operator_carrier_code\n\nMore information about the properties can be found in the bottom of the page.\n", "required": true, "schema": {"$ref": "#/definitions/transportRequest"}}], "responses": {"201": {"description": "Created", "schema": {"$ref": "#/definitions/transport"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports", "httpMethod": "POST", "responses": {"default": {"statusCode": "201", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"transport_id\" : $input.json('$.transport_id'),\n  \"vessel_operator_carrier_code\" : $input.json('$.vessel_operator_carrier_code'),\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"bill_of_lading_number\" : $input.json('$.bill_of_lading_number'),\n  \"carrier_booking_reference\" : $input.json('$.carrier_booking_reference'),\n  \"transport_name\" : $input.json('$.transport_name'),\n  \"planned_begin\" : $input.json('$.planned_begin'),\n  \"planned_end\" : $input.json('$.planned_end'),\n  \"features\" : $input.json('$.features'),\n  \"place_of_origin\" : $input.json('$.place_of_origin'),\n  \"port_of_loading\" : $input.json('$.port_of_loading'),\n  \"port_of_destination\" : $input.json('$.port_of_destination'),\n  \"final_delivery_location\" : $input.json('$.final_delivery_location'),\n  \"port_of_destination_eta\" : $input.json('$.port_of_destination_eta'),\n  \"port_of_destination_ata\" : $input.json('$.port_of_destination_ata'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"requested_equipment_references\" : $input.json('$.requested_equipment_references')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports/{id}": {"get": {"tags": ["transports"], "summary": "Return transport by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a transport", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transport"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/{id}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"transport_id\" : $input.json('$.transport_id'),\n  \"vessel_operator_carrier_code\" : $input.json('$.vessel_operator_carrier_code'),\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"bill_of_lading_number\" : $input.json('$.bill_of_lading_number'),\n  \"carrier_booking_reference\" : $input.json('$.carrier_booking_reference'),\n  \"transport_name\" : $input.json('$.transport_name'),\n  \"planned_begin\" : $input.json('$.planned_begin'),\n  \"planned_end\" : $input.json('$.planned_end'),\n  \"place_of_origin\" : $input.json('$.place_of_origin'),\n  \"port_of_loading\" : $input.json('$.port_of_loading'),\n  \"port_of_destination\" : $input.json('$.port_of_destination'),\n  \"final_delivery_location\" : $input.json('$.final_delivery_location'),\n  \"port_of_destination_eta\" : $input.json('$.port_of_destination_eta'),\n  \"port_of_destination_ata\" : $input.json('$.port_of_destination_ata'),\n  \"related_equipment_references\" : $input.json('$.related_equipment_references'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"features\" : $input.json('$.features'),\n  \"requested_equipment_references\" : $input.json('$.requested_equipment_references')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"tags": ["transports"], "summary": "Update an existing transport identified by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a transport", "required": true, "type": "integer"}, {"name": "transport", "in": "body", "description": "Uses transport model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/transport"}}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/{id}", "httpMethod": "PUT", "responses": {"default": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["transports"], "summary": "Delete an existing transport identified by id", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "Refers to the id of a transport", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/{id}", "httpMethod": "DELETE", "responses": {"default": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports/bill_of_lading_number/{bill_of_lading_number}/events": {"get": {"tags": ["transports"], "summary": "Return events and containers related to the bill_of_lading_number", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 5, 10, 20], "default": 10}, {"name": "bill_of_lading_number", "description": "Refers to the bill_of_lading_number of a Transport", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transportEvents"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/bill_of_lading_number/{bill_of_lading_number}/events", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"identifier\" : $input.json('$.identifier'),\n  \"identifier_type\" : $input.json('$.identifier_type'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"number_of_related_equipments\" : $input.json('$.number_of_related_equipments'),\n  \"total_pages\" : $input.json('$.total_pages'),\n  \"current_page\" : $input.json('$.current_page'),\n  \"containers\": $input.json('$.containers')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.bill_of_lading_number": "method.request.path.bill_of_lading_number", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/v2/transports/bill_of_lading_number/{bill_of_lading_number}/events": {"get": {"tags": ["transports"], "summary": "Return events and containers related to the bill_of_lading_number", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 5, 10, 20], "default": 10}, {"name": "bill_of_lading_number", "description": "Refers to the bill_of_lading_number of a Transport", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transportEvents"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/v2/bill_of_lading_number/{bill_of_lading_number}/events", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"identifier\" : $input.json('$.identifier'),\n  \"identifier_type\" : $input.json('$.identifier_type'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"number_of_related_equipments\" : $input.json('$.number_of_related_equipments'),\n  \"total_pages\" : $input.json('$.total_pages'),\n  \"current_page\" : $input.json('$.current_page'),\n  \"containers\": $input.json('$.containers')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.bill_of_lading_number": "method.request.path.bill_of_lading_number", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports/carrier_booking_reference/{carrier_booking_reference}/events": {"get": {"tags": ["transports"], "summary": "Return events and containers related to the carrier_booking_reference", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "end_created_datetime", "in": "query", "description": "End created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 5, 10, 20], "default": 10}, {"name": "carrier_booking_reference", "description": "Refers to the carrier_booking_reference of a Transport", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transportEvents"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/carrier_booking_reference/{carrier_booking_reference}/events", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"identifier\" : $input.json('$.identifier'),\n  \"identifier_type\" : $input.json('$.identifier_type'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"number_of_related_equipments\" : $input.json('$.number_of_related_equipments'),\n  \"total_pages\" : $input.json('$.total_pages'),\n  \"current_page\" : $input.json('$.current_page'),\n  \"containers\": $input.json('$.containers')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.end_created_datetime": "method.request.querystring.end_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.carrier_booking_reference": "method.request.path.carrier_booking_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/v2/transports/carrier_booking_reference/{carrier_booking_reference}/events": {"get": {"tags": ["transports"], "summary": "Return events and containers related to the carrier_booking_reference", "produces": ["application/json"], "parameters": [{"name": "add_historic", "in": "query", "description": "If true, adds all historic events for the equipment.", "required": false, "type": "boolean", "default": false}, {"name": "begin_date", "in": "query", "description": "Begin date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n If left empty default is used which is 52 weeks before now.", "required": false, "type": "string"}, {"name": "end_date", "in": "query", "description": "End date. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-09-22T08:30:00+02:00 \n If left empty default is used which is 26 weeks from now.", "required": false, "type": "string"}, {"name": "begin_created_datetime", "in": "query", "description": "Begin created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2023-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "end_created_datetime", "in": "query", "description": "End created datetime. Format: (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example: 2024-08-10T08:30:00+02:00 \n Date to filter on event_created_datetime.", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 5, 10, 20], "default": 10}, {"name": "carrier_booking_reference", "description": "Refers to the carrier_booking_reference of a Transport", "in": "path", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transportEvents"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/v2/carrier_booking_reference/{carrier_booking_reference}/events", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"identifier\" : $input.json('$.identifier'),\n  \"identifier_type\" : $input.json('$.identifier_type'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"number_of_related_equipments\" : $input.json('$.number_of_related_equipments'),\n  \"total_pages\" : $input.json('$.total_pages'),\n  \"current_page\" : $input.json('$.current_page'),\n  \"containers\": $input.json('$.containers')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.add_historic": "method.request.querystring.add_historic", "integration.request.querystring.begin_date": "method.request.querystring.begin_date", "integration.request.querystring.end_date": "method.request.querystring.end_date", "integration.request.querystring.begin_created_datetime": "method.request.querystring.begin_created_datetime", "integration.request.querystring.end_created_datetime": "method.request.querystring.end_created_datetime", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.path.carrier_booking_reference": "method.request.path.carrier_booking_reference", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports/transportid/{transport_id}": {"get": {"tags": ["transports"], "summary": "Return transport by transport_id", "produces": ["application/json"], "parameters": [{"name": "transport_id", "in": "path", "description": "Refers to the transport id", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transport"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/transports/transportid/{transport_id}", "httpMethod": "GET", "responses": {"default": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"transport_id\" : $input.json('$.transport_id'),\n  \"vessel_operator_carrier_code\" : $input.json('$.vessel_operator_carrier_code'),\n  \"equipment_reference\" : $input.json('$.equipment_reference'),\n  \"bill_of_lading_number\" : $input.json('$.bill_of_lading_number'),\n  \"carrier_booking_reference\" : $input.json('$.carrier_booking_reference'),\n  \"transport_name\" : $input.json('$.transport_name'),\n  \"planned_begin\" : $input.json('$.planned_begin'),\n  \"planned_end\" : $input.json('$.planned_end'),\n  \"place_of_origin\" : $input.json('$.place_of_origin'),\n  \"port_of_loading\" : $input.json('$.port_of_loading'),\n  \"port_of_destination\" : $input.json('$.port_of_destination'),\n  \"final_delivery_location\" : $input.json('$.final_delivery_location'),\n  \"port_of_destination_eta\" : $input.json('$.port_of_destination_eta'),\n  \"port_of_destination_ata\" : $input.json('$.port_of_destination_ata'),\n  \"related_equipment_references\" : $input.json('$.related_equipment_references'),\n  \"transport_status\" : $input.json('$.transport_status'),\n  \"features\" : $input.json('$.features')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.transport_id": "method.request.path.transport_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/transports/{id}/transport_tracks": {"get": {"tags": ["transports"], "summary": "Return transport tracks by the id of the transport", "produces": ["application/json"], "parameters": [{"name": "id", "in": "path", "description": "The id of the tracked transport", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/transportTracks"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/transports/{id}/transport_tracks", "httpMethod": "GET", "responses": {"default": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.id": "method.request.path.id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/administration/usage": {"get": {"tags": ["administration"], "summary": "Return customer usage", "produces": ["application/json"], "parameters": [{"name": "year", "in": "query", "description": "The year to get usage for. Default is current year.", "required": false, "type": "integer"}, {"name": "month", "in": "query", "description": "The month to get usage for. Default is current month.", "required": false, "type": "integer"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/usages"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.USERS_SERVICE_URL}/usage", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"last_updated_datetime\": $input.json(\"$.last_updated_datetime\"),\n  \"usage\": [\n    #foreach($elem in $input.path('$.usage'))\n    {\n      \"user_id\" : $input.json(\"$.usage.[${foreach.index}].user_id\"),\n      \"usage_year\" : $input.json(\"$.usage.[${foreach.index}].usage_year\"),\n      \"usage_month\" : $input.json(\"$.usage.[${foreach.index}].usage_month\"),\n      \"usage_type\" : $input.json(\"$.usage.[${foreach.index}].usage_type\"),\n      \"usage_method\" : $input.json(\"$.usage.[${foreach.index}].usage_method\"),\n      \"endpoint\" : $input.json(\"$.usage.[${foreach.index}].endpoint\"),\n      \"status\" : $input.json(\"$.usage.[${foreach.index}].status\"),\n      \"unit\" : $input.json(\"$.usage.[${foreach.index}].unit\"),\n      \"usage_count\" : $input.json(\"$.usage.[${foreach.index}].usage_count\"),\n      \"text\" : $input.json(\"$.usage.[${foreach.index}].text\")\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.year": "method.request.querystring.year", "integration.request.querystring.month": "method.request.querystring.month", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/administration/usage/credits": {"get": {"tags": ["administration"], "summary": "Return customer usage in credits", "produces": ["application/json"], "parameters": [{"name": "year", "in": "query", "description": "The year to get usage for. Default is current year.", "required": false, "type": "integer"}, {"name": "month", "in": "query", "description": "The month to get usage for. Default is current month.", "required": false, "type": "integer"}, {"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/creditsUsage"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.USERS_SERVICE_URL}/usage/credits", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"total_credit_used\": $input.json(\"$.total_credit_used\"),\n  \"usage\": [\n    #foreach($elem in $input.path('$.usage'))\n    {\n      \"title\" : $input.json(\"$.usage.[${foreach.index}].title\"),\n      \"usage\" : $input.json(\"$.usage.[${foreach.index}].usage\"),\n      \"credits\" : $input.json(\"$.usage.[${foreach.index}].credits\")\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.year": "method.request.querystring.year", "integration.request.querystring.month": "method.request.querystring.month", "integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.bool": "'false'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/fields": {"get": {"tags": ["auxiliaries"], "summary": "Return all fields", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/fieldRules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/fields/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"company_id\" : $input.json(\"$.[${foreach.index}].company_id\"),\n    \"field_context\" : $input.json(\"$.[${foreach.index}].field_context\"),\n    \"field_name\" : $input.json(\"$.[${foreach.index}].field_name\"),\n    \"field_type\" : $input.json(\"$.[${foreach.index}].field_type\"),\n    \"description\" : $input.json(\"$.[${foreach.index}].description\"),\n    \"filterable\" : $input.json(\"$.[${foreach.index}].filterable\"),\n    \"default_field\" : $input.json(\"$.[${foreach.index}].default_field\"),\n    \"deleted\" : $input.json(\"$.[${foreach.index}].deleted\"),\n    \"alternative_datetime_format\" : $input.json(\"$.[${foreach.index}].alternative_datetime_format\"),\n    \"alternative_field_name\" : $input.json(\"$.[${foreach.index}].alternative_field_name\"),\n    \"field_value\" : $input.json(\"$.[${foreach.index}].field_value\"),\n    \"mapped_to_field_value\" : $input.json(\"$.[${foreach.index}].mapped_to_field_value\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.per_page": "method.request.querystring.page_size", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/fields/{field_id}": {"get": {"tags": ["auxiliaries"], "summary": "Return field by id", "produces": ["application/json"], "parameters": [{"name": "field_id", "in": "path", "description": "Refers to the id of a field", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/fieldRule"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/fields/{field_id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"company_id\" : $input.json('$.company_id'),\n  \"field_context\" : $input.json('$.field_context'),\n  \"field_name\" : $input.json('$.field_name'),\n  \"field_type\" : $input.json('$.field_type'),\n  \"description\" : $input.json('$.description'),\n  \"filterable\" : $input.json('$.filterable'),\n  \"default_field\" : $input.json('$.default_field'),\n  \"deleted\" : $input.json('$.deleted'),\n  \"alternative_datetime_format\" : $input.json('$.alternative_datetime_format'),\n  \"alternative_field_name\" : $input.json('$.alternative_field_name'),\n  \"field_value\" : $input.json('$.field_value'),\n  \"mapped_to_field_value\" : $input.json('$.mapped_to_field_value')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.field_id": "method.request.path.field_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"tags": ["auxiliaries"], "summary": "Update an existing field identified by id", "produces": ["application/json"], "parameters": [{"name": "field_id", "in": "path", "description": "Refers to the id of a field", "required": true, "type": "integer"}, {"name": "field", "in": "body", "description": "Uses field model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/fieldRule"}}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/fields/{field_id}", "httpMethod": "PUT", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.field_id": "method.request.path.field_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["auxiliaries"], "summary": "Delete an existing field identified by id", "produces": ["application/json"], "parameters": [{"name": "field_id", "in": "path", "description": "Refers to the id of a field", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/fields/{field_id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.field_id": "method.request.path.field_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/events": {"get": {"tags": ["auxiliaries"], "summary": "Return all event settings", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/eventRules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/events/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"id\" : $input.json(\"$.[${foreach.index}].id\"),\n    \"company_id\" : $input.json(\"$.[${foreach.index}].company_id\"),\n    \"field_name\" : $input.json(\"$.[${foreach.index}].field_name\"),\n    \"field_value\" : $input.json(\"$.[${foreach.index}].field_value\"),\n    \"description\" : $input.json(\"$.[${foreach.index}].description\"),\n    \"filterable\" : $input.json(\"$.[${foreach.index}].filterable\"),\n    \"default_event\" : $input.json(\"$.[${foreach.index}].default_event\"),\n    \"deleted\" : $input.json(\"$.[${foreach.index}].deleted\"),\n    \"mapped_to_field_value\" : $input.json(\"$.[${foreach.index}].mapped_to_field_value\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.per_page": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/events/{event_id}": {"get": {"tags": ["auxiliaries"], "summary": "Return event by id", "produces": ["application/json"], "parameters": [{"name": "event_id", "in": "path", "description": "Refers to the id of a event", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/eventRule"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/events/{event_id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"id\" : $input.json('$.id'),\n  \"company_id\" : $input.json('$.company_id'),\n  \"field_name\" : $input.json('$.field_name'),\n  \"field_value\" : $input.json('$.field_value'),\n  \"description\" : $input.json('$.description'),\n  \"filterable\" : $input.json('$.filterable'),\n  \"default_event\" : $input.json('$.default_event'),\n  \"deleted\" : $input.json('$.deleted'),\n  \"mapped_to_field_value\" : $input.json('$.mapped_to_field_value')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.event_id": "method.request.path.event_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"tags": ["auxiliaries"], "summary": "Update an existing event identified by id", "produces": ["application/json"], "parameters": [{"name": "event_id", "in": "path", "description": "Refers to the id of a event", "required": true, "type": "integer"}, {"name": "event", "in": "body", "description": "Uses event model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/eventRule"}}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/events/{event_id}", "httpMethod": "PUT", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.event_id": "method.request.path.event_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["auxiliaries"], "summary": "Delete an existing event identified by id", "produces": ["application/json"], "parameters": [{"name": "event_id", "in": "path", "description": "Refers to the id of a event", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/events/{event_id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.event_id": "method.request.path.event_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/notifications": {"get": {"tags": ["auxiliaries"], "summary": "Return all notifications settings", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/notificationRules"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/notifications/", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "[\n  #foreach($elem in $input.path('$'))\n  {\n    \"notification_id\" : $input.json(\"$.[${foreach.index}].notification_id\"),\n    \"company_id\" : $input.json(\"$.[${foreach.index}].company_id\"),\n    \"notification_name\" : $input.json(\"$.[${foreach.index}].notification_name\"),\n    \"description\" : $input.json(\"$.[${foreach.index}].description\"),\n    \"filterable\" : $input.json(\"$.[${foreach.index}].filterable\"),\n    \"default_notification\" : $input.json(\"$.[${foreach.index}].default_notification\"),\n    \"deleted\" : $input.json(\"$.[${foreach.index}].deleted\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.per_page": "method.request.querystring.page_size", "integration.request.querystring.bool": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/auxiliaries/notifications/{notification_id}": {"get": {"tags": ["auxiliaries"], "summary": "Return notification by id", "produces": ["application/json"], "parameters": [{"name": "notification_id", "in": "path", "description": "Refers to the id of a notification", "required": true, "type": "integer"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/notificationRule"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/notifications/{notification_id}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"notification_id\" : $input.json('$.notification_id'),\n  \"company_id\" : $input.json('$.company_id'),\n  \"notification_name\" : $input.json('$.notification_name'),\n  \"description\" : $input.json('$.description'),\n  \"filterable\" : $input.json('$.filterable'),\n  \"default_notification\" : $input.json('$.default_notification'),\n  \"deleted\" : $input.json('$.deleted')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.notification_id": "method.request.path.notification_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"tags": ["auxiliaries"], "summary": "Update an existing notification identified by id", "produces": ["application/json"], "parameters": [{"name": "notification_id", "in": "path", "description": "Refers to the id of a notification", "required": true, "type": "integer"}, {"name": "notification", "in": "body", "description": "Uses notification model, more information about the properties can be found in the bottom of the page", "required": true, "schema": {"$ref": "#/definitions/notificationRule"}}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/notifications/{notification_id}", "httpMethod": "PUT", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.notification_id": "method.request.path.notification_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["auxiliaries"], "summary": "Delete an existing notification identified by id", "produces": ["application/json"], "parameters": [{"name": "notification_id", "in": "path", "description": "Refers to the id of a notification", "required": true, "type": "integer"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.RULES_SERVICE_URL}/notifications/{notification_id}", "httpMethod": "DELETE", "responses": {"204": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.notification_id": "method.request.path.notification_id", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions": {"get": {"tags": ["port-intelligence"], "summary": "Return available ports", "produces": ["application/json"], "parameters": [{"name": "page", "in": "query", "description": "The index of the desired page.", "required": false, "type": "integer", "default": 1}, {"name": "page_size", "in": "query", "description": "The number of elements on each page.", "required": false, "type": "integer", "enum": [2, 10, 20, 30, 40, 50], "default": 10}, {"name": "port_name", "in": "query", "description": "Filtering ports based on name", "required": false, "type": "string"}, {"name": "un_location_code", "in": "query", "description": "Filtering ports based on un location code", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portsCongestions"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/port-congestions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) [\n  #foreach($elem in $inputRoot)\n    \"$elem\"\n  #if($foreach.hasNext),#end\n  #end\n]"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.page": "method.request.querystring.page", "integration.request.querystring.page_size": "method.request.querystring.page_size", "integration.request.querystring.port_name": "method.request.querystring.port_name", "integration.request.querystring.un_location_code": "method.request.querystring.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/{un_location_code}/port-congestions": {"get": {"tags": ["port-intelligence"], "summary": "Is port supported", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Check if the port is supported", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionIsSupported"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"is_supported\": $input.json('$.is_supported')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/{un_location_code}/port-congestions/statistics": {"get": {"tags": ["port-intelligence"], "summary": "Return statistics for a given port (the last 30 days)", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Get statistics for the given port's un location code", "required": true, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get aggregated congestion from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get congestion for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionStatistics"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/statistics", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"un_location_code\": $input.json('$.un_location_code'),\n  \"is_port_congested\": $input.json('$.is_port_congested'),\n  \"anchorage_time\": {\n    \"average\": $input.json('$.anchorage_time.average'),\n    \"median\": $input.json('$.anchorage_time.median'),\n    \"min\": $input.json('$.anchorage_time.min'),\n    \"max\": $input.json('$.anchorage_time.max'),\n    \"total\": $input.json('$.anchorage_time.total'),\n    \"vessel_count\": $input.json('$.anchorage_time.vessel_count'),\n    \"unique_vessel_count\": $input.json('$.anchorage_time.unique_vessel_count')\n  },\n  \"berthing_time\": {\n    \"average\": $input.json('$.berthing_time.average'),\n    \"median\": $input.json('$.berthing_time.median'),\n    \"min\": $input.json('$.berthing_time.min'),\n    \"max\": $input.json('$.berthing_time.max'),\n    \"total\": $input.json('$.berthing_time.total'),\n    \"vessel_count\": $input.json('$.berthing_time.vessel_count'),\n    \"unique_vessel_count\": $input.json('$.berthing_time.unique_vessel_count')\n  }\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions/statistics": {"get": {"tags": ["port-intelligence"], "summary": "Return statistics for multiple ports (the last 30 days)", "produces": ["application/json"], "parameters": [{"name": "un_location_codes", "in": "query", "description": "UN Location codes, separate with comma e.g. USLAX,SGSIN", "required": true, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get aggregated congestion from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get congestion for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/multiplePortCongestionStatistics"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/port-congestions/statistics", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{ \"statistics\":\n  [\n    #foreach($elem in $input.path('$.statistics'))\n    {\n      \"un_location_code\": \"$elem.un_location_code\",\n      \"is_port_congested\": $input.json(\"$.statistics[${foreach.index}].is_port_congested\"),\n      \"anchorage_time\": {\n        \"average\": #if(\"$elem.anchorage_time.average\" == \"\")null#else\"$elem.anchorage_time.average\"#end,\n        \"median\": #if(\"$elem.anchorage_time.median\" == \"\")null#else\"$elem.anchorage_time.median\"#end,\n        \"min\": #if(\"$elem.anchorage_time.min\" == \"\")null#else\"$elem.anchorage_time.min\"#end,\n        \"max\": #if(\"$elem.anchorage_time.max\" == \"\")null#else\"$elem.anchorage_time.max\"#end,\n        \"total\": #if(\"$elem.anchorage_time.total\" == \"\")null#else\"$elem.anchorage_time.total\"#end,\n        \"vessel_count\": $elem.anchorage_time.vessel_count,\n        \"unique_vessel_count\": $elem.anchorage_time.unique_vessel_count\n      },\n      \"berthing_time\": {\n        \"average\": #if(\"$elem.berthing_time.average\" == \"\")null#else\"$elem.berthing_time.average\"#end,\n        \"median\": #if(\"$elem.berthing_time.median\" == \"\")null#else\"$elem.berthing_time.median\"#end,\n        \"min\": #if(\"$elem.berthing_time.min\" == \"\")null#else\"$elem.berthing_time.min\"#end,\n        \"max\": #if(\"$elem.berthing_time.max\" == \"\")null#else\"$elem.berthing_time.max\"#end,\n        \"total\": #if(\"$elem.berthing_time.total\" == \"\")null#else\"$elem.berthing_time.total\"#end,\n        \"vessel_count\": $elem.berthing_time.vessel_count,\n        \"unique_vessel_count\": $elem.berthing_time.unique_vessel_count\n      }\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.un_location_codes": "method.request.querystring.un_location_codes", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/{un_location_code}/port-congestions/dwell": {"get": {"tags": ["port-intelligence"], "summary": "Return dwell for a given port", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Get dwell statistics for the given port's un location code", "required": true, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get dwell data from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get dwell data for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionDwell"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/port-intelligence/{un_location_code}/dwell", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"un_location_code\": $input.json('$.un_location_code'),\n  \"export_dwell_time\": {\n    \"average\": $input.json('$.export_dwell_time.average'),\n    \"median\": $input.json('$.export_dwell_time.median'),\n    \"min\": $input.json('$.export_dwell_time.min'),\n    \"max\": $input.json('$.export_dwell_time.max'),\n    \"container_count\": $input.json('$.export_dwell_time.container_count')\n  },\n  \"import_dwell_time\": {\n    \"average\": $input.json('$.import_dwell_time.average'),\n    \"median\": $input.json('$.import_dwell_time.median'),\n    \"min\": $input.json('$.import_dwell_time.min'),\n    \"max\": $input.json('$.import_dwell_time.max'),\n    \"container_count\": $input.json('$.import_dwell_time.container_count')\n  }\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions/dwell": {"get": {"tags": ["port-intelligence"], "summary": "Return dwell stats for multiple ports", "produces": ["application/json"], "parameters": [{"name": "un_location_codes", "in": "query", "description": "UN Location codes, separate with comma e.g. USLAX,SGSIN", "required": true, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get dwell data from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get dwell data for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/multiplePortCongestionDwell"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/port-intelligence/dwell", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{ \"statistics\":\n  [\n    #foreach($elem in $input.path('$.statistics'))\n    {\n      \"un_location_code\": \"$elem.un_location_code\",\n      \"export_dwell_time\": {\n        \"average\": #if(\"$elem.export_dwell_time.average\" == \"\")null#else\"$elem.export_dwell_time.average\"#end,\n        \"median\": #if(\"$elem.export_dwell_time.median\" == \"\")null#else\"$elem.export_dwell_time.median\"#end,\n        \"min\": #if(\"$elem.export_dwell_time.min\" == \"\")null#else\"$elem.export_dwell_time.min\"#end,\n        \"max\": #if(\"$elem.export_dwell_time.max\" == \"\")null#else\"$elem.export_dwell_time.max\"#end,\n        \"container_count\": #if(\"$elem.export_dwell_time.container_count\" == \"\")null#else\"$elem.export_dwell_time.container_count\"#end\n      },\n      \"import_dwell_time\": {\n        \"average\": #if(\"$elem.import_dwell_time.average\" == \"\")null#else\"$elem.import_dwell_time.average\"#end,\n        \"median\": #if(\"$elem.import_dwell_time.median\" == \"\")null#else\"$elem.import_dwell_time.median\"#end,\n        \"min\": #if(\"$elem.import_dwell_time.min\" == \"\")null#else\"$elem.import_dwell_time.min\"#end,\n        \"max\": #if(\"$elem.import_dwell_time.max\" == \"\")null#else\"$elem.import_dwell_time.max\"#end,\n        \"container_count\": #if(\"$elem.import_dwell_time.container_count\" == \"\")null#else\"$elem.import_dwell_time.container_count\"#end\n      }\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.un_location_codes": "method.request.querystring.un_location_codes", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions/pol-un-location-codes/{pol_un_location_code}/pod-un-location-codes/{pod_un_location_code}/time-to-port": {"get": {"tags": ["port-intelligence"], "summary": "Return time to port for a given port pair", "produces": ["application/json"], "parameters": [{"name": "pol_un_location_code", "in": "path", "description": "Port of loading un location code", "required": true, "type": "string"}, {"name": "pod_un_location_code", "in": "path", "description": "Port of destination un location code", "required": true, "type": "string"}, {"name": "vessel_operator_carrier_code", "in": "query", "description": "Set to get containers tracked by a specific vessel operator / carrier", "required": false, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get time to port data from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get time to port data for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionTimeToPort"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/port-intelligence/pol-un-location-codes/{pol_un_location_code}/pod-un-location-codes/{pod_un_location_code}/time-to-port", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"pol_un_location_code\": $input.json('$.pol_un_location_code'),\n  \"pod_un_location_code\": $input.json('$.pod_un_location_code'),\n  \"departure_to_arrival\": {\n    \"average\": $input.json('$.departure_to_arrival.average'),\n    \"median\": $input.json('$.departure_to_arrival.median'),\n    \"min\": $input.json('$.departure_to_arrival.min'),\n    \"max\": $input.json('$.departure_to_arrival.max'),\n    \"container_count\": $input.json('$.departure_to_arrival.container_count')\n  }\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.pol_un_location_code": "method.request.path.pol_un_location_code", "integration.request.path.pod_un_location_code": "method.request.path.pod_un_location_code", "integration.request.querystring.scac": "method.request.querystring.vessel_operator_carrier_code", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions/time-to-port": {"get": {"tags": ["port-intelligence"], "summary": "Return time to port stats for multiple port pairs", "produces": ["application/json"], "parameters": [{"name": "un_location_code_pairs", "in": "query", "description": "UN Location code pairs. Pairs are separated with semicolon and the pair itself with comma e.g. USLAX,SGSIN;NLRTM,DEHAM", "required": true, "type": "string"}, {"name": "vessel_operator_carrier_code", "in": "query", "description": "Set to get containers tracked by a specific vessel operator / carrier", "required": false, "type": "string"}, {"name": "days_back", "in": "query", "description": "Get time to port data from latest and the chosen number of days back", "required": false, "type": "integer", "default": 30}, {"name": "latest", "in": "query", "description": "Get time to port data for date (e.g. 2023-12-09) and x days back, where x is set by days_back", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/multiplePortCongestionTimeToPort"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ASSETS_SERVICE_URL}/port-intelligence/time-to-port", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{ \"statistics\":\n  [\n    #foreach($elem in $input.path('$.statistics'))\n    {\n      \"pol_un_location_code\": \"$elem.pol_un_location_code\",\n      \"pod_un_location_code\": \"$elem.pod_un_location_code\",\n      \"departure_to_arrival\": {\n        \"average\": #if(\"$elem.departure_to_arrival.average\" == \"\")null#else\"$elem.departure_to_arrival.average\"#end,\n        \"median\": #if(\"$elem.departure_to_arrival.median\" == \"\")null#else\"$elem.departure_to_arrival.median\"#end,\n        \"min\": #if(\"$elem.departure_to_arrival.min\" == \"\")null#else\"$elem.departure_to_arrival.min\"#end,\n        \"max\": #if(\"$elem.departure_to_arrival.max\" == \"\")null#else\"$elem.departure_to_arrival.max\"#end,\n        \"container_count\": #if(\"$elem.departure_to_arrival.container_count\" == \"\")null#else\"$elem.departure_to_arrival.container_count\"#end\n      }\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.un_location_code_pairs": "method.request.querystring.un_location_code_pairs", "integration.request.querystring.scac": "method.request.querystring.vessel_operator_carrier_code", "integration.request.querystring.days_back": "method.request.querystring.days_back", "integration.request.querystring.latest": "method.request.querystring.latest", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/{un_location_code}/port-congestions/vessels": {"get": {"tags": ["port-intelligence"], "summary": "Return vessels currently at berth and anchor at a given port", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Get vessels for the given port's un location code", "required": true, "type": "string"}, {"name": "time", "in": "query", "description": "Get vessels at anchor and berth at the given time (e.g. 2023-12-09T10:47:49)", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionVessels"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/vessels", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($elem = $input.path('$')) {\n  \"un_location_code\": $input.json('$.un_location_code'),\n  \"number_of_vessels_at_anchor\": $input.json('$.number_of_vessels_at_anchor'),\n  \"number_of_vessels_at_berth\": $input.json('$.number_of_vessels_at_berth'),\n  \"vessels_at_anchor\": [\n    #foreach($subElem in $elem.vessels_at_anchor)\n      {\n        \"vessel_imo_number\" : $input.json(\"$.vessels_at_anchor[${foreach.index}].vessel_imo_number\"),\n        \"vessel_name\" : $input.json(\"$.vessels_at_anchor[${foreach.index}].vessel_name\"),\n        \"since\": $input.json(\"$.vessels_at_anchor[${foreach.index}].since\")\n      }#if($foreach.hasNext),#end\n    #end\n  ],\n  \"vessels_at_berth\": [\n    #foreach($subElem in $elem.vessels_at_berth)\n      {\n        \"vessel_imo_number\" : $input.json(\"$.vessels_at_berth[${foreach.index}].vessel_imo_number\"),\n        \"vessel_name\" : $input.json(\"$.vessels_at_berth[${foreach.index}].vessel_name\"),\n        \"since\": $input.json(\"$.vessels_at_berth[${foreach.index}].since\")\n      }#if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.querystring.time": "method.request.querystring.time", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/port-congestions/vessels": {"get": {"tags": ["port-intelligence"], "summary": "Return vessels currently at berth and anchor at multiple ports", "produces": ["application/json"], "parameters": [{"name": "un_location_codes", "in": "query", "description": "UN Location codes", "required": true, "type": "string"}, {"name": "time", "in": "query", "description": "Get vessels at anchor and berth at the given time (e.g. 2023-12-09T10:47:49)", "required": false, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/multiplePortCongestionVessels"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/port-congestions/vessels", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{ \"vessels\":\n  [\n    #set($vessels = $input.path('$.vessels'))\n    #foreach($elem in $vessels)\n    {\n      \"un_location_code\": \"$elem.un_location_code\",\n      \"number_of_vessels_at_anchor\": $elem.number_of_vessels_at_anchor,\n      \"number_of_vessels_at_berth\": $elem.number_of_vessels_at_berth,\n      \"vessels_at_anchor\": [\n        #foreach($subElem in $elem.vessels_at_anchor)\n          {\n            \"vessel_imo_number\" : $subElem.vessel_imo_number,\n            \"vessel_name\" : \"$subElem.vessel_name\",\n            \"since\": \"$subElem.since\"\n          }\n        #if($foreach.hasNext),#end\n        #end\n      ],\n      \"vessels_at_berth\": [\n        #foreach($subElem in $elem.vessels_at_berth)\n          {\n            \"vessel_imo_number\" : $subElem.vessel_imo_number,\n            \"vessel_name\" : \"$subElem.vessel_name\",\n            \"since\": \"$subElem.since\"\n          }\n        #if($foreach.hasNext),#end\n        #end\n      ]\n    }\n    #if($foreach.hasNext),#end\n    #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.un_location_codes": "method.request.querystring.un_location_codes", "integration.request.querystring.time": "method.request.querystring.time", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/ports/{un_location_code}/port-congestions/threshold": {"get": {"tags": ["port-intelligence"], "summary": "Return threshold duration for a given port", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Get threshold if it exists for the given port's un location code", "required": true, "type": "string"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionThreshold"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/threshold", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "{\n  \"un_location_code\": $input.json('$.un_location_code'),\n  \"threshold\": $input.json('$.threshold')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "post": {"tags": ["port-intelligence"], "summary": "Create congestion threshold for a given port", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Create threshold for the given port's un location code", "required": true, "type": "string"}, {"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/portCongestionThresholdInput"}}], "responses": {"201": {"description": "Created", "schema": {"$ref": "#/definitions/portCongestionThreshold"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/threshold", "httpMethod": "POST", "responses": {"201": {"statusCode": "201", "responseTemplates": {"application/json": "{\n  \"threshold\": $input.json('$.threshold')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "put": {"tags": ["port-intelligence"], "summary": "Update an existing port congestion threshold", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Update threshold for the given port's un location code", "required": true, "type": "string"}, {"name": "payload", "in": "body", "required": true, "schema": {"$ref": "#/definitions/portCongestionThresholdInput"}}], "responses": {"204": {"description": "Successful operation", "schema": {"$ref": "#/definitions/portCongestionThreshold"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/threshold", "httpMethod": "PUT", "responses": {"default": {"statusCode": "204", "responseTemplates": {"application/json": "{\n  \"threshold\": $input.json('$.threshold')\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}, "delete": {"tags": ["port-intelligence"], "summary": "Delete an existing port congestion threshold", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "description": "Delete threshold for the given port's un location code", "required": true, "type": "string"}], "responses": {"204": {"description": "Successful operation"}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/ports/{un_location_code}/port-congestions/threshold", "httpMethod": "DELETE", "responses": {"default": {"statusCode": "204"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/routes/{un_location_code}": {"get": {"tags": ["routes"], "summary": "Return expected route", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "required": true, "type": "string", "description": "The un_location_code (locode) for the target port"}, {"name": "latitude", "in": "query", "type": "number", "required": true, "description": "Latitude in degrees [-90;90] for the source position."}, {"name": "longitude", "in": "query", "type": "number", "required": true, "description": "Longitude in degrees [-180;180] for the source position."}, {"name": "draught", "in": "query", "type": "integer", "required": false, "description": "Draught in meters for which the resulting route is available.", "default": 10}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/route"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ROUTE_SERVICE_URL}/route/{un_location_code}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) { \"positions\" :\n  [\n  #foreach($pos in $inputRoot.positions)\n  {\n  \"latitude\" : $input.json(\"$.positions[${foreach.index}].pos.latitude\"),\n  \"longitude\" : $input.json(\"$.positions[${foreach.index}].pos.longitude\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.latitude": "method.request.querystring.latitude", "integration.request.querystring.longitude": "method.request.querystring.longitude", "integration.request.querystring.draught": "method.request.querystring.draught", "integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/routes/vessel/{un_location_code}": {"get": {"tags": ["routes"], "summary": "Return expected route from a given vessel", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "required": true, "type": "string", "description": "The un_location_code (locode) for the target port"}, {"name": "imo", "in": "query", "type": "number", "required": false, "description": "IMO number for the vessel to request a route from."}, {"name": "mmsi", "in": "query", "type": "number", "required": false, "description": "MMSI number for the vessel to request a route from."}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/route"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.ROUTE_SERVICE_URL}/route/vessel/{un_location_code}", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) { \"positions\" :\n  [\n  #foreach($pos in $inputRoot.positions)\n  {\n  \"latitude\" : $input.json(\"$.positions[${foreach.index}].pos.latitude\"),\n  \"longitude\" : $input.json(\"$.positions[${foreach.index}].pos.longitude\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.imo": "method.request.querystring.imo", "integration.request.querystring.mmsi": "method.request.querystring.mmsi", "integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/nextport/vessel/{vessel_imo_number}/predictions": {"get": {"tags": ["nextport"], "summary": "Returns predictions for the next port call for a vessel", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_number", "in": "path", "required": true, "type": "string", "description": "The imo number of the vessel to get the next port for"}, {"name": "including_anchorages", "in": "query", "description": "If 'true' the probability returned is the likelyhood for the vessel going to a port or the anchorage area of the port. If 'false' the probability returned is the likelyhood for the vessel going to the port", "type": "boolean", "required": false}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/nextport"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/nextport/vessel/{vessel_imo_number}/predictions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) { \"predictions\" :\n  [\n  #foreach($record in $inputRoot.predictions)\n  {\n  \"un_location_code\": $input.json(\"$.predictions[${foreach.index}].un_location_code\"),\n  \"eta_datetime\": $input.json(\"$.predictions[${foreach.index}].eta_datetime\"),\n  \"probability\": $input.json(\"$.predictions[${foreach.index}].probability\"),\n  \"vessel_imo_number\": $input.json(\"$.predictions[${foreach.index}].vessel_imo_number\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n  ]\n}"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_imo_number": "method.request.path.vessel_imo_number", "integration.request.querystring.including_anchorages": "method.request.querystring.including_anchorages", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/nextport/vessels/{vessel_imo_numbers}/predictions": {"get": {"tags": ["nextport"], "summary": "Returns predictions for the next port call for a list of vessels", "produces": ["application/json"], "parameters": [{"name": "vessel_imo_numbers", "in": "path", "required": true, "type": "string", "description": "A list of imo number comma separated to get the next port for"}, {"name": "including_anchorages", "in": "query", "description": "If 'true' the probability returned is the likelyhood for the vessel going to a port or the anchorage area of the port. If 'false' the probability returned is the likelyhood for the vessel going to the port", "type": "boolean", "required": false}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/nextportWithNoPrediction"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/nextport/vessels/{vessel_imo_numbers}/predictions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200"}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.vessel_imo_numbers": "method.request.path.vessel_imo_numbers", "integration.request.querystring.including_anchorages": "method.request.querystring.including_anchorages", "integration.request.querystring.is_external": "'true'", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/nextport/port/{un_location_code}/predictions": {"get": {"tags": ["nextport"], "summary": "Returns predictions for which vessels are having the requested port as their next port call", "produces": ["application/json"], "parameters": [{"name": "un_location_code", "in": "path", "required": true, "type": "string", "description": "The un_location_code for the port to request predictions for."}, {"name": "including_anchorages", "in": "query", "description": "If 'true' the probability returned is the likelyhood for the vessel going to a port or the anchorage area of the port. If 'false' the probability returned is the likelyhood for the vessel going to the port", "type": "boolean", "required": false}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/nextport"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.AIS_SERVICE_URL}/nextport/port/{un_location_code}/predictions", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) { \"predictions\" : $input.json('$.predictions') }"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.path.un_location_code": "method.request.path.un_location_code", "integration.request.querystring.including_anchorages": "method.request.querystring.including_anchorages", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}, "/tradelane-analytics/journey-statistics": {"get": {"tags": ["tradelane-analytics"], "summary": "Return statistics of a journey.", "produces": ["application/json"], "parameters": [{"name": "origin_un_location_code", "in": "query", "required": true, "type": "string", "description": "The un_location_code (locode) for the origin target port"}, {"name": "destination_un_location_code", "in": "query", "required": true, "type": "string", "description": "The un_location_code (locode) for the destination target port"}, {"name": "begin_datetime", "description": "Begin date to use. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2023-09-10T08:30:00+02:00", "in": "query", "type": "string", "format": "date-time"}, {"name": "end_datetime", "description": "End date to use. Format - (YYYY-MM-DDTHH:MM:SS ZZ:ZZ). Example - 2024-09-22T08:30:00+02:00", "in": "query", "type": "string", "format": "date-time"}, {"name": "vessel_operator_carrier_codes", "in": "query", "type": "string", "description": "Parameter to limit the response to a specific set of carriers, separated with comma e.g. MAEU,COSU"}], "responses": {"200": {"description": "Successful operation", "schema": {"$ref": "#/definitions/journeyStatistics"}}, "400": {"description": "Bad request", "schema": {"$ref": "#/definitions/errorMessage400"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/errorMessage401"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/errorMessage403"}}, "404": {"description": "Not Found", "schema": {"$ref": "#/definitions/errorMessage404"}}, "405": {"description": "Method Not Allowed", "schema": {"$ref": "#/definitions/errorMessage405"}}, "408": {"description": "Timeout", "schema": {"$ref": "#/definitions/errorMessage408"}}, "500": {"description": "Internal Server Error", "schema": {"$ref": "#/definitions/errorMessage500"}}, "503": {"description": "Service Unavailable", "schema": {"$ref": "#/definitions/errorMessage503"}}, "504": {"description": "Gateway Timeout", "schema": {"$ref": "#/definitions/errorMessage504"}}}, "security": [{"bearerAuth": []}, {"api_key": []}], "x-amazon-apigateway-integration": {"connectionId": "${stageVariables.VPC_LINK_ID}", "connectionType": "VPC_LINK", "type": "http", "uri": "https://${stageVariables.SCHEDULES_SERVICE_URL}/tradelane-analytics", "httpMethod": "GET", "responses": {"200": {"statusCode": "200", "responseTemplates": {"application/json": "#set($inputRoot = $input.path('$')) { \"statistics\" :  [\n  #foreach($statistic in $inputRoot.statistics)\n  {\n    \"vessel_operator_carrier_code\" : $input.json(\"$.statistics[${foreach.index}].vessel_operator_carrier_code\"),\n    \"origin_un_location_code\" : $input.json(\"$.statistics[${foreach.index}].origin_un_location_code\"),\n    \"destination_un_location_code\" : $input.json(\"$.statistics[${foreach.index}].destination_un_location_code\"),\n    \"begin_datetime\" : $input.json(\"$.statistics[${foreach.index}].begin_datetime\"),\n    \"end_datetime\" : $input.json(\"$.statistics[${foreach.index}].end_datetime\"),\n    \"origin_omitted_port_call_count\" : $input.json(\"$.statistics[${foreach.index}].origin_omitted_port_call_count\"),\n    \"destination_omitted_port_call_count\" : $input.json(\"$.statistics[${foreach.index}].destination_omitted_port_call_count\"),\n    \"total_journeys\" : $input.json(\"$.statistics[${foreach.index}].total_journeys\"),\n    \"destination_delayed_journeys\" : $input.json(\"$.statistics[${foreach.index}].destination_delayed_journeys\"),\n    \"origin_delayed_journeys\" : $input.json(\"$.statistics[${foreach.index}].origin_delayed_journeys\"),\n    \"container_count\" : $input.json(\"$.statistics[${foreach.index}].container_count\"),\n    \"carrier_caused_rolls_pct\" : $input.json(\"$.statistics[${foreach.index}].carrier_caused_rolls_pct\"),\n    \"shipper_caused_rolls_pct\" : $input.json(\"$.statistics[${foreach.index}].shipper_caused_rolls_pct\")\n  }\n  #if($foreach.hasNext),#end\n  #end\n] }"}}, "400": {"statusCode": "400", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "401": {"statusCode": "401", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "403": {"statusCode": "403", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "404": {"statusCode": "404", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "405": {"statusCode": "405", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "408": {"statusCode": "408", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "500": {"statusCode": "500", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}, "503": {"statusCode": "503", "responseTemplates": {"application/json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}", "application/problem+json": "{\n  \"type\": $input.json('$.type'),\n  \"title\": $input.json('$.title'),\n  \"error_code\": $input.json('$.error_code'),\n  \"status\": $input.json('$.status'),\n  \"detail\": $input.json('$.detail'),\n  \"correlation_id\": $input.json('$.correlation_id')\n}"}}}, "requestParameters": {"integration.request.querystring.origin_un_location_code": "method.request.path.origin_un_location_code", "integration.request.querystring.destination_un_location_code": "method.request.path.destination_un_location_code", "integration.request.querystring.vessel_operator_carrier_codes": "method.request.path.vessel_operator_carrier_codes", "integration.request.querystring.begin_datetime": "method.request.path.begin_datetime", "integration.request.querystring.end_datetime": "method.request.path.end_datetime", "integration.request.header.Authorization": "method.request.header.Authorization"}, "passthroughBehavior": "when_no_match"}}}}, "securityDefinitions": {"api_key": {"type": "apiKey", "name": "x-api-key", "in": "header"}, "bearerAuth": {"type": "apiKey", "name": "Authorization", "in": "header"}}, "definitions": {"loginResponse": {"type": "object", "properties": {"token": {"type": "string", "description": "Access token, used to gain access to the rest of the API"}, "expires": {"type": "string", "example": "2024-04-22T21:37:36+00:00", "description": "Expiration timer, for when token is no longer valid"}}}, "loginRequest": {"type": "object", "required": ["user_id", "password"], "properties": {"user_id": {"type": "string", "example": "abc@efg.com"}, "password": {"type": "string", "example": "3PG%3HY#7!awjGXt", "description": "Your password must be between 10 and 30 characters\n Your password must contain at least one uppercase, or capital, letter\n Your password must contain at least one lowercase letter\n Your password must contain at least one number digit\n Your password must contain at least one special character"}}}, "equipment": {"type": "object", "properties": {"id": {"type": "integer", "description": "The unique identifier of the equipment"}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "A unique global identifier of the equipment"}, "equipment_name": {"type": "string", "example": "40 feet dry", "description": "The name of the equipment type"}, "iso_equipment_code": {"type": "string", "example": "20G1", "description": "The ISO type code for the equipment"}, "length": {"type": "string", "example": "40 ft (12,192 mm)", "description": "The length of the equipment"}, "height": {"type": "string", "example": "8 ft 6 in (2,591 mm)", "description": "The height of the equipment"}, "width": {"type": "string", "example": "8 ft (2,438 mm)", "description": "The width of the equipment"}, "type": {"type": "string", "example": "General, Passive vents at upper part of cargo space", "description": "The type of the equipment"}}}, "location": {"type": "object", "properties": {"locode": {"type": "string", "format": "5 characters", "example": "SEGOT", "description": "United Nations Code for Trade and Transport Locations"}, "location_name": {"type": "string", "example": "G\u00f6teborg", "description": "Names of locations should be shown using the 26 letters of the Roman alphabet with, where appropriate, diacritic signs as contained in ISO 10646-1/1993 or ISO 8859-1/1987"}, "country": {"type": "string", "example": "Sweden", "description": "The country of the location"}, "latitude": {"type": "number", "example": 57.085, "description": "Decimal degrees (DD) express latitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b190\u00b0"}, "longitude": {"type": "number", "example": 9.9577, "description": "Decimal degrees (DD) express longitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b1180\u00b0"}, "timezone": {"type": "string", "example": "Europe/G\u00f6teborg", "description": "The timezone name, specifying the timezone."}}}, "locations": {"type": "array", "items": {"$ref": "#/definitions/location"}}, "port": {"type": "object", "properties": {"un_location_code": {"type": "string", "format": "5 characters", "example": "SEGOT", "description": "United Nations Code for Trade and Transport Locations"}, "location_name": {"type": "string", "example": "G\u00f6teborg", "description": "Names of locations should be shown using the 26 letters of the Roman alphabet with, where appropriate, diacritic signs as contained in ISO 10646-1/1993 or ISO 8859-1/1987"}, "location_country": {"type": "string", "example": "Sweden", "description": "The country of the location"}, "latitude": {"type": "number", "example": 57.085, "description": "Decimal degrees (DD) express latitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b190\u00b0"}, "longitude": {"type": "number", "example": 9.9577, "description": "Decimal degrees (DD) express longitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b1180\u00b0"}, "location_timezone": {"type": "string", "example": "Europe/G\u00f6teborg", "description": "The timezone name, specifying the timezone."}, "location_subdivision": {"type": "string", "example": "G\u00f6teborg", "description": "The administrative division of the country concerned (state, province, department, etc.)."}, "location_port_type": {"type": "string", "example": "Seaport", "description": "Type of port."}, "location_port_size": {"type": "string", "example": "VL", "description": "Size of port eg. VL (Very Large), S (Small)."}}}, "ports": {"type": "array", "items": {"$ref": "#/definitions/port"}}, "trackVessel": {"type": "object", "properties": {"vessel_name": {"type": "string", "example": "Eendracht", "description": "The name of the vessel"}, "vessel_imo_number": {"type": "integer", "example": 8814275, "description": "Unique identifier of a vessel"}, "vessel_mmsi_number": {"type": "integer", "example": 235762000, "description": "The MMSI of the vessel"}, "vessel_length": {"type": "integer", "example": 120, "description": "The vessel length in meters"}, "vessel_width": {"type": "integer", "example": 12, "description": "The vessel width in meters"}, "vessel_callsign": {"type": "string", "example": "W6RO", "description": "The callsign of the vessel"}, "vessel_type": {"type": "string", "example": "Barge", "description": "The vessel type"}, "vessel_country_code": {"type": "string", "example": "DK", "description": "The code for the country that the vessel s registered in"}, "vessel_draught": {"type": "number", "example": 15.5, "description": "The length of the vessel draught in meters"}, "vessel_sog": {"type": "number", "example": 20.7, "description": "The vessel speed over ground in knots"}, "vessel_cog": {"type": "number", "example": 214.0, "description": "The vessel course over ground in degrees"}, "vessel_heading": {"type": "number", "example": 214.0, "description": "The heading of the vessel in degrees"}, "vessel_rot": {"type": "number", "example": 14.0, "description": "The rate of turn for the vessel"}, "vessel_nav_status": {"type": "string", "example": "At anchor", "description": "The navigational status of the vessel"}, "vessel_source_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The time when the current vessel information was retrieved."}}}, "voyageNumber": {"type": "object", "properties": {"vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "The vessel operator that uses this voyage number"}, "voyage_number": {"type": "string", "example": "24059SI", "description": "The voyage number"}}}, "holdsAtPodTerminal": {"type": "object", "properties": {"holds_type_code": {"type": "string", "example": "CTF", "description": "The description of the hold"}, "holds_description": {"type": "string", "example": "Clean Truck Fee", "description": "Number of free days"}}}, "portcall": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port"}, "port_name": {"type": "string", "example": "G\u00f6teborg", "description": "The name of the port"}, "port_country": {"type": "string", "example": "Sweden", "description": "The country that the port is located in"}, "port_timezone": {"type": "string", "example": "America/Los_Angeles", "description": "The timezone that the port is located in"}, "latitude": {"type": "number", "example": 57.085, "description": "Decimal degrees (DD) express latitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b190\u00b0"}, "longitude": {"type": "number", "example": 9.9577, "description": "Decimal degrees (DD) express longitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b1180\u00b0"}, "sta_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The scheduled time of arrival."}, "std_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The scheduled time of departure."}, "eta_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The estimated time of arrival."}, "etd_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The estimated time of departure."}, "ata_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The actual time of arrival."}, "atd_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The actual time of departure."}, "carrier_import_voyage_numbers": {"type": "array", "items": {"$ref": "#/definitions/voyageNumber"}}, "carrier_export_voyage_numbers": {"type": "array", "items": {"$ref": "#/definitions/voyageNumber"}}}}, "position": {"type": "object", "properties": {"latitude": {"type": "number", "example": 57.085, "description": "Decimal degrees (DD) express latitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b190\u00b0"}, "longitude": {"type": "number", "example": 9.9577, "description": "Decimal degrees (DD) express longitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b1180\u00b0"}, "position_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The time of this position"}, "tag": {"type": "string", "example": "historic", "description": "The category of the position. E.g. historic, latest, or predicted"}}}, "basicTrack": {"type": "object", "required": ["vessel_imo_number", "pol_un_location_code", "pod_un_location_code"], "properties": {"id": {"type": "integer", "description": "The unique identifier of the track"}, "start_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "Time when the track was created"}, "end_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "Time when the track ended. Will be null as long as the track is active"}, "vessel_imo_number": {"type": "integer", "example": 8814275, "description": "The IMO of the vessel to track"}, "input_pol_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of loading - original user input"}, "pol_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of loading"}, "pol_name": {"type": "string", "example": "G\u00f6teborg", "description": "The name of the port of loading"}, "pol_country": {"type": "string", "example": "Sweden", "description": "The country that the port of loading is located in"}, "pol_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T00:00:00+00:00", "description": "(Optional) Port of Loading - Scheduled or actual arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "input_pod_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of destination - original user input"}, "pod_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of destination"}, "pod_name": {"type": "string", "example": "G\u00f6teborg", "description": "The name of the port of destination"}, "pod_country": {"type": "string", "example": "Sweden", "description": "The country that the port of destination is located in"}, "pod_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T23:59:59+00:00", "description": "(Optional) Port of Destination - Scheduled arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "sta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The scheduled time of arrival from the data source"}, "source_eta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "DEPRECATED! Use sta instead. The scheduled time of arrival from the data source"}, "eta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The estimated time of arrival calculated by Gatehouse"}, "add_intermediate": {"type": "boolean", "default": false, "example": true, "description": "Use vessel schedule to consider all intermediate port calls between PoL and PoD"}, "matched_schedule": {"type": "string", "example": "POL_NOT_FOUND_IN_SCHEDULE", "description": "Result of schedule validation. If null there are no issues with schedule validation"}, "vessel": {"$ref": "#/definitions/trackVessel"}}}, "trackRequest": {"type": "object", "required": ["vessel_imo_number", "pod_un_location_code"], "properties": {"vessel_imo_number": {"type": "integer", "example": 8814275, "description": "The IMO of the vessel to track"}, "pol_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of loading"}, "pol_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T00:00:00+00:00", "description": "(Optional) Port of Loading - Scheduled or actual arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "pod_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of destination"}, "pod_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T23:59:59+00:00", "description": "(Optional) Port of Destination - Scheduled arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "add_intermediate": {"type": "boolean", "default": false, "example": true, "description": "Use vessel schedule to consider all intermediate stops between the port of loading and the port of destination"}}}, "track": {"type": "object", "required": ["vessel_imo_number", "pol_un_location_code", "pod_un_location_code"], "properties": {"id": {"type": "integer", "description": "The unique identifier of the track"}, "start_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "Time when the track was created"}, "end_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "Time when the track ended. Will be null as long as the track is active"}, "vessel_imo_number": {"type": "integer", "example": 8814275, "description": "The IMO of the vessel to track"}, "input_pol_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of loading - original user input"}, "pol_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of loading"}, "pol_name": {"type": "string", "example": "G\u00f6teborg", "description": "The name of the port of loading"}, "pol_country": {"type": "string", "example": "Sweden", "description": "The country that the port of loading is located in"}, "pol_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T00:00:00+00:00", "description": "(Optional) Port of Loading - Scheduled or actual arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "input_pod_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of destination - original user input"}, "pod_un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the port of destination"}, "pod_name": {"type": "string", "example": "G\u00f6teborg", "description": "The name of the port of destination"}, "pod_country": {"type": "string", "example": "Sweden", "description": "The country that the port of destination is located in"}, "pod_arrival_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T23:59:59+00:00", "description": "(Optional) Port of Destination - Scheduled arrival time. If not set, the system will calculate this value based on current vessel schedule"}, "sta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The scheduled time of arrival from the data source"}, "source_eta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "DEPRECATED! Use sta instead. The scheduled time of arrival from the data source"}, "eta": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The estimated time of arrival calculated by Gatehouse"}, "add_intermediate": {"type": "boolean", "default": false, "example": true, "description": "Use vessel schedule to consider all intermediate port calls between PoL and PoD"}, "matched_schedule": {"type": "string", "example": "POL_NOT_FOUND_IN_SCHEDULE", "description": "Result of schedule validation. If null there are no issues with schedule validation"}, "vessel": {"$ref": "#/definitions/trackVessel"}, "portcalls": {"type": "array", "items": {"$ref": "#/definitions/portcall"}}, "positions": {"type": "array", "items": {"$ref": "#/definitions/position"}}}}, "basicTracks": {"type": "array", "items": {"$ref": "#/definitions/basicTrack"}}, "transportTrack": {"type": "object", "properties": {"start_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The start time of this track"}, "end_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The end time of this track"}, "pol_un_location_code": {"type": "string", "example": "USLAX", "description": "The location we are tracking the vessel from"}, "pod_un_location_code": {"type": "string", "example": "USHOU", "description": "The location we are tracking the vessel to"}, "state": {"type": "string", "example": "ONGOING", "description": "The status of the track. Possible values are PAST/ONGOING/FUTURE"}, "vessel": {"$ref": "#/definitions/trackVessel"}, "portcalls": {"type": "array", "items": {"$ref": "#/definitions/portcall"}}, "positions": {"type": "array", "items": {"$ref": "#/definitions/position"}}}}, "transportTracks": {"type": "object", "properties": {"id": {"type": "string", "example": 23, "description": "The id of the transport related to these tracks"}, "transport_tracks": {"type": "array", "items": {"$ref": "#/definitions/transportTrack"}}}}, "transportRequest": {"type": "object", "properties": {"transport_id": {"type": "string", "example": "GH1001", "description": "The shippers unique identifier of the transport."}, "vessel_operator_carrier_code": {"type": "string", "example": "ABDU", "description": "Carriers SCAC."}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "Equipment reference of the equipment."}, "bill_of_lading_number": {"type": "string", "example": "BOL12345", "description": "The bill of lading number that links to the transport."}, "carrier_booking_reference": {"type": "string", "example": "BOOKING12345", "description": "A set of unique characters provided by carrier to identify a booking."}, "transport_name": {"type": "string", "example": "Furniture from CNSGH to USLAX", "description": "Name of the transport. Optional description of the transport."}, "features": {"type": "array", "items": {"type": "string"}, "example": ["ALL", "FAILOVER_TO_NO_SCAC", "TRANSPORT_TRACK"]}, "planned_begin": {"type": "string", "format": "iso8601", "example": "2023-03-13T10:44:15+00:00", "description": "Time when the transport is planned to begin in ISO 8601 Date format"}, "planned_end": {"type": "string", "format": "iso8601", "example": "2023-04-25T20:00:00+00:00", "description": "Time when the transport is planned to end in ISO 8601 Date format"}, "requested_equipment_references": {"type": "array", "items": {"type": "string", "example": "MHGU1234567"}}}}, "equipmentStates": {"type": "array", "items": {"$ref": "#/definitions/equipmentState"}}, "equipmentState": {"type": "object", "properties": {"id": {"type": "integer", "description": "The unique identifier of the equipment state."}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "Equipment reference of the equipment"}, "equipment_state": {"type": "string", "example": "IN_TERMINAL", "description": "The state of the equipment. Holds information about where the equipment is."}, "equipment_sub_state": {"type": "string", "example": "IMPORT", "description": "A substate to specify the state further."}, "equipment_mode_of_transportation": {"type": "string", "example": "ON_VESSEL", "description": "The mode of transport used in this state."}, "empty_indicator_code": {"type": "string", "example": "LADEN", "description": "Indication of equipment is empty.."}, "state_datetime": {"type": "string", "example": "IN_TERMINAL", "description": "Date and time that the equipment entered this state."}, "state_timeout_datetime": {"type": "string", "example": "2024-04-25T20:00:00+00:00", "description": "Date and time when this state expires."}, "current_un_location_code": {"type": "string", "example": "USLAX", "description": "Location of the equipment."}, "gross_weight": {"type": "string", "example": 32.5, "description": "The weight of the equipment in KG."}, "last_free_datetime": {"type": "string", "example": "2024-04-25T20:00:00+00:00", "description": "Last free day in the port/terminal."}, "last_free_days": {"type": "string", "example": 5, "description": "Number of free days."}, "port_terminal_code": {"type": "string", "example": "APMT", "description": "Terminal code."}, "port_terminal_name": {"type": "string", "example": "APM TERMINALS LOS ANGELES PIER 400", "description": "Terminal name."}, "pickup_appointment_datetime": {"type": "string", "example": "2024-04-25T20:00:00+00:00", "description": "Time where the container should be picked up."}, "available_for_pickup": {"type": "boolean", "example": true, "description": "Is it possible to pickup the container."}, "available_for_pickup_description": {"type": "string", "example": "Container has impediments", "description": "Description of why the container isn't available."}, "fees_at_pod_terminal": {"type": "array", "items": {"type": "string"}, "example": ["CTF"], "description": "List of fees to be paid"}, "holds_at_pod_terminal": {"type": "array", "items": {"$ref": "#/definitions/holdsAtPodTerminal"}}}}, "transport": {"type": "object", "properties": {"id": {"type": "integer", "description": "The unique identifier of the transport in the DaaS."}, "transport_id": {"type": "string", "example": "GH1001", "description": "The shippers id of the transport. The shippers unique identifier of the transport."}, "vessel_operator_carrier_code": {"type": "string", "example": "ABDU", "description": "Carriers SCAC."}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "Equipment reference of the equipment"}, "bill_of_lading_number": {"type": "string", "example": "BOL12345", "description": "Bill of lading number is an identifier that links to a transport. Bill of Lading is the legal document issued to the customer, which confirms the carrier's receipt of the cargo from the customer acknowledging goods being shipped and specifying the terms of delivery."}, "carrier_booking_reference": {"type": "string", "example": "BOOKING12345", "description": "A set of unique characters provided by carrier to identify a booking."}, "transport_name": {"type": "string", "example": "Furniture from CNSGH to USLAX", "description": "Name of the transport. Optional description of the transport."}, "features": {"type": "array", "items": {"type": "string"}, "example": ["ALL", "FAILOVER_TO_NO_SCAC", "TRANSPORT_TRACK"]}, "planned_begin": {"type": "string", "format": "iso8601", "example": "2023-03-13T10:44:15+00:00", "description": "Time when the transport is planned to begin in ISO 8601 Date format"}, "planned_end": {"type": "string", "format": "iso8601", "example": "2023-04-25T20:00:00+00:00", "description": "Time when the transport is planned to end in ISO 8601 Date format"}, "place_of_origin": {"type": "string", "example": "CNSGH", "description": "Locode of the origin of the transport"}, "port_of_loading": {"type": "string", "example": "CNSGH", "description": "Locode of the port of loading"}, "port_of_destination": {"type": "string", "example": "USLAX", "description": "Locode of the destination port"}, "final_delivery_location": {"type": "string", "example": "USLAX", "description": "Locode of the final delivery location"}, "port_of_destination_eta": {"type": "string", "format": "iso8601", "example": "2023-04-13T20:00:00+00:00", "description": "Expected time of arrival at destination port"}, "port_of_destination_ata": {"type": "string", "format": "iso8601", "example": "2023-04-13T20:00:00+00:00", "description": "Actual time of arrival at destination port"}, "related_equipment_references": {"type": "array", "items": {"type": "string", "example": "MHGU1234569"}}, "transport_status": {"type": "string", "example": "IN_PROGRESS", "description": "The current status of the Transport."}, "requested_equipment_references": {"type": "array", "items": {"type": "string", "example": "MHGU1234569"}}}}, "equipmentErrors": {"type": "object", "properties": {"equipment_reference": {"type": "string", "example": "MHGU1234569"}, "error_message": {"type": "string", "example": "404 not found"}}}, "transports": {"type": "array", "items": {"$ref": "#/definitions/transport"}}, "transportEvents": {"type": "object", "properties": {"identifier": {"type": "string", "example": "BOL12345", "description": "The identifier used to request data."}, "identifier_type": {"type": "string", "example": "bill_of_lading_number", "description": "Indication of the identifier type used to get the events."}, "transport_status": {"type": "string", "example": "IN_PROGRESS", "description": "Indication of the current status of the transport."}, "number_of_related_equipments": {"type": "integer", "description": "Total number of equipments of the transport."}, "total_pages": {"type": "integer", "description": "Total number equipment pages."}, "current_page": {"type": "integer", "description": "The current equipment page number"}, "containers": {"type": "array", "items": {"$ref": "#/definitions/transportEventsInner"}}}}, "transportEventsInner": {"type": "object", "properties": {"equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "The container numbers related to the identifier."}, "events": {"type": "array", "items": {"$ref": "#/definitions/event"}}}}, "errorMessage400": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Bad request", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 400}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server cannot or will not process the request due to something that is perceived to be a client error", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage401": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Unauthorized", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 401}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Client request has not been completed because it lacks valid authentication credentials for the requested resource.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage403": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Forbidden", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 403}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server understands the request but refuses to authorize it.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage404": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Not Found", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 404}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server cannot find the requested resource.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage405": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Method Not Allowed", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 405}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server knows the request method, but the target resource doesn't support this method.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage408": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Request Timeout", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 408}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server would like to shut down this unused connection.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage500": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Internal Server Error", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 500}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Server encountered an unexpected condition that prevented it from fulfilling the request.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage503": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Service Unavailable", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 503}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Service is temporarily unavailable, try again later.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "errorMessage504": {"type": "object", "description": "An RFC7807 problem detail object. Provide this in your support request.", "properties": {"type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/container-tracking/errors/ERROR_TYPE", "description": "Link to documentation of the error type"}, "title": {"type": "string", "example": "Gateway Timeout Error", "description": "Simple description of the error type"}, "error_code": {"type": "integer", "description": "Error code is associated with a specific error, for more information contact support", "example": 504}, "status": {"type": "integer", "description": "The status code of the response"}, "detail": {"type": "string", "example": "Gateway Timeout Error. The service did not receive a timely response from another service.", "description": "Detailed description of the problem that occurred"}, "correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}}}, "vesselOperatorCarrierCodes": {"type": "array", "items": {"type": "string", "example": "MAEU", "description": "A carrier represented by vessel_operator_carrier_code/scac"}}, "carrierInfo": {"type": "object", "properties": {"vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "A code that describes the vessel carrier"}, "equipment_reference_supported": {"type": "boolean", "example": true, "description": "Indication of whether carrier booking reference input for the carrier with the related vessel_operator_carrier_code is supported."}, "bill_of_lading_number_supported": {"type": "boolean", "example": true, "description": "Indication of whether carrier booking reference input for the carrier with the related vessel_operator_carrier_code is supported."}, "carrier_booking_reference_supported": {"type": "boolean", "example": true, "description": "Indication of whether carrier booking reference input for the carrier with the related vessel_operator_carrier_code is supported."}}}, "fieldRule": {"type": "object", "required": ["field_context", "field_name", "field_type"], "properties": {"id": {"type": "integer", "example": 0, "description": "The unique identifier of the field"}, "company_id": {"type": "integer", "example": 0, "description": "The id of the company related to the field"}, "field_context": {"type": "string", "example": "event.locode", "description": "The context of the field"}, "field_name": {"type": "string", "example": "carrier_scac", "description": "The name of the field"}, "alternative_field_name": {"type": "string", "example": "scac", "description": "An alternative name for a field"}, "field_type": {"type": "string", "example": "string", "description": "The type of the field"}, "description": {"type": "string", "example": "Carrier scac contains ....", "description": "Description"}, "filterable": {"type": "boolean", "example": true, "description": "If true then its possible to removed the field from the output"}, "default_field": {"type": "boolean", "example": true, "description": "Fields that are part of Gatehouses standard data format should have default=True"}, "deleted": {"type": "boolean", "example": false, "description": "If true then this field is removed from the standard data format"}, "alternative_datetime_format": {"type": "string", "example": "YYYY-MM-DDTHH:MM:SS", "description": "For datetime fields this describes the format"}, "field_value": {"type": "string", "example": "GTOT", "description": "For strings the value that should be mapped"}, "mapped_to_field_value": {"type": "string", "example": "Gate out", "description": "For strings the value that should be mapped to"}}}, "fieldRules": {"type": "array", "items": {"$ref": "#/definitions/fieldRule"}}, "eventRule": {"type": "object", "required": ["field_name"], "properties": {"id": {"type": "integer", "example": 0, "description": "The unique identifier of the event"}, "company_id": {"type": "integer", "example": 0, "description": "The id of the company related to the event"}, "field_name": {"type": "string", "example": "EVENT_TYPE_CODE", "description": "The name of the field we want to access"}, "field_value": {"type": "string", "example": "GTOT", "description": "The value of the events we want to filter or delete"}, "mapped_to_field_value": {"type": "string", "example": "Gate out", "description": "For strings the value that should be mapped to for the given field"}, "description": {"type": "string", "example": "The container is sent out of the port", "description": "Description"}, "filterable": {"type": "boolean", "example": true, "description": "If true then its possible to removed the event from the output"}, "default_event": {"type": "boolean", "example": true, "description": "Events that are part of Gatehouses standard data format should have default=True"}, "deleted": {"type": "boolean", "example": false, "description": "If true then this event type is removed from the standard data format"}}}, "eventRules": {"type": "array", "items": {"$ref": "#/definitions/eventRule"}}, "notificationRule": {"properties": {"notification_id": {"type": "integer", "example": 0, "description": "The unique identifier of the notification setting"}, "company_id": {"type": "integer", "example": 0, "description": "The id of the company related to the notification"}, "notification_name": {"type": "string", "example": "TRANSPORT_COMPLETED", "description": "The name of the notification we want to access"}, "description": {"type": "string", "example": "The transport is completed", "description": "Description"}, "filterable": {"type": "boolean", "example": true, "description": "If true then its possible to removed the notification from the output"}, "default_notification": {"type": "boolean", "example": true, "description": "Notifications that are part of Gatehouses standard data format should have default=True"}, "deleted": {"type": "boolean", "example": false, "description": "If true then this notification type is removed from the standard data format"}}}, "notificationRules": {"type": "array", "items": {"$ref": "#/definitions/notificationRule"}}, "portCongestionStatistic": {"type": "object", "properties": {"average": {"type": "string", "example": "P4DT11H15M14S"}, "median": {"type": "string", "example": "P2D12T04M07S"}, "min": {"type": "string", "example": "P0DT01H02M58S"}, "max": {"type": "string", "example": "P19DT19H30M46S"}, "total": {"type": "string", "example": "P469DT5H39M30S"}, "vessel_count": {"type": "integer", "example": 105}, "unique_vessel_count": {"type": "integer", "example": 99}}}, "portCongestionStatistics": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX"}, "is_port_congested": {"type": "string", "example": true, "description": "Can be true, false or null"}, "anchorage_time": {"$ref": "#/definitions/portCongestionStatistic"}, "berthing_time": {"$ref": "#/definitions/portCongestionStatistic"}}}, "multiplePortCongestionStatistics": {"type": "object", "properties": {"statistics": {"type": "array", "items": {"$ref": "#/definitions/portCongestionStatistics"}}}}, "portCongestionStatisticContainer": {"type": "object", "properties": {"average": {"type": "string", "example": "P4DT11H15M14S"}, "median": {"type": "string", "example": "P2D12T04M07S"}, "min": {"type": "string", "example": "P0DT01H02M58S"}, "max": {"type": "string", "example": "P19DT19H30M46S"}, "container_count": {"type": "string", "example": "1000-5000"}}}, "portCongestionDwell": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX"}, "export_dwell_time": {"$ref": "#/definitions/portCongestionStatisticContainer"}, "import_dwell_time": {"$ref": "#/definitions/portCongestionStatisticContainer"}}}, "multiplePortCongestionDwell": {"type": "object", "properties": {"statistics": {"type": "array", "items": {"$ref": "#/definitions/portCongestionDwell"}}}}, "portCongestionTimeToPort": {"type": "object", "properties": {"pol_un_location_code": {"type": "string", "example": "USLAX"}, "pod_un_location_code": {"type": "string", "example": "NLRTM"}, "departure_to_arrival": {"$ref": "#/definitions/portCongestionStatisticContainer"}}}, "multiplePortCongestionTimeToPort": {"type": "object", "properties": {"statistics": {"type": "array", "items": {"$ref": "#/definitions/portCongestionTimeToPort"}}}}, "portsCongestions": {"type": "array", "items": {"type": "string", "example": "USLAX"}}, "portCongestionVessel": {"type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 9143544}, "vessel_name": {"type": "string", "example": "KOBE EXPRESS"}, "since": {"type": "string", "example": "2023-11-15T16:58:19+00:00"}}}, "portCongestionVessels": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX"}, "number_of_vessels_at_anchor": {"type": "integer", "example": 42}, "number_of_vessels_at_berth": {"type": "integer", "example": 18}, "vessels_at_anchor": {"type": "array", "items": {"$ref": "#/definitions/portCongestionVessel"}}, "vessels_at_berth": {"type": "array", "items": {"$ref": "#/definitions/portCongestionVessel"}}}}, "multiplePortCongestionVessels": {"type": "object", "properties": {"vessels": {"type": "array", "items": {"$ref": "#/definitions/portCongestionVessels"}}}}, "portCongestionIsSupported": {"type": "object", "properties": {"is_supported": {"type": "boolean", "example": true}}}, "portCongestionThreshold": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX"}, "threshold": {"type": "string", "example": "P2D12T04M07S"}}}, "portCongestionThresholdInput": {"required": ["threshold"], "properties": {"threshold": {"type": "string", "description": "Duration in ISO-8601 format", "example": "P4DT16H00M59S"}}}, "webhook": {"required": ["webhook_name", "enabled", "type", "callback_url_type", "callback_url", "authorization_type"], "properties": {"id": {"type": "integer", "description": "Unique identifier"}, "webhook_name": {"type": "string", "description": "Name of webhook", "example": "webhook for webhook.site"}, "enabled": {"type": "boolean", "description": "webhook enabled"}, "type": {"type": "string", "description": "type of webhook i.e. ['DATA', 'EXCEPTIONS', 'NOTIFICATION']", "example": "DATA"}, "callback_url": {"type": "string", "description": "Callback url", "example": "https://webhook.site/#!/TXXXXX/BXXXXX/XXXXXXXXXX"}, "callback_url_type": {"type": "string", "description": "Callback types i.e. ['REGULAR', 'MS_TEAMS_INCOMING_WEBHOOK']", "example": "REGULAR"}, "authorization_type": {"type": "string", "description": "Type of authorization to use for webhook i.e. ['NO_AUTHORIZATION', 'BASIC', 'API_KEY', 'OAUTH_CLIENT_CREDENTIALS']", "example": "NO_AUTHORIZATION"}, "basic_username": {"type": "string", "description": "Username used in HTTP basic authentication ie. http-header: \"Authorization: Basic username:password\"", "example": "username1234"}, "basic_password": {"type": "string", "description": "Password used in HTTP basic authentication ie. http-header: \"Authorization: Basic basic_username:password\"", "example": "password1234"}, "api_key": {"type": "string", "description": "api key applied in custom http request header: X-API-Key", "example": "bXl2ZXJ5c2VjcmV0YXBpa2V5"}, "oauth_token_server_url": {"type": "string", "description": "http://oauth-token-server:8080/auth/realms/demo/protocol/openid-connect/token", "example": "http://oauth-token-server.com"}, "oauth_client_cred_client_id": {"type": "string", "description": "client_id for OAUTH Client Credential Grant Type", "example": "demoapp"}, "oauth_client_cred_client_secret": {"type": "string", "description": "client_secret for OAUTH Client Credential Grant Type", "example": "bXl2ZXJ5c2VjcmV0b2F1dGg="}, "max_req_per_minute": {"type": "integer", "description": "Push rate limit (using sliding window) in http requests per minute applied for this webhook.", "example": 300}}, "type": "object"}, "activityLog": {"properties": {"id": {"type": "integer", "description": "Unique identifier"}, "webhook_id": {"type": "integer", "description": "Webhook id"}, "webhook_name": {"type": "string", "description": "Name of webhook", "example": "webhook for webhook.site"}, "equipment_reference": {"type": "string", "description": "Equipment reference", "example": "MHGU1234569"}, "status": {"type": "string", "description": "Callback types i.e. ['DATA_PUSHED', 'FAILED']", "example": "DATA_PUSHED"}, "error_message": {"type": "string", "description": "Error message from webhook", "example": "Something went wrong"}, "data_pushed_datetime": {"type": "string", "description": "Timestamp of when data was pushed", "example": "2024-01-25 21:41:29+00:00"}, "post_elapsed_time_sec": {"type": "string", "description": "Elapsed time when posting to callback url in seconds", "example": "0.2342"}}, "type": "object"}, "vessel": {"type": "object", "properties": {"vessel_name": {"type": "string", "example": "Eendracht", "description": "The name of the vessel"}, "vessel_imo_number": {"type": "integer", "example": 8814275, "description": "Unique identifier of a vessel"}, "vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "A code that describes the vessel carrier"}, "vessel_operator_carrier_code_list_provider": {"type": "string", "example": "SCAC", "description": "The format of the vessel_operator_carrier_code"}}}, "transportCall": {"type": "object", "properties": {"transport_call_id": {"type": "string", "example": "751a9486-e7d9-456b-k80d-cd2a96d38293", "description": "Unique identifier for the transport call"}, "carrier_service_code": {"type": "string", "description": "PLN"}, "carrier_voyage_number": {"type": "string", "example": "999S", "description": "The voyage number of the voyage that the vessel is currently on"}, "un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the location"}, "location": {"$ref": "#/definitions/location"}, "mode_of_transport": {"type": "string", "example": "VESSEL", "description": "The transport used for the event. Can be null when the mode of transport is not known."}, "transport_call_type": {"type": "string", "example": "PORT_OF_LOADING", "description": "The location's relation to the transport. E.g. DEPOT_RELEASE_LOCATION, PLACE_OF_ORIGIN, PORT_OF_LOADING, INTERMEDIATE_PORT, TRANSSHIPMENT_PORT, PORT_OF_DESTINATION, UNKNOWN_PORT, FINAL_DELIVERY_LOCATION and INTERMEDIATE_LOCATION"}, "vessel": {"$ref": "#/definitions/vessel"}}}, "latestVessel": {"type": "object", "properties": {"vessel_name": {"type": "string", "example": "Eendracht", "description": "The name of the vessel"}, "vessel_imo": {"type": "integer", "example": 8814275, "description": "(DEPRECATED) Unique identifier of a vessel"}, "vessel_imo_number": {"type": "integer", "example": 8814275, "description": "Unique identifier of a vessel"}, "vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "A code that describes the vessel carrier"}, "vessel_operator_carrier_code_list_provider": {"type": "string", "example": "SCAC", "description": "The format of the vessel_operator_carrier_code"}}}, "latestTransportCall": {"type": "object", "properties": {"transport_call_id": {"type": "string", "example": "751a9486-e7d9-456b-k80d-cd2a96d38293", "description": "Unique identifier for the transport call"}, "carrier_service_code": {"type": "string", "description": "PLN"}, "carrier_voyage_number": {"type": "string", "example": "999S", "description": "The voyage number of the voyage that the vessel is currently on"}, "un_location_code": {"type": "string", "example": "SEGOT", "description": "The UN location code of the location"}, "location": {"$ref": "#/definitions/location"}, "mode_of_transport": {"type": "string", "example": "VESSEL", "description": "The transport used for the event. Can be null when the mode of transport is not known."}, "transport_call_type": {"type": "string", "example": "PORT_OF_LOADING", "description": "The location's relation to the transport. E.g. DEPOT_RELEASE_LOCATION, PLACE_OF_ORIGIN, PORT_OF_LOADING, INTERMEDIATE_PORT, TRANSSHIPMENT_PORT, PORT_OF_DESTINATION, UNKNOWN_PORT, FINAL_DELIVERY_LOCATION and INTERMEDIATE_LOCATION"}, "vessel": {"$ref": "#/definitions/latestVessel"}}}, "event": {"properties": {"event_id": {"type": "string", "example": "8eld8d34-5257-99jh-af0a-5af80e3c99d4", "description": "Unique identifier for the event"}, "event_type": {"type": "string", "example": "EQUIPMENT", "description": "Either EQUIPMENT or TRANSPORT depending on what the event regards"}, "event_created_datetime": {"type": "string", "format": "iso8601", "example": "2023-04-13T20:00:00+00:00", "description": "The time the event was created"}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "The reference to the equipment this event happened for"}, "bill_of_lading_number": {"type": "string", "example": "BOL12345", "description": "The bill of lading number that links to the transport."}, "carrier_booking_reference": {"type": "string", "example": "BOOKING12345", "description": "The carrier booking reference that links to the transport's booking."}, "event_classifier_code": {"type": "string", "example": "ACT", "description": "Is ACT if the event has happened, PLN if the event is planned, and EST if the event is estimated. Is UNK if the event classifier is not known."}, "equipment_event_type_code": {"type": "string", "example": "LOAD", "description": "The event type code, if the event is an equipment event. Can be OTHR when the specific event type is not known."}, "transport_event_type_code": {"type": "string", "example": "ARRI", "description": "The event type code, if the event is an transport event. Can be OTHR when the specific event type is not known."}, "event_description": {"type": "string", "example": "Gate out empty from USLAX", "description": "The raw description of the event from the carrier"}, "event_datetime": {"type": "string", "format": "iso8601", "example": "2023-04-13T20:00:00+00:00", "description": "The time the event happens or has happened"}, "event_datetime_locale": {"type": "string", "format": "iso8601", "example": "2023-04-13T22:00:00+02:00", "description": "The time the event happens or has happened in locale time"}, "iso_equipment_code": {"type": "string", "example": "22G1", "format": "iso6346", "description": "Describes the type of the equipment"}, "empty_indicator_code": {"type": "string", "example": "LADEN", "description": "Describes whether the equipment is EMPTY or LADEN at the time of the event. Can be null when it is not known whether the equipment is empty or laden."}, "delay_reason_code": {"type": "string", "example": "DEV", "description": "The DCSA code for delay reasons"}, "change_remark": {"type": "string", "example": "Deviated due to bad weather", "description": "A text describing why a change in the schedule has been made"}, "transport_call": {"$ref": "#/definitions/transportCall"}, "source_type": {"type": "string", "example": "CARRIER", "description": "Describes where the data comes from e.g. AIS, CARRIER, PORT or null"}, "leg_number": {"type": "string", "example": "1/2", "description": "Describes on which leg of the journey that the event is on."}, "leg_type": {"type": "string", "example": "OCEAN", "description": "Describes on which leg type that the event is on. Can be UNKNOWN when the leg type is not known."}}}, "events": {"type": "array", "items": {"$ref": "#/definitions/event"}}, "v2Events": {"properties": {"transport_status": {"type": "string", "example": "IN_PROGRESS", "description": "Indication on the current progress"}, "identifier": {"type": "string", "example": "MAEU1234567", "description": "The identifier used to request data."}, "identifier_type": {"type": "string", "example": "equipment_reference", "description": "The type of identifier used to request data."}, "events": {"type": "array", "items": {"$ref": "#/definitions/event"}}}}, "latestEvent": {"properties": {"event_id": {"type": "string", "example": "8eld8d34-5257-99jh-af0a-5af80e3c99d4", "description": "Unique identifier for the event"}, "transport_id": {"type": "string", "example": "GH1001", "description": "The shippers id of the transport. The shippers unique identifier of the transport."}, "event_type": {"type": "string", "example": "EQUIPMENT", "description": "Either EQUIPMENT or TRANSPORT depending on what the event regards"}, "event_created_datetime": {"type": "string", "format": "iso8601", "example": "2024-04-13T20:00:00+00:00", "description": "The time the event was created"}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "The reference to the equipment this event happened for"}, "bill_of_lading_number": {"type": "string", "example": "BOL12345", "description": "The bill of lading number that links to the transport."}, "carrier_booking_reference": {"type": "string", "example": "BOOKING12345", "description": "The carrier booking reference that links to the transport's booking."}, "event_classifier_code": {"type": "string", "example": "ACT", "description": "Is ACT if the event has happened, PLN if the event is planned, and EST if the event is estimated. Is UNK if the event classifier is not known."}, "equipment_event_type_code": {"type": "string", "example": "LOAD", "description": "The event type code, if the event is an equipment event. Can be OTHR when the specific event type is not known."}, "transport_event_type_code": {"type": "string", "example": "ARRI", "description": "The event type code, if the event is an transport event. Can be OTHR when the specific event type is not known."}, "event_description": {"type": "string", "example": "Gate out empty from USLAX", "description": "The raw description of the event from the carrier"}, "event_datetime": {"type": "string", "format": "iso8601", "example": "2023-12-13T20:00:00+00:00", "description": "The time the event happens or has happened"}, "event_datetime_locale": {"type": "string", "format": "iso8601", "example": "2023-12-13T22:00:00+02:00", "description": "The time the event happens or has happened in locale time"}, "iso_equipment_code": {"type": "string", "example": "22G1", "format": "iso6346", "description": "Describes the type of the equipment"}, "empty_indicator_code": {"type": "string", "example": "LADEN", "description": "Describes whether the equipment is EMPTY or LADEN at the time of the event. Can be null when it is not known whether the equipment is empty or laden."}, "delay_reason_code": {"type": "string", "example": "DEV", "description": "The DCSA code for delay reasons"}, "change_remark": {"type": "string", "example": "Deviated due to bad weather", "description": "A text describing why a change in the schedule has been made"}, "transport_call": {"$ref": "#/definitions/latestTransportCall"}, "source_type": {"type": "string", "example": "CARRIER", "description": "Describes where the data comes from e.g. AIS, CARRIER, PORT or null"}, "leg_number": {"type": "string", "example": "1/2", "description": "Describes on which leg of the journey that the event is on."}, "leg_type": {"type": "string", "example": "OCEAN", "description": "Describes on which leg type that the event is on. Can be UNKNOWN when the leg type is not known."}}}, "latestEvents": {"type": "array", "items": {"$ref": "#/definitions/latestEvent"}}, "latestExceptions": {"type": "array", "items": {"$ref": "#/definitions/latestException"}}, "latestException": {"type": "object", "properties": {"exception_datetime": {"type": "string", "format": "iso8601", "example": "2023-12-13T20:00:00+00:00", "description": "The time the exception occurred"}, "exception_type": {"type": "string", "example": "TRANSPORT_WARNING", "description": "Describes what happened. The structure of the 'data' field is determined by this field."}, "data": {"type": "string", "example": "OneOf ContainerDelayNotification, TransportWarning or PortCongestionNotification", "description": "Describes what happened. The structure of the 'data' field depends on the exception_type field."}, "type": {"type": "string", "example": "https://docs.ghmaritime.com/docs/oceanio/endpoints/exceptions/", "description": "Documentation on the type of exception."}, "title": {"type": "string", "example": "BL_WARNING", "description": "High level information about the exception."}, "detail": {"type": "string", "example": "The requested bill of lading SHZ1234567890 could not be found after searching the supported carriers", "description": "Detailed description of the exception."}}}, "containerDelayNotification": {"type": "object", "properties": {"equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "The reference to the equipment this notification is related to"}, "un_location_code": {"type": "string", "example": "SEGOT", "description": "Which port is the notification for"}, "previous_event_datetime": {"type": "string", "format": "iso8601", "example": "2023-12-13T20:00:00+00:00", "description": "When was the event previously expected"}, "new_event_datetime": {"type": "string", "format": "iso8601", "example": "2023-12-13T20:00:00+00:00", "description": "When is the event now predicted to take place"}, "event_type_code": {"type": "string", "example": "ARRI", "description": "The event type code, for transport and equipment events."}, "transport_call_type": {"type": "string", "example": "PORT_OF_LOADING", "description": "At what transport call type is the delay occurring. E.g. DEPOT_RELEASE_LOCATION, PLACE_OF_ORIGIN, PORT_OF_LOADING, INTERMEDIATE_PORT, TRANSSHIPMENT_PORT, PORT_OF_DESTINATION, UNKNOWN_PORT, FINAL_DELIVERY_LOCATION and INTERMEDIATE_LOCATION"}}}, "transportWarning": {"type": "object", "properties": {"status_code": {"type": "integer", "example": 9507, "description": "A status/error code"}, "reference": {"type": "string", "example": "MHGU1234569", "description": "The identifier of an object. E.g. equipment_reference, vessel imo number etc."}, "vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "A code that describes the vessel carrier"}}}, "portCongestionNotification": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "SEGOT", "description": "Which port is the port congestion notification for"}, "time_of_congestion": {"type": "string", "format": "iso8601", "example": "2023-04-13T20:00:00+00:00", "description": "When is the congestion registered/predicted"}, "threshold": {"type": "string", "description": "The threshold that needs to be exceeded to create an exception", "example": "P4DT16H00M59S"}, "congestion": {"type": "string", "description": "The congestion in the given port", "example": "P0DT05H44M11S"}}}, "latestNotifications": {"type": "array", "items": {"$ref": "#/definitions/latestNotification"}}, "latestNotification": {"type": "object", "properties": {"notification_datetime": {"type": "string", "format": "iso8601", "example": "2023-12-13T20:00:00+00:00", "description": "The time the notification occurred"}, "notification_type": {"type": "string", "example": "TRANSPORT_INFORMATION", "description": "The notification type. The structure of the 'data' field is determined by this field."}, "notification_title": {"type": "string", "example": "TRANSPORT_COMPLETED", "description": "High level information about the notification."}, "data": {"type": "string", "example": "OneOf ContainerRollOver, TransportInformation, ScheduleChange and TransportSplit", "description": "Describes what happened. The structure of the 'data' field depends on the notification_type field."}}}, "transportSplit": {"type": "object", "properties": {"id": {"type": "integer", "example": 100, "description": "The unique id of the Transport"}, "transport_id": {"type": "string", "example": "9650b301-af67-4a6b-95f3-64d18359cfc1", "description": "The transport_id of a transport"}, "identifier_type": {"type": "string", "description": "Indication of the identifier type, i.e. is it bol, booking or equipment reference.", "example": "carrier_booking_reference"}, "identifier": {"type": "string", "description": "The identifier, e.g. the equipment_reference value.", "example": "60215481"}, "new_identifiers": {"type": "array", "items": {"type": "string", "description": "The new identifiers for this transport.", "example": "72870130"}}}}, "containerRollOver": {"type": "object", "properties": {"id": {"type": "integer", "example": 100, "description": "The unique id of the Transport"}, "transport_id": {"type": "string", "example": "9650b301-af67-4a6b-95f3-64d18359cfc1", "description": "The transport_id of a transport"}, "equipment_reference": {"type": "string", "example": "MHGU1234569", "description": "Affected container. The reference to the equipment this notification is related to"}, "original_vessel_name": {"type": "string", "example": "OOCL BERLIN", "description": "Name of rolled over vessel"}, "original_vessel_imo_number": {"type": "integer", "example": 9622605, "description": "IMO of rolled over vessel"}, "new_vessel_name": {"type": "string", "example": "OOCL BERLIN", "description": "Name of new vessel"}, "new_vessel_imo_number": {"type": "integer", "example": 9622605, "description": "IMO of new vessel"}, "un_location_code": {"type": "string", "example": "SEGOT", "description": "Locode where roll-over took place."}}}, "transportCompleted": {"type": "object", "properties": {"id": {"type": "integer", "example": 100, "description": "The unique id of the Transport"}, "transport_id": {"type": "string", "example": "9650b301-af67-4a6b-95f3-64d18359cfc1", "description": "The transport_id of a transport"}, "identifier_type": {"type": "string", "description": "Indication of the identifier type, i.e. is it bol, booking or equipment reference.", "example": "carrier_booking_reference"}, "identifier": {"type": "string", "description": "The identifier, e.g. the equipment_reference value.", "example": "60215481"}}}, "scheduleChangeNotification": {"type": "object", "properties": {"vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "A code that describes the vessel carrier"}, "vessel_imo_number": {"type": "integer", "example": 9622605, "description": "IMO of the vessel"}, "service_schedule": {"$ref": "#/definitions/serviceSchedule"}}}, "serviceSchedule": {"type": "object", "properties": {"correlation_id": {"type": "string", "description": "A unique identifier for the request causing this problem.", "example": "54527a25-639d-4987-a74c-1dfcaff6cf14"}, "carrier_service_code": {"type": "string", "example": "751", "description": "A code that describes the vessel carrier"}, "carrier_service_name": {"type": "string", "example": "751E", "description": "Reference to the company related to the config. E.g. Maersk"}, "vessel_imo_number": {"type": "integer", "example": 9622605, "description": "IMO of the vessel"}, "vessel_name": {"type": "string", "example": "OOCL BERLIN", "description": "Name of the vessel"}, "port_calls": {"type": "array", "items": {"$ref": "#/definitions/serviceSchedulePortCall"}}, "source_name": {"type": "string", "example": "MAERSK", "description": "The name of the carrier"}}}, "serviceSchedulePortCall": {"type": "object", "properties": {"port_call_status_code": {"type": "string", "description": "DCSA status code which can be one of [OMIN (Omit), PHIN (Phase In), PHOT (Phase Out), ADHO (Ad Hoc), BLNK (Black), SLID (Sliding)]", "example": "PHIN"}, "import_voyage_number": {"type": "string", "description": "The vessel operator-specific identifier of the import Voyage.", "example": "333E"}, "export_voyage_number": {"type": "string", "description": "The vessel operator-specific identifier of the export Voyage.", "example": "333E"}, "un_location_code": {"type": "string", "example": "MYTTP", "description": "Locode where the port is located."}, "location_name": {"type": "string", "example": "TANJUNG PELEPAS", "description": "Name of the location. E.g., 'Jacksonville'"}, "country": {"type": "string", "example": "MY", "description": "The country code of the location"}, "timezone": {"type": "string", "example": "Asia/Kuala_Lumpur", "description": "The timezone name, specifying the timezone."}, "port_terminal_location": {"type": "string", "example": "PELABUHAN TANJUNG PELEPAS TERMINAL", "description": "Name of the terminal where the port call happened."}, "facility_type_code": {"type": "string", "example": "RMAA", "description": "Type of the specific facility code"}, "facility_smdg_code": {"type": "string", "example": "DPBNE", "description": "The code used for identifying the specific facility."}, "other_facility": {"type": "string", "example": "Terminal", "description": "Other facilities"}, "delay_reason_code": {"type": "string", "example": "ABCD", "description": "Reason code for the delay. The SMDG-Delay-Reason-Codes are used for this attribute. The code list can be found at http://www.smdg.org/smdg-code-lists/'."}, "change_remark": {"type": "string", "example": "Bad weather", "description": "Free text information provided by the vessel operator regarding the reasons for the change in schedule and/or plans to mitigate schedule slippage."}, "transport_event_type_code": {"type": "string", "example": "DEPA", "description": "The event type code, for transport and equipment events."}, "event_classifier_code": {"type": "string", "example": "ACT", "description": "Is ACT if the event has happend, PLN if the event is planned, and EST if the event is estimated"}, "event_datetime": {"type": "string", "format": "iso8601", "example": "2021-04-13T20:00:00+00:00", "description": "The time the event happens or has happened"}}}, "route": {"type": "object", "properties": {"positions": {"type": "array", "items": {"$ref": "#/definitions/positionDecimalDegrees"}}}}, "positionDecimalDegrees": {"type": "object", "properties": {"latitude": {"type": "number", "example": 42.351018}, "longitude": {"type": "number", "example": -95.265483}}}, "schedulePortcall": {"type": "object", "properties": {"port_call_status_code": {"type": "string", "example": "OMIT", "description": "A status code for the port call. A port omission would have code OMIT"}, "import_voyage_number": {"type": "string", "example": "207W", "description": "The voyage number when coming to the port"}, "export_voyage_number": {"type": "string", "example": "207E", "description": "The voyage number when sailing from the port"}, "un_location_code": {"type": "string", "example": "USOAK", "description": "The UN location code of the port"}, "location_name": {"type": "string", "example": "Oakland", "description": "The name of the port"}, "country": {"type": "string", "example": "USA", "description": "The country that the port is located in"}, "subdivision": {"type": "string", "example": "CA", "description": "The subdivision that the port is located in"}, "timezone": {"type": "string", "example": "America/Los_Angeles", "description": "The timezone that the port is located in"}, "port_terminal_location": {"type": "string", "example": "Long beach terminal 1", "description": "The terminal of the port"}, "facility_type_code": {"type": "string", "example": "POTE", "description": "The facilities at the terminal"}, "facility_smdg_code": {"type": "string", "example": "AEAUHADT", "description": "The code for the facility"}, "other_facility": {"type": "string", "example": "Depot at ABC", "description": "Contains other relevant facilities for the port call"}, "delay_reason_code": {"type": "string", "example": "WEA", "description": "A delay reason code, denoting why the port call is late, if this is the case"}, "change_remark": {"type": "string", "example": "Changed due to weather", "description": "A text description of why the time of the port call has changed"}, "transport_event_type_code": {"type": "string", "example": "ARRI", "description": "The event at the port call. Can be arrive (ARRI) or departure (DEPA)"}, "event_classifier_code": {"type": "string", "example": "ACT", "description": "The state of the events. Can be past, current, or future"}, "event_datetime": {"type": "string", "example": "2023-12-24T12:54:20+00:00", "description": "The time of the port call"}, "cy_cut_off": {"type": "string", "example": "2023-12-23T00:00:00+00:00", "description": "Container Yard cut-off datetime"}, "fcl_cut_off": {"type": "string", "example": "2023-12-23T00:00:00+00:00", "description": "Full Container Load cut-off datetime"}, "vgm_cut_off": {"type": "string", "example": "2023-12-23T00:00:00+00:00", "description": "Verified Gross Mass cut-off datetime"}, "dg_cut_off": {"type": "string", "example": "2023-12-23T00:00:00+00:00", "description": "Dangerous Goods cut-off datetime"}, "si_cut_off": {"type": "string", "example": "2023-12-23T00:00:00+00:00", "description": "Shipping Instruction cut-off datetime"}}}, "schedule": {"type": "object", "properties": {"id": {"type": "number", "example": 42}, "carrier_service_code": {"type": "string", "example": "FE1", "description": "The schedule service code from the carrier"}, "carrier_service_name": {"type": "string", "example": "Eastbound China", "description": "The schedule service name from the carrier"}, "vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "vessel_name": {"type": "string", "example": "EMMA MAERSK", "description": "The name of the vessel"}, "source_name": {"type": "string", "example": "MAERSK", "description": "Name of the data source"}, "port_calls": {"type": "array", "items": {"$ref": "#/definitions/schedulePortcall"}, "description": "The different port calls in the schedule"}}}, "schedules": {"type": "array", "items": {"$ref": "#/definitions/schedule"}}, "pointToPointSchedulePortcall": {"type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "vessel_name": {"type": "string", "example": "EMMA MAERSK", "description": "The name of the vessel"}, "un_location_code": {"type": "string", "example": "USOAK", "description": "The UN location code of the port"}, "transport_event_type_code": {"type": "string", "example": "ARRI", "description": "The event at the port call. Can be arrive (ARRI) or departure (DEPA)"}, "event_datetime": {"type": "string", "example": "2024-03-24T12:30:00+00:00", "description": "The time of the port call"}, "carrier_service_code": {"type": "string", "example": "FE1", "description": "Code of the service schedule"}, "carrier_service_name": {"type": "string", "example": "Eastbound China", "description": "Name of the service schedule"}}}, "pointToPointSchedule": {"type": "object", "properties": {"departure_datetime": {"type": "string", "example": "2024-03-24T11:00:00+00:00"}, "arrival_datetime": {"type": "string", "example": "2024-05-21T12:30:00+00:00"}, "number_of_transhipments": {"type": "number", "example": 1}, "source": {"type": "string", "example": "CMA", "description": "The carrier of the schedule source"}, "port_calls": {"type": "array", "items": {"$ref": "#/definitions/pointToPointSchedulePortcall"}, "description": "The different port calls in the schedule"}}}, "pointToPointSchedules": {"type": "array", "items": {"$ref": "#/definitions/pointToPointSchedule"}}, "scheduleChangeRequest": {"required": ["vessel_imo_number"], "type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "notification_threshold": {"type": "string", "example": "P3H", "description": "The threshold for how long a duration in scheduled timestamp there should be before before a notification is sent."}, "subscription_end_datetime": {"type": "string", "format": "iso8601", "example": "2024-03-13T10:44:15+00:00", "description": "Time when the subscription ends in ISO 8601 Date format"}, "subscription_observation_datetime": {"type": "string", "format": "iso8601", "example": "2024-05-13T10:44:15+00:00", "description": "End date for schedule change observation in ISO 8601 Date format"}, "vessel_operator_carrier_codes": {"type": "array", "items": {"type": "string", "example": "MAEU"}}}}, "scheduleChange": {"type": "object", "properties": {"id": {"type": "number", "example": 42}, "vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "notification_threshold": {"type": "string", "example": "P3H", "description": "The threshold for how long a duration in scheduled timestamp there should be before before a notification is sent."}, "subscription_begin_datetime": {"type": "string", "format": "iso8601", "example": "2023-03-13T10:44:15+00:00", "description": "Time when the subscription begins in ISO 8601 Date format"}, "subscription_end_datetime": {"type": "string", "format": "iso8601", "example": "2024-04-13T10:44:15+00:00", "description": "Time when the subscription ends in ISO 8601 Date format"}, "vessel_operator_carrier_codes": {"type": "array", "items": {"type": "string", "example": "MAEU"}}}}, "scheduleChanges": {"type": "array", "items": {"$ref": "#/definitions/scheduleChange"}}, "predictedSchedulePortcall": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USOAK", "description": "The UN location code of the port"}, "location_name": {"type": "string", "example": "Oakland", "description": "The name of the port"}, "country": {"type": "string", "example": "USA", "description": "The country that the port is located in"}, "subdivision": {"type": "string", "example": "CA", "description": "The subdivision that the port is located in"}, "timezone": {"type": "string", "example": "America/Los_Angeles", "description": "The timezone that the port is located in"}, "transport_event_type_code": {"type": "string", "example": "ARRI", "description": "The event at the port call. Can be arrive (ARRI) or departure (DEPA)"}, "event_classifier_code": {"type": "string", "example": "ACT", "description": "The state of the events. Can be past, current, or future"}, "event_datetime": {"type": "string", "example": "2023-03-24T12:54:20+00:00", "description": "The time of the port call"}}}, "predictedSchedules": {"type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "vessel_name": {"type": "string", "example": "EMMA MAERSK", "description": "The name of the vessel"}, "created_datetime": {"type": "string", "example": "2024-12-24T12:54:20+00:00", "description": "The time when the schedule was predicted"}, "port_calls": {"type": "array", "items": {"$ref": "#/definitions/predictedSchedulePortcall"}, "description": "The different port calls in the schedule"}}}, "vesselPosition": {"type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 1823724, "description": "The imo number of the vessel"}, "vessel_mmsi_number": {"type": "integer", "example": 123456789, "description": "The mmsi number of the vessel"}, "latitude": {"type": "number", "example": 57.085, "description": "Decimal degrees (DD) express latitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b190\u00b0"}, "longitude": {"type": "number", "example": 9.9577, "description": "Decimal degrees (DD) express longitude geographic coordinates as decimal fractions of a degree, the value is bounded by \u00b1180\u00b0"}, "sog": {"type": "number", "example": 2.9, "description": "Vessel speed over ground in knots"}, "cog": {"type": "number", "example": 312.7, "description": "Vessel course over ground in degrees"}, "nav_status": {"type": "number", "example": 1, "description": "Navigational Status"}, "position_datetime": {"type": "string", "format": "iso8601", "example": "2023-09-15T11:21:29+00:00", "description": "The time of this position"}}}, "historicalTrackID": {"type": "object", "properties": {"historical_track_id": {"type": "integer", "example": 1234, "description": "ID of the historical track"}}}, "historicalTrack": {"type": "object", "properties": {"vessel_imo_number": {"type": "integer", "example": 1234567, "description": "The imo number of the vessel"}, "vessel_mmsi_number": {"type": "integer", "example": 1234567, "description": "The mmsi number of the vessel"}, "positions": {"type": "array", "items": {"type": "object", "properties": {"latitude": {"type": "number", "format": "double"}, "longitude": {"type": "number", "format": "double"}, "position_datetime": {"type": "string", "format": "date-time"}}}, "example": [{"latitude": 0, "longitude": 0, "position_datetime": "2023-12-24T12:54:20+00:00"}, {"latitude": 0, "longitude": 0, "position_datetime": "2023-12-24T13:54:20+00:00"}]}}}, "nextport": {"type": "object", "properties": {"predictions": {"type": "array", "items": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX", "description": "The UN location code for the port"}, "eta_datetime": {"type": "string", "example": "2024-03-24T12:54:20+00:00", "description": "Assuming this port is the next port of calls, this is the predicted ETA for that port call"}, "probability": {"type": "number", "example": 0.82, "description": "The predicted probability that this port is the next port of call"}, "vessel_imo_number": {"type": "integer", "example": 9461477, "description": "The IMO number for the vessel that the prediction is valid for"}}}}}, "example": {"predictions": [{"un_location_code": "USLAX", "eta_datetime": "2024-03-24T12:54:20+00:00", "probability": 0.82, "vessel_imo_number": 9461477}, {"un_location_code": "USSEA", "eta_datetime": "2024-03-27T10:23:23+00:00", "probability": 0.16, "vessel_imo_number": 9461477}]}}, "nextportWithNoPrediction": {"type": "object", "properties": {"predictions": {"type": "array", "items": {"type": "object", "properties": {"un_location_code": {"type": "string", "example": "USLAX", "description": "The UN location code for the port"}, "eta_datetime": {"type": "string", "example": "2024-03-24T12:54:20+00:00", "description": "Assuming this port is the next port of calls, this is the predicted ETA for that port call"}, "probability": {"type": "number", "example": 0.82, "description": "The predicted probability that this port is the next port of call"}, "vessel_imo_number": {"type": "integer", "example": 9461477, "description": "The IMO number for the vessel that the prediction is valid for"}}}}, "no_available_prediction": {"type": "array", "items": {"type": "object", "properties": {"title": {"type": "string", "example": "IN_PORT", "description": "The title of the reason why there is no next port prediction"}, "detail": {"type": "string", "example": "The vessel is currently in a port or anchoring.", "description": "A description of the reason why there is no next port prediction"}, "vessel_imo_number": {"type": "number", "example": 9622590, "description": "The imo number of the vessel with no available next port prediction"}}}}}, "example": {"predictions": [{"un_location_code": "USLAX", "eta_datetime": "2024-03-24T12:54:20+00:00", "probability": 0.82, "vessel_imo_number": 9461477}, {"un_location_code": "USSEA", "eta_datetime": "2024-03-27T10:23:23+00:00", "probability": 0.16, "vessel_imo_number": 9461477}], "no_available_prediction": [{"title": "IN_PORT", "detail": "The vessel is currently in a port or anchoring.", "vessel_imo_number": 9622590}]}}, "usage": {"type": "object", "properties": {"user_id": {"type": "string", "example": "username", "description": "The user that has asked for this usage"}, "usage_year": {"type": "number", "example": 2024, "description": "The year of this usage"}, "usage_month": {"type": "number", "example": 10, "description": "The month of this usage"}, "usage_type": {"type": "string", "example": "REQUEST", "description": "The type of usage. API calls are REQUESTs"}, "usage_method": {"type": "string", "example": "DELETE", "description": "The HTTP method used to make the call"}, "endpoint": {"type": "string", "example": "/api/equipments/<string:equipment_reference>/events", "description": "The endpoint that has been used. Note values inside <> are placeholders for path parameters."}, "status": {"type": "string", "example": "SUCCESS", "description": "Denotes whether the usage was successful. Can be SUCCESS or ERROR."}, "unit": {"type": "string", "example": "COUNT", "description": "This field describes how usage is counted. Usage can be counted either by number of requests on an endpoint (COUNT) or by the number of returned elements (RESPONSE_LENGTH)"}, "usage_count": {"type": "number", "example": 1337, "description": "The usage count"}, "text": {"type": "string", "example": "Transports POSTed with vessel_operator_carrier_code", "description": "Usage can vary for endpoints depending on the input data. If that is the case, this text describes the difference."}}}, "usages": {"type": "object", "properties": {"last_updated_datetime": {"type": "string", "example": "2023-12-24T12:54:20+00:00", "description": "The last time usage was updated"}, "usage": {"type": "array", "items": {"$ref": "#/definitions/usage"}}}}, "journeyStatistic": {"type": "object", "properties": {"vessel_operator_carrier_code": {"type": "string", "example": "MAEU", "description": "The carrier scac related to statistics."}, "origin_un_location_code": {"type": "string", "example": "USLAX", "description": "The origin location to track a carrier's vessel's omits from."}, "destination_un_location_code": {"type": "string", "example": "CNSHA", "description": "The destination location to track a carrier's vessel's omits to."}, "begin_datetime": {"type": "string", "format": "iso8601", "example": "2023-01-13T10:44:15+00:00", "description": "The beginning timeframe of the analytics in ISO 8601 Date format"}, "end_datetime": {"type": "string", "format": "iso8601", "example": "2023-03-13T10:44:15+00:00", "description": "The ending timeframe of the analytics in ISO 8601 Date format"}, "origin_omitted_port_call_count": {"type": "integer", "example": 2, "description": "The number of omits at origin location."}, "destination_omitted_port_call_count": {"type": "integer", "example": 2, "description": "The number of omits at destination location."}, "total_journeys": {"type": "integer", "example": 10, "description": "The total number of found journeys within the given timeframe from origin to destination."}, "destination_delayed_journeys": {"type": "integer", "example": 3, "description": "The number of journeys where the arrival at destination location was delayed."}, "origin_delayed_journeys": {"type": "integer", "example": 4, "description": "The number of journeys where the departure from origin location was delayed."}, "container_count": {"type": "string", "example": "0-5000", "description": "The interval of containers used to calculate tradelane-statistics."}, "carrier_caused_rolls_pct": {"type": "number", "format": "double", "example": 1.9, "description": "Percentage of roll-overs caused by carrier."}, "shipper_caused_rolls_pct": {"type": "number", "format": "double", "example": 1.9, "description": "Percentage of roll-overs caused by shipper."}}}, "journeyStatistics": {"type": "array", "items": {"$ref": "#/definitions/journeyStatistic"}}, "creditUsage": {"type": "object", "properties": {"title": {"type": "string", "example": "container_tracks", "description": "Title of the usage"}, "usage": {"type": "integer", "example": 1234, "description": "Usage count"}, "credits": {"type": "integer", "example": 227.5, "description": "Credits used"}}}, "creditsUsage": {"type": "object", "properties": {"total_credit_used": {"type": "number", "example": 4367.25, "description": "Total credit used in the specific month"}, "usage": {"type": "array", "items": {"$ref": "#/definitions/creditUsage"}}}}, "vesselByName": {"type": "object", "properties": {"vessel_name": {"type": "string", "example": "OOCL BERLIN", "description": "Name of the vessel"}, "vessel_imo_number": {"type": "integer", "example": 9622605, "description": "IMO of the vessel"}, "vessel_mmsi_number": {"type": "integer", "example": 4774686, "description": "MMSI of the vessel"}}}, "vesselsByName": {"type": "array", "items": {"$ref": "#/definitions/vesselByName"}}}}