> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.thepennyinc.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.thepennyinc.com/_mcp/server.

# Live Decisioning Rules

Use `live_decisioning` when your own service must make a real-time decision. Penny calls the configured notification endpoint during authorization and applies its answer. A timeout, transport error, or invalid response applies the rule's `fallback_result`.

**`Live decisioning rule config`**

```json title="Live decisioning rule config"
{
  "rule_type": "live_decisioning",
  "applicable_transaction_authorizations": ["debit"],
  "applicable_card_issuance_modes": ["managed"],
  "configuration": {
    "notification_endpoint_id": "notification_endpoint_01937b28-f048-77de-8ef4-f0487deef42d",
    "fallback_result": false
  }
}
```

Both fields are required:

| Field                      | Type    | Description                                                                                                   |
| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `notification_endpoint_id` | string  | The notification endpoint that receives the decision request.                                                 |
| `fallback_result`          | boolean | The decision applied when Penny doesn't receive a valid answer in time: `true` approves and `false` declines. |

Penny waits one second by default for your endpoint to respond. The timeout isn't set on the rule; the value in effect is sent to your endpoint as `request.timeout_seconds`.

Local spend control rules run before live decisioning. If an earlier rule declines, Penny skips the endpoint call. At most one live decisioning request is made for an authorization across the applicable controls. See [Live Decisioning](/platform/webhooks-live-decisioning) for the complete request payload, response format, fallback behavior, and exchange record.