openapi: 3.0.0 info: version: 2015-07-09 x-release: v4 title: APIs.io Engineering Platform Amazon API Gateway 2014 11 13 Zero Trust Gateway Rules API description: Amazon API Gateway

Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.

x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: apigateway x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/apigateway-2015-07-09.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://apigateway.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon API Gateway multi-region endpoint - url: https://apigateway.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon API Gateway multi-region endpoint - url: http://apigateway.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia) - url: https://apigateway.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: Zero Trust Gateway Rules paths: /accounts/{account_id}/gateway/rules: get: description: Fetches the Zero Trust Gateway rules for an account. operationId: zero-trust-gateway-rules-list-zero-trust-gateway-rules parameters: - in: path name: account_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_identifier' responses: 4XX: content: application/json: schema: allOf: - $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-response_collection' - $ref: '#/components/schemas/zero-trust-gateway_api-response-common-failure' description: List Zero Trust Gateway rules response failure '200': content: application/json: schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-response_collection' description: List Zero Trust Gateway rules response security: - api_email: [] api_key: [] summary: APIs.io Engineering Platform List Zero Trust Gateway rules tags: - Zero Trust Gateway Rules post: description: Creates a new Zero Trust Gateway rule. operationId: zero-trust-gateway-rules-create-zero-trust-gateway-rule parameters: - in: path name: account_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_identifier' requestBody: content: application/json: schema: properties: action: $ref: '#/components/schemas/zero-trust-gateway_action' description: $ref: '#/components/schemas/zero-trust-gateway_schemas-description' device_posture: $ref: '#/components/schemas/zero-trust-gateway_device_posture' enabled: $ref: '#/components/schemas/zero-trust-gateway_enabled' filters: $ref: '#/components/schemas/zero-trust-gateway_filters' identity: $ref: '#/components/schemas/zero-trust-gateway_identity' name: $ref: '#/components/schemas/zero-trust-gateway_components-schemas-name' precedence: $ref: '#/components/schemas/zero-trust-gateway_precedence' rule_settings: $ref: '#/components/schemas/zero-trust-gateway_rule-settings' schedule: $ref: '#/components/schemas/zero-trust-gateway_schedule' traffic: $ref: '#/components/schemas/zero-trust-gateway_traffic' required: - name - action required: true responses: 4XX: content: application/json: schema: allOf: - $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' - $ref: '#/components/schemas/zero-trust-gateway_api-response-common-failure' description: Create a Zero Trust Gateway rule response failure '200': content: application/json: schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' description: Create a Zero Trust Gateway rule response security: - api_email: [] api_key: [] summary: APIs.io Engineering Platform Create a Zero Trust Gateway rule tags: - Zero Trust Gateway Rules /accounts/{account_id}/gateway/rules/{rule_id}: delete: description: Deletes a Zero Trust Gateway rule. operationId: zero-trust-gateway-rules-delete-zero-trust-gateway-rule parameters: - in: path name: rule_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-uuid' - in: path name: account_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_identifier' requestBody: content: application/json: {} required: true responses: 4XX: content: application/json: schema: allOf: - $ref: '#/components/schemas/zero-trust-gateway_empty_response' - $ref: '#/components/schemas/zero-trust-gateway_api-response-common-failure' description: Delete a Zero Trust Gateway rule response failure '200': content: application/json: schema: $ref: '#/components/schemas/zero-trust-gateway_empty_response' description: Delete a Zero Trust Gateway rule response security: - api_email: [] api_key: [] summary: APIs.io Engineering Platform Delete a Zero Trust Gateway rule tags: - Zero Trust Gateway Rules get: description: Fetches a single Zero Trust Gateway rule. operationId: zero-trust-gateway-rules-zero-trust-gateway-rule-details parameters: - in: path name: rule_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-uuid' - in: path name: account_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_identifier' responses: 4XX: content: application/json: schema: allOf: - $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' - $ref: '#/components/schemas/zero-trust-gateway_api-response-common-failure' description: Get Zero Trust Gateway rule details response failure '200': content: application/json: schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' description: Get Zero Trust Gateway rule details response security: - api_email: [] api_key: [] summary: APIs.io Engineering Platform Get Zero Trust Gateway rule details tags: - Zero Trust Gateway Rules put: description: Updates a configured Zero Trust Gateway rule. operationId: zero-trust-gateway-rules-update-zero-trust-gateway-rule parameters: - in: path name: rule_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-uuid' - in: path name: account_id required: true schema: $ref: '#/components/schemas/zero-trust-gateway_identifier' requestBody: content: application/json: schema: properties: action: $ref: '#/components/schemas/zero-trust-gateway_action' description: $ref: '#/components/schemas/zero-trust-gateway_schemas-description' device_posture: $ref: '#/components/schemas/zero-trust-gateway_device_posture' enabled: $ref: '#/components/schemas/zero-trust-gateway_enabled' filters: $ref: '#/components/schemas/zero-trust-gateway_filters' identity: $ref: '#/components/schemas/zero-trust-gateway_identity' name: $ref: '#/components/schemas/zero-trust-gateway_components-schemas-name' precedence: $ref: '#/components/schemas/zero-trust-gateway_precedence' rule_settings: $ref: '#/components/schemas/zero-trust-gateway_rule-settings' schedule: $ref: '#/components/schemas/zero-trust-gateway_schedule' traffic: $ref: '#/components/schemas/zero-trust-gateway_traffic' required: - name - action required: true responses: 4XX: content: application/json: schema: allOf: - $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' - $ref: '#/components/schemas/zero-trust-gateway_api-response-common-failure' description: Update a Zero Trust Gateway rule response failure '200': content: application/json: schema: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-single_response' description: Update a Zero Trust Gateway rule response security: - api_email: [] api_key: [] summary: APIs.io Engineering Platform Update a Zero Trust Gateway rule tags: - Zero Trust Gateway Rules components: schemas: zero-trust-gateway_empty_response: allOf: - $ref: '#/components/schemas/zero-trust-gateway_api-response-single' - properties: result: type: object zero-trust-gateway_rules_components-schemas-response_collection: allOf: - $ref: '#/components/schemas/zero-trust-gateway_api-response-collection' - properties: result: items: $ref: '#/components/schemas/zero-trust-gateway_rules' type: array zero-trust-gateway_schedule: description: The schedule for activating DNS policies. This does not apply to HTTP or network policies. properties: fri: description: The time intervals when the rule will be active on Fridays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Fridays. example: 08:00-12:30,13:30-17:00 type: string mon: description: The time intervals when the rule will be active on Mondays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Mondays. example: 08:00-12:30,13:30-17:00 type: string sat: description: The time intervals when the rule will be active on Saturdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Saturdays. example: 08:00-12:30,13:30-17:00 type: string sun: description: The time intervals when the rule will be active on Sundays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Sundays. example: 08:00-12:30,13:30-17:00 type: string thu: description: The time intervals when the rule will be active on Thursdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Thursdays. example: 08:00-12:30,13:30-17:00 type: string time_zone: description: The time zone the rule will be evaluated against. If a [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) is provided, Gateway will always use the current time at that time zone. If this parameter is omitted, then Gateway will use the time zone inferred from the user's source IP to evaluate the rule. If Gateway cannot determine the time zone from the IP, we will fall back to the time zone of the user's connected data center. example: America/New York type: string tue: description: The time intervals when the rule will be active on Tuesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Tuesdays. example: 08:00-12:30,13:30-17:00 type: string wed: description: The time intervals when the rule will be active on Wednesdays, in increasing order from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on Wednesdays. example: 08:00-12:30,13:30-17:00 type: string type: object zero-trust-gateway_rules: properties: action: $ref: '#/components/schemas/zero-trust-gateway_action' created_at: $ref: '#/components/schemas/zero-trust-gateway_timestamp' deleted_at: $ref: '#/components/schemas/zero-trust-gateway_deleted_at' description: $ref: '#/components/schemas/zero-trust-gateway_schemas-description' device_posture: $ref: '#/components/schemas/zero-trust-gateway_device_posture' enabled: $ref: '#/components/schemas/zero-trust-gateway_enabled' filters: $ref: '#/components/schemas/zero-trust-gateway_filters' id: $ref: '#/components/schemas/zero-trust-gateway_rules_components-schemas-uuid' identity: $ref: '#/components/schemas/zero-trust-gateway_identity' name: $ref: '#/components/schemas/zero-trust-gateway_components-schemas-name' precedence: $ref: '#/components/schemas/zero-trust-gateway_precedence' rule_settings: $ref: '#/components/schemas/zero-trust-gateway_rule-settings' schedule: $ref: '#/components/schemas/zero-trust-gateway_schedule' traffic: $ref: '#/components/schemas/zero-trust-gateway_traffic' updated_at: $ref: '#/components/schemas/zero-trust-gateway_timestamp' type: object zero-trust-gateway_timestamp: example: '2014-01-01T05:20:00.12345Z' format: date-time type: string zero-trust-gateway_traffic: description: The wirefilter expression used for traffic matching. example: http.request.uri matches ".*a/partial/uri.*" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10 type: string zero-trust-gateway_api-response-single: allOf: - $ref: '#/components/schemas/zero-trust-gateway_api-response-common' type: object zero-trust-gateway_identity: description: The wirefilter expression used for identity matching. example: any(identity.groups.name[*] in {"finance"}) type: string zero-trust-gateway_schemas-description: description: The description of the rule. example: Block bad websites based on their host name. type: string zero-trust-gateway_api-response-common-failure: properties: errors: allOf: - $ref: '#/components/schemas/zero-trust-gateway_messages' example: - code: 7003 message: No route for the URI minLength: 1 messages: allOf: - $ref: '#/components/schemas/zero-trust-gateway_messages' example: [] result: enum: - null nullable: true type: object success: description: Whether the API call was successful enum: - false example: false type: boolean required: - success - errors - messages - result type: object zero-trust-gateway_api-response-common: properties: errors: $ref: '#/components/schemas/zero-trust-gateway_messages' messages: $ref: '#/components/schemas/zero-trust-gateway_messages' success: description: Whether the API call was successful enum: - true example: true type: boolean required: - success - errors - messages type: object zero-trust-gateway_device_posture: description: The wirefilter expression used for device posture check matching. example: any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"}) type: string zero-trust-gateway_identifier: example: 699d98642c564d2e855e9661899b7252 type: string zero-trust-gateway_filters: description: The protocol or layer to evaluate the traffic, identity, and device posture expressions. example: - http items: description: The protocol or layer to use. enum: - http - dns - l4 - egress example: http type: string type: array zero-trust-gateway_rules_components-schemas-single_response: allOf: - $ref: '#/components/schemas/zero-trust-gateway_api-response-single' - properties: result: $ref: '#/components/schemas/zero-trust-gateway_rules' zero-trust-gateway_result_info: properties: count: description: Total number of results for the requested service example: 1 type: number page: description: Current page within paginated list of results example: 1 type: number per_page: description: Number of results per page of results example: 20 type: number total_count: description: Total results available without any search parameters example: 2000 type: number type: object zero-trust-gateway_rule-settings: description: Additional settings that modify the rule's action. properties: add_headers: additionalProperties: type: string description: Add custom headers to allowed requests, in the form of key-value pairs. Keys are header names, pointing to an array with its header value(s). example: My-Next-Header: - foo - bar X-Custom-Header-Name: - somecustomvalue type: object allow_child_bypass: description: Set by parent MSP accounts to enable their children to bypass this rule. example: false type: boolean audit_ssh: description: Settings for the Audit SSH action. properties: command_logging: description: Enable to turn on SSH command logging. example: false type: boolean type: object biso_admin_controls: description: Configure how browser isolation behaves. properties: dcp: description: Set to false to enable copy-pasting. example: false type: boolean dd: description: Set to false to enable downloading. example: false type: boolean dk: description: Set to false to enable keyboard usage. example: false type: boolean dp: description: Set to false to enable printing. example: false type: boolean du: description: Set to false to enable uploading. example: false type: boolean type: object block_page_enabled: description: Enable the custom block page. example: true type: boolean block_reason: description: The text describing why this block occurred, displayed on the custom block page (if enabled). example: This website is a security risk type: string bypass_parent_rule: description: Set by children MSP accounts to bypass their parent's rules. example: false type: boolean check_session: description: Configure how session check behaves. properties: duration: description: Configure how fresh the session needs to be to be considered valid. example: 300s type: string enforce: description: Set to true to enable session enforcement. example: true type: boolean type: object dns_resolvers: description: Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will route to the address closest to their origin. Only valid when a rule's action is set to 'resolve'. properties: ipv4: items: $ref: '#/components/schemas/zero-trust-gateway_dns_resolver_settings_v4' type: array ipv6: items: $ref: '#/components/schemas/zero-trust-gateway_dns_resolver_settings_v6' type: array type: object egress: description: Configure how Gateway Proxy traffic egresses. You can enable this setting for rules with Egress actions and filters, or omit it to indicate local egress via WARP IPs. properties: ipv4: description: The IPv4 address to be used for egress. example: 192.0.2.2 type: string ipv4_fallback: description: The fallback IPv4 address to be used for egress in the event of an error egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egress via WARP IPs. example: 192.0.2.3 type: string ipv6: description: The IPv6 range to be used for egress. example: 2001:DB8::/64 type: string type: object ignore_cname_category_matches: description: Set to true, to ignore the category matches at CNAME domains in a response. If unchecked, the categories in this rule will be checked against all the CNAME domain categories in a response. example: true type: boolean insecure_disable_dnssec_validation: description: INSECURE - disable DNSSEC validation (for Allow actions). example: false type: boolean ip_categories: description: Set to true to enable IPs in DNS resolver category blocks. By default categories only block based on domain names. example: true type: boolean ip_indicator_feeds: description: Set to true to include IPs in DNS resolver indicator feed blocks. By default indicator feeds only block based on domain names. example: true type: boolean l4override: description: Send matching traffic to the supplied destination IP address and port. properties: ip: description: IPv4 or IPv6 address. example: 1.1.1.1 type: string port: description: A port number to use for TCP/UDP overrides. type: integer type: object notification_settings: description: Configure a notification to display on the user's device when this rule is matched. properties: enabled: description: Set notification on type: boolean msg: description: Customize the message shown in the notification. type: string support_url: description: Optional URL to direct users to additional information. If not set, the notification will open a block page. type: string type: object override_host: description: Override matching DNS queries with a hostname. example: example.com type: string override_ips: description: Override matching DNS queries with an IP or set of IPs. example: - 1.1.1.1 - 2.2.2.2 items: description: IPv4 or IPv6 address. example: 1.1.1.1 type: string type: array payload_log: description: Configure DLP payload logging. properties: enabled: description: Set to true to enable DLP payload logging for this rule. example: true type: boolean type: object resolve_dns_through_cloudflare: description: Enable to send queries that match the policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when dns_resolvers are specified. Only valid when a rule's action is set to 'resolve'. example: true type: boolean untrusted_cert: description: Configure behavior when an upstream cert is invalid or an SSL error occurs. properties: action: description: The action performed when an untrusted certificate is seen. The default action is an error with HTTP code 526. enum: - pass_through - block - error example: error type: string type: object type: object zero-trust-gateway_api-response-collection: allOf: - $ref: '#/components/schemas/zero-trust-gateway_api-response-common' - properties: result_info: $ref: '#/components/schemas/zero-trust-gateway_result_info' type: object zero-trust-gateway_precedence: description: Precedence sets the order of your rules. Lower values indicate higher precedence. At each processing phase, applicable rules are evaluated in ascending order of this value. type: integer zero-trust-gateway_messages: example: [] items: properties: code: minimum: 1000 type: integer message: type: string required: - code - message type: object uniqueItems: true type: array zero-trust-gateway_dns_resolver_settings_v6: properties: ip: description: IPv6 address of upstream resolver. example: '2001:DB8::' type: string port: description: A port number to use for upstream resolver. Defaults to 53 if unspecified. example: 5053 type: integer route_through_private_network: description: Whether to connect to this resolver over a private network. Must be set when vnet_id is set. example: true type: boolean vnet_id: description: Optionally specify a virtual network for this resolver. Uses default virtual network id if omitted. example: f174e90a-fafe-4643-bbbc-4a0ed4fc8415 type: string required: - ip type: object zero-trust-gateway_deleted_at: description: Date of deletion, if any. format: date-time nullable: true readOnly: true type: string zero-trust-gateway_rules_components-schemas-uuid: description: The API resource UUID. example: f174e90a-fafe-4643-bbbc-4a0ed4fc8415 maxLength: 36 type: string zero-trust-gateway_dns_resolver_settings_v4: properties: ip: description: IPv4 address of upstream resolver. example: 2.2.2.2 type: string port: description: A port number to use for upstream resolver. Defaults to 53 if unspecified. example: 5053 type: integer route_through_private_network: description: Whether to connect to this resolver over a private network. Must be set when vnet_id is set. example: true type: boolean vnet_id: description: Optionally specify a virtual network for this resolver. Uses default virtual network id if omitted. example: f174e90a-fafe-4643-bbbc-4a0ed4fc8415 type: string required: - ip type: object zero-trust-gateway_enabled: description: True if the rule is enabled. example: true type: boolean zero-trust-gateway_action: description: The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to `true`. enum: - 'on' - 'off' - allow - block - scan - noscan - safesearch - ytrestricted - isolate - noisolate - override - l4_override - egress - audit_ssh - resolve example: allow type: string zero-trust-gateway_components-schemas-name: description: The name of the rule. example: block bad websites type: string securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/apigateway/ x-hasEquivalentPaths: true