VTEX Policy API

The Policy API from VTEX — 3 operation(s) for policy.

Operations 6

GET /api/policy-engine/policies VTex Get policy list #
POST /api/policy-engine/evaluate VTex Evaluate policies #
GET /api/policy-engine/policies/{id} VTex Get policy by ID #
POST /api/policy-engine/policies/{id} VTex Create policy #
PUT /api/policy-engine/policies/{id} VTex Update policy
DELETE /api/policy-engine/policies/{id} VTex Delete policy by ID #

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

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/vtex-policy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

vtex-policy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VTex Policies System Policy API
  description: "\n This API will create promotion alarms when selling products with undesired prices and promotions. It will create conditions that will check if the prices and the promotions are correct. If not, the system will alarm the store with information about the product sold at unexpected prices.\n\n ## Index\n\n- `GET` [Get Policy List](https://developers.vtex.com/docs/api-reference/policies-system-api#get-/api/policy-engine/policies)\n- `POST` [Evaluate Policies](https://developers.vtex.com/docs/api-reference/policies-system-api#post-/api/policy-engine/evaluate)\n- `GET` [Get Policy by ID](https://developers.vtex.com/docs/api-reference/policies-system-api#get-/api/policy-engine/policies/-id-)\n- `POST` [Create Policy](https://developers.vtex.com/docs/api-reference/policies-system-api#post-/api/policy-engine/policies/-id-)\n- `PUT` [Update Policy](https://developers.vtex.com/docs/api-reference/policies-system-api#put-/api/policy-engine/policies/-id-)\n- `DELETE` [Delete Policy by ID](https://developers.vtex.com/docs/api-reference/policies-system-api#delete-/api/policy-engine/policies/-id-)"
  contact: {}
  version: ''
servers:
- url: https://{accountName}.{environment}.com.br
  description: VTEX server URL.
  variables:
    accountName:
      description: Name of the VTEX account. Used as part of the URL.
      default: apiexamples
    environment:
      description: Environment to use. Used as part of the URL.
      enum:
      - vtexcommercestable
      default: vtexcommercestable
security:
- appKey: []
  appToken: []
- VtexIdclientAutCookie: []
tags:
- name: Policy
paths:
  /api/policy-engine/policies:
    get:
      tags:
      - Policy
      summary: VTex Get policy list
      description: 'Retrieves a list of all policies in the account and general information of each policy.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **List Policies** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: Policy_List
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyGetResponse'
                description: Array of objects with policies infomation.
              example:
              - id: pa_test_001
                name: TestAlarmBerenice
                description: TesteMarcosPromotionsAlert
                statements:
                - effect: Allow
                  actions:
                  - id: SendSlackMessage
                    metadata:
                      channel: C01NJFF35R6
                      relatedUsers:
                      - URUNDC2NB
                      alertDescription: Avoid selling products from Berenice with a discount greater than 70%.
                  resource: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
                  condition:
                    conditions:
                    - conditions: []
                      operation: stringEquals
                      key: brandId
                      values:
                      - '2000001'
                    - conditions: []
                      operation: numericGreaterThan
                      key: discountPercentage
                      values:
                      - '70.00'
                    operation: and
  /api/policy-engine/evaluate:
    post:
      tags:
      - Policy
      summary: VTex Evaluate policies
      description: 'This endpoint consults all policies and checks the ones that satisfy the request body’s conditions.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **Evaluate Policy** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: Policy_Evaluate
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvaluatePolicyRequest'
            example:
              resource: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
              context:
                brandId: '2000001'
                discountPercentage: '91.00'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyActionGetResponse'
                description: Array of objects with policies infomation.
              example:
              - id: SendSlackMessage
                metadata:
                  channel: C01NJFF35R6
                  relatedUsers:
                  - URUNDC2NB
                  alertDescription: Avoid selling products from Berenice with a discount greater than 70%.
      deprecated: false
  /api/policy-engine/policies/{id}:
    get:
      tags:
      - Policy
      summary: VTex Get policy by ID
      description: 'Retrieves general information of a policy by its ID.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **Get Policy** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: Policy_Get
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: id
        in: path
        required: true
        description: Policy ID.
        schema:
          type: string
          example: pa_test_001
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyGetResponse'
                description: Array of objects with policies infomation.
              example:
              - id: pa_test_001
                name: TestAlarmBerenice
                description: TesteMarcosPromotionsAlert
                statements:
                - effect: Allow
                  actions:
                  - id: SendSlackMessage
                    metadata:
                      channel: C01NJFF35R6
                      relatedUsers:
                      - URUNDC2NB
                      alertDescription: Avoid selling products from Berenice with a discount greater than 70%.
                  resource: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
                  condition:
                    conditions:
                    - conditions: []
                      operation: stringEquals
                      key: brandId
                      values:
                      - '2000001'
                    - conditions: []
                      operation: numericGreaterThan
                      key: discountPercentage
                      values:
                      - '70.00'
                    operation: and
    post:
      tags:
      - Policy
      summary: VTex Create policy
      description: 'Creates a new policy from scratch.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **Create or Update Policy** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: Policy_CreateOrUpdate
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: id
        in: path
        required: true
        description: Policy ID.
        schema:
          type: string
          example: pa_test_001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicySaveRequest'
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyGetResponse'
                description: Array of objects with policies infomation.
              example:
              - id: pa_test_001
                name: TestAlarmBerenice
                description: TesteMarcosPromotionsAlert
                statements:
                - effect: Allow
                  actions:
                  - id: SendSlackMessage
                    metadata:
                      channel: C01NJFF35R6
                      relatedUsers:
                      - URUNDC2NB
                      alertDescription: Avoid selling products from Berenice with a discount greater than 70%.
                  resource: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
                  condition:
                    conditions:
                    - conditions: []
                      operation: stringEquals
                      key: brandId
                      values:
                      - '2000001'
                    - conditions: []
                      operation: numericGreaterThan
                      key: discountPercentage
                      values:
                      - '70.00'
                    operation: and
    put:
      tags:
      - Policy
      summary: VTex Update policy
      description: 'Updates an existing policy at your account.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **Create or Update Policy** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: id
        in: path
        required: true
        description: Policy ID.
        schema:
          type: string
          example: pa_test_001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicySaveRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyGetResponse'
                description: Array of objects with policies infomation.
              example:
              - id: pa_test_001
                name: TestAlarmBerenice
                description: TesteMarcosPromotionsAlert
                statements:
                - effect: Allow
                  actions:
                  - id: SendSlackMessage
                    metadata:
                      channel: C01NJFF35R6
                      relatedUsers:
                      - URUNDC2NB
                      alertDescription: Avoid selling products from Berenice with a discount greater than 40%.
                  resource: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
                  condition:
                    conditions:
                    - conditions: []
                      operation: stringEquals
                      key: brandId
                      values:
                      - '2000001'
                    - conditions: []
                      operation: numericGreaterThan
                      key: discountPercentage
                      values:
                      - '40.00'
                    operation: and
      deprecated: false
    delete:
      tags:
      - Policy
      summary: VTex Delete policy by ID
      description: 'Deletes a specific policy of the account by its ID.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Promotions Policy Engine | Policies | **Delete Policy** |


        There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).


        >❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: Policy_Delete
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: id
        in: path
        required: true
        description: Policy ID.
        schema:
          type: string
          example: pa_test_001
      responses:
        '200':
          description: 200 OK
      deprecated: false
components:
  schemas:
    PolicyActionGetResponse:
      title: PolicyActionGetResponse
      type: object
      description: Object with policy conditions.
      properties:
        id:
          type: string
          description: Action ID.
          title: id
        metadata:
          type: object
          description: Metadata object from the current action.
          title: metadata
          additionalProperties: true
    PolicySaveRequest:
      required:
      - name
      - description
      - statements
      type: object
      properties:
        name:
          type: string
          description: Policy name.
          title: name
          example: id
        description:
          type: string
          description: Policy description, only for internal use.
          title: description
          example: TesteMarcosPromotionsAlert
        statements:
          type: array
          title: statements
          items:
            $ref: '#/components/schemas/StatementGetResponse'
          description: Requirements for the the policy to be applied.
    StatementGetResponse:
      type: object
      description: Object with policy conditions.
      required:
      - effect
      properties:
        effect:
          type: string
          title: effect
          description: This field is not functional at the moment. To create a correct request, fill the field with `Allow`.
          example: Allow
          deprecated: true
        actions:
          type: array
          title: actions
          items:
            properties:
              id:
                type: string
                title: id
                description: Action ID.
                example: SendSlackMessage
                enum:
                - SendSlackMessage
                - SendEmail
                - DeactivatePromotions
              metadata:
                type: object
                title: metadata
                description: Data inside of the actions.
                additionalProperties: true
            type: object
            description: Array with actions information.
          description: Actions that the policy will execute.
        resource:
          type: string
          description: Scope on which this policy must be evaluated.
          title: resource
          example: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
        condition:
          type: object
          properties:
            conditions:
              type: array
              description: List of conditions that will activate the policy.
              items:
                description: List of conditions that will activate the policy.
                properties:
                  conditions:
                    title: conditions
                    type: array
                    description: List of conditions the actions can have. It can be an empty array `[]`.
                    enum:
                    - []
                    - - stringEquals
                    - - numericGreaterThan
                    items:
                      type: string
                      description: Condition value.
                  operation:
                    type: string
                    title: operation
                    description: The action of the condition.
                    example: None
                    enum:
                    - None
                    - stringEquals
                    - stringEqualsIgnoreCase
                    - numericEquals
                    - numericLessThan
                    - numericLessThanEquals
                    - numericGreaterThan
                    - numericGreaterThanEquals
                    - bool
                    - not
                    - or
                    - and
                    - dateTimeUtcGreaterThan
                    - dateTimeUtcLessThan
                    - between
                  key:
                    type: string
                    title: key
                    description: The element that will define what the policy will influence.
                    example: skuId
                    enum:
                    - skuId
                    - brandId
                    - discountPercentage
                  values:
                    type: array
                    title: values
                    items:
                      type: string
                      description: Key value.
                      example: '40.00'
                    description: Array with values of the key.
          description: Condition to activate this policy. This object can have a maximum of ten recursive conditions.
          title: condition
        operation:
          type: string
          title: operation
          description: This operation will determine if all the conditions need to be valid or at least one of them, if the conditions array is not empty.
          example: None
          enum:
          - None
          - stringEquals
          - stringEqualsIgnoreCase
          - numericEquals
          - numericLessThan
          - numericLessThanEquals
          - numericGreaterThan
          - numericGreaterThanEquals
          - bool
          - not
          - or
          - and
          - dateTimeUtcGreaterThan
          - dateTimeUtcLessThan
          - between
    EvaluatePolicyRequest:
      required:
      - resource
      - context
      type: object
      description: Object with policy conditions.
      properties:
        resource:
          description: Scope on which this policy must be evaluated.
          title: resource
          type: string
          example: vrn:vtex.promotions-alert:aws-us-east-1:kamila:master:/_v/promotions_alert
        context:
          type: object
          description: Conditions that the policy needs to satisfy.
          title: context
          example:
            brandId: '2000001'
            discountPercentage: '91.00'
          additionalProperties: true
    PolicyGetResponse:
      title: PolicyGetResponse
      description: Object with policy information.
      type: object
      properties:
        id:
          type: string
          title: id
          description: Policy ID.
        name:
          type: string
          description: Policy name.
          title: name
          example: id
        description:
          type: string
          description: Policy description, only for internal use.
          title: description
        statements:
          type: array
          title: statements
          items:
            $ref: '#/components/schemas/StatementGetResponse'
          description: Requirements for the policy to be applied.
  parameters:
    Accept:
      name: Accept
      in: header
      description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
      required: true
      style: simple
      schema:
        type: string
        default: application/json
    Content-Type:
      name: Content-Type
      in: header
      description: Type of the content being sent.
      required: true
      style: simple
      schema:
        type: string
        default: application/json
  securitySchemes:
    appKey:
      type: apiKey
      in: header
      name: X-VTEX-API-AppKey
      description: Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    appToken:
      type: apiKey
      in: header
      name: X-VTEX-API-AppToken
      description: Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    VtexIdclientAutCookie:
      type: apiKey
      in: header
      name: VtexIdclientAutCookie
      description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'