Amazon Firewall Manager Policies API

Firewall Manager security policies

GitHub OpenAPI
Business capability
Cybersecurity Management BC-620

Operations 4

POST /#DeletePolicy Delete Policy #
POST /#GetPolicy Get Policy #
POST /#ListPolicies List Policies #
POST /#PutPolicy Put Policy #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-firewall-manager:amazon-firewall-manager-policies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-firewall-manager-policies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Firewall Management Service Policies API
  version: '2018-01-01'
  description: Generated from AWS's published Smithy model for Firewall Management Service. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://fms.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#DeletePolicy:
    post:
      operationId: DeletePolicy
      summary: Delete Policy
      description: Permanently deletes an Firewall Manager policy.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                type: string
        '400':
          description: InternalErrorException; InvalidInputException; InvalidOperationException; LimitExceededException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSFMS_20180101.DeletePolicy
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeletePolicyRequest'
      tags:
      - Policies
  /#GetPolicy:
    post:
      operationId: GetPolicy
      summary: Get Policy
      description: Returns information about the specified Firewall Manager policy.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetPolicyResponse'
        '400':
          description: InternalErrorException; InvalidOperationException; InvalidTypeException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSFMS_20180101.GetPolicy
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetPolicyRequest'
      tags:
      - Policies
  /#ListPolicies:
    post:
      operationId: ListPolicies
      summary: List Policies
      description: Returns an array of PolicySummary objects.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListPoliciesResponse'
        '400':
          description: InternalErrorException; InvalidOperationException; LimitExceededException; ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSFMS_20180101.ListPolicies
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListPoliciesRequest'
      tags:
      - Policies
  /#PutPolicy:
    post:
      operationId: PutPolicy
      summary: Put Policy
      description: 'Creates an Firewall Manager policy. A Firewall Manager policy is specific to the individual policy type.
        If you want to enforce multiple policy types across accounts, you can create multiple policies. You can create more
        than one policy for each type. If you add a new account to an organization that you created with Organizations, Firewall
        Manager automatically applies the policy to the resources in that account that are within scope of the policy. Firewall
        Manager provides the following types of policies: WAF policy - This policy applies WAF web ACL protections to specified
        accounts and resources. Shield Advanced policy - This policy applies Shield Advanced protection to specified accounts
        and resources. Security Groups policy - This type of policy gives you control over security groups that are in use
        throughout your organization in Organizations and lets you enforce a baseline set of rules across your organization.
        Network ACL policy - This type of policy gives you control over the network ACLs that are in use throughout your organization
        in Organizations and lets you enforce a baseline set of first and last network ACL rules across your organization.
        Network Firewall policy - T'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/PutPolicyResponse'
        '400':
          description: InternalErrorException; InvalidInputException; InvalidOperationException; InvalidTypeException; LimitExceededException;
            ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSFMS_20180101.PutPolicy
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/PutPolicyRequest'
      tags:
      - Policies
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: fms
  schemas:
    DeletePolicyRequest:
      type: object
      properties:
        PolicyId:
          type: string
          description: The ID of the policy that you want to delete. You can retrieve this ID from PutPolicy and ListPolicies.
        DeleteAllPolicyResources:
          type: boolean
          description: 'If True, the request performs cleanup according to the policy type. For WAF and Shield Advanced policies,
            the cleanup does the following: Deletes rule groups created by Firewall Manager Removes web ACLs from in-scope
            resources Deletes web ACLs that contain no rules or rule groups For security group policies, the cleanup does
            the following for each security group in the policy: Disassociates the security group from in-scope resources
            Deletes the security group if it was created through Firewall Manager and if it''s no longer associated with any
            resources through another policy For security group'
      required:
      - PolicyId
    GetPolicyRequest:
      type: object
      properties:
        PolicyId:
          type: string
          description: The ID of the Firewall Manager policy that you want the details for.
      required:
      - PolicyId
    GetPolicyResponse:
      type: object
      properties:
        Policy:
          $ref: '#/components/schemas/Policy'
        PolicyArn:
          type: string
          description: The Amazon Resource Name (ARN) of the specified policy.
    InternalErrorException:
      type: object
      properties:
        Message:
          type: string
    ListPoliciesRequest:
      type: object
      properties:
        NextToken:
          type: string
          description: If you specify a value for MaxResults and you have more PolicySummary objects than the number that
            you specify for MaxResults, Firewall Manager returns a NextToken value in the response that allows you to list
            another group of PolicySummary objects. For the second and subsequent ListPolicies requests, specify the value
            of NextToken from the previous response to get information about another batch of PolicySummary objects.
        MaxResults:
          type: integer
          description: Specifies the number of PolicySummary objects that you want Firewall Manager to return for this request.
            If you have more PolicySummary objects than the number that you specify for MaxResults, the response includes
            a NextToken value that you can use to get another batch of PolicySummary objects.
    ListPoliciesResponse:
      type: object
      properties:
        PolicyList:
          type: array
          items:
            $ref: '#/components/schemas/PolicySummary'
          description: An array of PolicySummary objects.
        NextToken:
          type: string
          description: If you have more PolicySummary objects than the number that you specified for MaxResults in the request,
            the response includes a NextToken value. To list more PolicySummary objects, submit another ListPolicies request,
            and specify the NextToken value from the response in the NextToken value in the next request.
    NetworkAclCommonPolicy:
      type: object
      properties:
        NetworkAclEntrySet:
          $ref: '#/components/schemas/NetworkAclEntrySet'
      required:
      - NetworkAclEntrySet
    NetworkAclEntry:
      type: object
      properties:
        IcmpTypeCode:
          $ref: '#/components/schemas/NetworkAclIcmpTypeCode'
        Protocol:
          type: string
          description: The protocol number. A value of "-1" means all protocols.
        PortRange:
          $ref: '#/components/schemas/NetworkAclPortRange'
        CidrBlock:
          type: string
          description: The IPv4 network range to allow or deny, in CIDR notation.
        Ipv6CidrBlock:
          type: string
          description: The IPv6 network range to allow or deny, in CIDR notation.
        RuleAction:
          type: string
          enum:
          - allow
          - deny
          description: Indicates whether to allow or deny the traffic that matches the rule.
        Egress:
          type: boolean
          description: Indicates whether the rule is an egress, or outbound, rule (applied to traffic leaving the subnet).
            If it's not an egress rule, then it's an ingress, or inbound, rule.
      required:
      - Protocol
      - RuleAction
      - Egress
    NetworkAclEntrySet:
      type: object
      properties:
        FirstEntries:
          type: array
          items:
            $ref: '#/components/schemas/NetworkAclEntry'
          description: The rules that you want to run first in the Firewall Manager managed network ACLs. Provide these in
            the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the
            network ACLs that it creates. You must specify at least one first entry or one last entry in any network ACL policy.
        ForceRemediateForFirstEntries:
          type: boolean
          description: Applies only when remediation is enabled for the policy as a whole. Firewall Manager uses this setting
            when it finds policy violations that involve conflicts between the custom entries and the policy entries. If forced
            remediation is disabled, Firewall Manager marks the network ACL as noncompliant and does not try to remediate.
            For more information about the remediation behavior, see Remediation for managed network ACLs in the Firewall
            Manager Developer Guide.
        LastEntries:
          type: array
          items:
            $ref: '#/components/schemas/NetworkAclEntry'
          description: The rules that you want to run last in the Firewall Manager managed network ACLs. Provide these in
            the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the
            network ACLs that it creates. You must specify at least one first entry or one last entry in any network ACL policy.
        ForceRemediateForLastEntries:
          type: boolean
          description: Applies only when remediation is enabled for the policy as a whole. Firewall Manager uses this setting
            when it finds policy violations that involve conflicts between the custom entries and the policy entries. If forced
            remediation is disabled, Firewall Manager marks the network ACL as noncompliant and does not try to remediate.
            For more information about the remediation behavior, see Remediation for managed network ACLs in the Firewall
            Manager Developer Guide.
      required:
      - ForceRemediateForFirstEntries
      - ForceRemediateForLastEntries
    NetworkAclIcmpTypeCode:
      type: object
      properties:
        Code:
          type: integer
          description: ICMP code.
        Type:
          type: integer
          description: ICMP type.
    NetworkAclPortRange:
      type: object
      properties:
        From:
          type: integer
          description: The beginning port number of the range.
        To:
          type: integer
          description: The ending port number of the range.
    NetworkFirewallPolicy:
      type: object
      properties:
        FirewallDeploymentModel:
          type: string
          enum:
          - CENTRALIZED
          - DISTRIBUTED
          description: Defines the deployment model to use for the firewall policy. To use a distributed model, set PolicyOption
            to NULL.
    Policy:
      type: object
      properties:
        PolicyId:
          type: string
          description: The ID of the Firewall Manager policy.
        PolicyName:
          type: string
          description: The name of the Firewall Manager policy.
        PolicyUpdateToken:
          type: string
          description: A unique identifier for each update to the policy. When issuing a PutPolicy request, the PolicyUpdateToken
            in the request must match the PolicyUpdateToken of the current policy version. To get the PolicyUpdateToken of
            the current policy version, use a GetPolicy request.
        SecurityServicePolicyData:
          $ref: '#/components/schemas/SecurityServicePolicyData'
        ResourceType:
          type: string
          description: 'The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon
            Web Services Resource Types Reference. To apply this policy to multiple resource types, specify a resource type
            of ResourceTypeList and then specify the resource types in a ResourceTypeList. The following are valid resource
            types for each Firewall Manager policy type: Amazon Web Services WAF Classic - AWS::ApiGateway::Stage, AWS::CloudFront::Distribution,
            and AWS::ElasticLoadBalancingV2::LoadBalancer. WAF - AWS::ApiGateway::Stage, AWS::ElasticLoadBalancingV2::LoadBalancer,
            and AWS::CloudFront'
        ResourceTypeList:
          type: array
          items:
            type: string
          description: An array of ResourceType objects. Use this only to specify multiple resource types. To specify a single
            resource type, use ResourceType.
        ResourceTags:
          type: array
          items:
            $ref: '#/components/schemas/ResourceTag'
          description: An array of ResourceTag objects.
        ExcludeResourceTags:
          type: boolean
          description: If set to True, resources with the tags that are specified in the ResourceTag array are not in scope
            of the policy. If set to False, and the ResourceTag array is not null, only resources with the specified tags
            are in scope of the policy.
        RemediationEnabled:
          type: boolean
          description: Indicates if the policy should be automatically applied to new resources.
        DeleteUnusedFMManagedResources:
          type: boolean
          description: Indicates whether Firewall Manager should automatically remove protections from resources that leave
            the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave
            policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected
            customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove
            protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or
            WAF Classic policies.
        IncludeMap:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to include
            in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child
            OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions,
            but not both. If you specify an IncludeMap, Firewall Manager applies the policy to all accounts specified by the
            IncludeMap, and does not evaluate any ExcludeMap specifications. If you do not specify an IncludeMap, then Firewall
            Manager applies the policy to all accounts
        ExcludeMap:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to exclude
            from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child
            OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions,
            but not both. If you specify an IncludeMap, Firewall Manager applies the policy to all accounts specified by the
            IncludeMap, and does not evaluate any ExcludeMap specifications. If you do not specify an IncludeMap, then Firewall
            Manager applies the policy to all accoun
        ResourceSetIds:
          type: array
          items:
            type: string
          description: The unique identifiers of the resource sets used by the policy.
        PolicyDescription:
          type: string
          description: Your description of the Firewall Manager policy.
        PolicyStatus:
          type: string
          enum:
          - ACTIVE
          - OUT_OF_ADMIN_SCOPE
          description: Indicates whether the policy is in or out of an admin's policy or Region scope. ACTIVE - The administrator
            can manage and delete the policy. OUT_OF_ADMIN_SCOPE - The administrator can view the policy, but they can't edit
            or delete the policy. Existing policy protections stay in place. Any new resources that come into scope of the
            policy won't be protected.
        ResourceTagLogicalOperator:
          type: string
          enum:
          - AND
          - OR
          description: 'Specifies whether to combine multiple resource tags with AND, so that a resource must have all tags
            to be included or excluded, or OR, so that a resource must have at least one tag. Default: AND'
      required:
      - PolicyName
      - SecurityServicePolicyData
      - ResourceType
      - ExcludeResourceTags
      - RemediationEnabled
    PolicyOption:
      type: object
      properties:
        NetworkFirewallPolicy:
          $ref: '#/components/schemas/NetworkFirewallPolicy'
        ThirdPartyFirewallPolicy:
          $ref: '#/components/schemas/ThirdPartyFirewallPolicy'
        NetworkAclCommonPolicy:
          $ref: '#/components/schemas/NetworkAclCommonPolicy'
    PolicySummary:
      type: object
      properties:
        PolicyArn:
          type: string
          description: The Amazon Resource Name (ARN) of the specified policy.
        PolicyId:
          type: string
          description: The ID of the specified policy.
        PolicyName:
          type: string
          description: The name of the specified policy.
        ResourceType:
          type: string
          description: The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon
            Web Services Resource Types Reference.
        SecurityServiceType:
          type: string
          enum:
          - WAF
          - WAFV2
          - SHIELD_ADVANCED
          - SECURITY_GROUPS_COMMON
          - SECURITY_GROUPS_CONTENT_AUDIT
          - SECURITY_GROUPS_USAGE_AUDIT
          - NETWORK_FIREWALL
          - DNS_FIREWALL
          - THIRD_PARTY_FIREWALL
          - IMPORT_NETWORK_FIREWALL
          - NETWORK_ACL_COMMON
          description: The service that the policy is using to protect the resources. This specifies the type of policy that
            is created, either an WAF policy, a Shield Advanced policy, or a security group policy.
        RemediationEnabled:
          type: boolean
          description: Indicates if the policy should be automatically applied to new resources.
        DeleteUnusedFMManagedResources:
          type: boolean
          description: Indicates whether Firewall Manager should automatically remove protections from resources that leave
            the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave
            policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected
            customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove
            protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or
            WAF Classic policies.
        PolicyStatus:
          type: string
          enum:
          - ACTIVE
          - OUT_OF_ADMIN_SCOPE
          description: Indicates whether the policy is in or out of an admin's policy or Region scope. ACTIVE - The administrator
            can manage and delete the policy. OUT_OF_ADMIN_SCOPE - The administrator can view the policy, but they can't edit
            or delete the policy. Existing policy protections stay in place. Any new resources that come into scope of the
            policy won't be protected.
    PutPolicyRequest:
      type: object
      properties:
        Policy:
          $ref: '#/components/schemas/Policy'
        TagList:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The tags to add to the Amazon Web Services resource.
      required:
      - Policy
    PutPolicyResponse:
      type: object
      properties:
        Policy:
          $ref: '#/components/schemas/Policy'
        PolicyArn:
          type: string
          description: The Amazon Resource Name (ARN) of the policy.
    ResourceTag:
      type: object
      properties:
        Key:
          type: string
          description: The resource tag key.
        Value:
          type: string
          description: The resource tag value. To specify an empty string value, either don't provide this or specify it as
            "".
      required:
      - Key
    SecurityServicePolicyData:
      type: object
      properties:
        Type:
          type: string
          enum:
          - WAF
          - WAFV2
          - SHIELD_ADVANCED
          - SECURITY_GROUPS_COMMON
          - SECURITY_GROUPS_CONTENT_AUDIT
          - SECURITY_GROUPS_USAGE_AUDIT
          - NETWORK_FIREWALL
          - DNS_FIREWALL
          - THIRD_PARTY_FIREWALL
          - IMPORT_NETWORK_FIREWALL
          - NETWORK_ACL_COMMON
          description: The service that the policy is using to protect the resources. This specifies the type of policy that
            is created, either an WAF policy, a Shield Advanced policy, or a security group policy. For security group policies,
            Firewall Manager supports one security group for each common policy and for each content audit policy. This is
            an adjustable limit that you can increase by contacting Amazon Web Services Support.
        ManagedServiceData:
          type: string
          description: 'Details about the service that are specific to the service type, in JSON format. Example: DNS_FIREWALL
            "{\"type\":\"DNS_FIREWALL\",\"preProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-1\",\"priority\":10}],\"postProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-2\",\"priority\":9911}]}"
            Valid values for preProcessRuleGroups are between 1 and 99. Valid values for postProcessRuleGroups are between
            9901 and 10000. Example: IMPORT_NETWORK_FIREWALL "{\"type\":\"IMPORT_NETWORK_FIREWALL\",\"awsNetworkFirewallConfig\":{\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:netwo'
        PolicyOption:
          $ref: '#/components/schemas/PolicyOption'
      required:
      - Type
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information,
            such as "customer." Tag keys are case-sensitive.
        Value:
          type: string
          description: Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value
            within a category, such as "companyA" or "companyB." Tag values are case-sensitive.
      required:
      - Key
      - Value
    ThirdPartyFirewallPolicy:
      type: object
      properties:
        FirewallDeploymentModel:
          type: string
          enum:
          - CENTRALIZED
          - DISTRIBUTED
          description: Defines the deployment model to use for the third-party firewall policy.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/fms/service/2018-01-01/fms-2018-01-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)