# `PaperTiger.Resources.Review`
[🔗](https://github.com/EnaiaInc/paper_tiger/blob/v1.2.2/lib/paper_tiger/resources/review.ex#L1)

Handles Review resource endpoints.

## Endpoints

- GET    /v1/reviews/:id  - Retrieve review
- POST   /v1/reviews/:id  - Update review
- GET    /v1/reviews      - List reviews

Note: Reviews cannot be created or deleted (created by Stripe Radar, immutable).

## Review Object

    %{
      id: "prv_...",
      object: "review",
      created: 1234567890,
      charge: "ch_...",
      payment_intent: "pi_...",
      reason: "rule" | "manual" | "approved" | "refunded",
      open: true,
      closed_reason: "approved" | "refunded" | "refunded_as_fraud" | "disputed",
      metadata: %{},
      # ... other fields
    }

# `list`

```elixir
@spec list(Plug.Conn.t()) :: Plug.Conn.t()
```

Lists all reviews with pagination.

## Parameters

- limit - Number of items (default: 10, max: 100)
- starting_after - Cursor for pagination
- ending_before - Reverse cursor
- charge - Filter by charge ID
- payment_intent - Filter by payment intent ID

# `retrieve`

```elixir
@spec retrieve(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
```

Retrieves a review by ID.

# `update`

```elixir
@spec update(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
```

Updates a review.

Note: Reviews can only have limited fields updated.

## Updatable Fields

- closed_reason (only when closing a review)
- metadata

---

*Consult [api-reference.md](api-reference.md) for complete listing*
