---
title: "Execute the configured expense requirements against given facts"
method: POST
path: "/v1/web/policy/expense-requirement/execute"
tags: ["Policy"]
---

# Execute the configured expense requirements against given facts

`POST /v1/web/policy/expense-requirement/execute`

## Request body

- object
  - `userGroupIds` string[], required
  - `userRoleIds` string[], required
  - `expenseType` union, required
    - 'card'
    - 'reimbursement'
  - `amount` string, required — Number string
  - `spendCategoryId` string
  - `hasMemo` boolean, required
  - `hasReceipt` boolean, required

## Response `200`

Default Response

- object
  - `matchedRules` object[], required — All rules whose conditions matched, in policy order. Empty if none matched.
    - `conditions` object, required — [Sift](https://github.com/crcn/sift.js) query for corresponding facts
    - `outcome` object, required
      - `requiredFields` union[], required
        - union
          - 'memo'
          - 'receipt'
          - 'spendCategoryId'

## Other responses

- `400` — Default Response
- `401` — The access to this resource has been denied
- `403` — The access to this resource is forbidden
- `404` — The resource was not found
- `default` — Catch-all error response for any unexpected internal errors

---

[API](https://skmtc.net/funneldash/apis/surface-web-api.md) · [All operations](https://skmtc.net/funneldash/apis/surface-web-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/funneldash/surface-web-api/revisions/ac700d65f443/schema)
