# A Product's Disclosure

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

The text the user reads, and accepts, before their first deposit into a product.

## Overview

- The product's current disclosure — its risks, and that its yield is variable and read at the time stated with the product — in the language asked for, or in English when there is none in that language. `body` is Markdown.
- `accepted` says whether the user accepted this version. A deposit needs the current version accepted (`409` `EARN_DISCLOSURE_NOT_ACCEPTED`); accept it with [Accept a Disclosure](https://docs.aureahub.com/docs/earn-disclosure-accept.md), sending back `version`, `language` and `sha256` exactly as answered here.
- A product whose disclosure Aurea has not published answers `409` `EARN_DISCLOSURE_NOT_PUBLISHED`, and takes no deposit. A `productId` that is no product answers `404` `EARN_PRODUCT_NOT_FOUND`.

## Endpoint

### `GET /v1/earn/products/{productId}/disclosure`

Authentication: bearer token required.

The product's current disclosure, and whether the user accepted it.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `productId` | string | yes | The product's identifier, for example `lumen` |

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `language` | string | no | Two-letter language code; default `en` |

**Responses**

`200` OK

```json
{
  "productId": "lumen",
  "version": 1,
  "language": "en",
  "title": "…",
  "body": "…",
  "sha256": "9f2c…64 hex characters…",
  "publishedAt": "2026-10-05T09:00:00.000Z",
  "accepted": false
}
```

`409` Not Published

```json
{
  "statusCode": 409,
  "error": "ConflictError",
  "message": "This product's disclosure is not published yet.",
  "details": { "code": "EARN_DISCLOSURE_NOT_PUBLISHED", "productId": "lumen" }
}
```

---

Web version: https://docs.aureahub.com/#earn-disclosure
