---
title: "List policy allow, deny, capture, release, and reset decisions"
method: GET
path: "/credits/end-users/{externalUserId}/policy/events"
tags: ["End users"]
---

# List policy allow, deny, capture, release, and reset decisions

`GET /credits/end-users/{externalUserId}/policy/events`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/end-users/{externalUserId}/policy/events`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Lists the end user's policy decisions (allow, deny, capture, release, and reset), newest first. Use it to explain why a call was allowed or blocked.

## Path parameters

- `externalUserId` string, required: Case-sensitive immutable ID in the tenant namespace. Prefer an identity-provider subject, not an email address.

## Query parameters

- `limit` integer

## Response `200`

Newest policy decisions first

- object
  - `success` unknown, required
  - `externalUserId` string, required: Case-sensitive immutable ID in the tenant namespace. Prefer an identity-provider subject, not an email address.
  - `events` EndUserPolicyEvent[], required
    - `id` string, uuid, required
    - `policyId` string, uuid, required
    - `accountId` string, uuid, required
    - `reservationId` string, uuid, nullable
    - `action` 'ALLOW' | 'DENY' | 'CAPTURE' | 'RELEASE', required
    - `reasonCode` string, required: Stable POLICY_* denial code or lifecycle reason.
    - `amountUsdc` string, nullable
    - `amountCredits` string, nullable
    - `idempotencyKey` string, nullable
    - `metadata` object, nullable
    - `createdAt` string, date-time, required

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
