# Manifestations (/docs/core-concepts/manifestations)



A **manifestation** is a grouped event — a product launch, partnership, patent cluster, funding round, and so on — not a single raw document and not a single graph node. Trendtracker builds manifestations from [proof points](/docs/proof-points) and [facts](/docs/facts), then returns one row with supporting `references`.

This is the replacement for deprecated partnership and product-launch **indicator** endpoints.

**Endpoint:** `POST /manifestations/search` — [playground](/docs/api-reference/endpoints/search_manifestations_manifestations_search_post)

## Types [#types]

| Type                | Source                 |
| ------------------- | ---------------------- |
| `news-event`        | Proof points           |
| `patent`            | Proof points           |
| `research-article`  | Proof points           |
| `consulting-report` | Proof points           |
| `earnings-call`     | Proof points           |
| `product-launch`    | Proof points           |
| `partnership`       | Proof points           |
| `organization`      | Facts                  |
| `investment`        | Proof points and facts |
| `acquisition`       | Proof points and facts |

Pass `types` to limit the mix. Omit it to search across types.

Investment and acquisition manifestations can attach **both** document proof points and knowledge-graph facts on the same row (`references` may mix `proof_point` and `fact`).

## Typical Questions [#typical-questions]

* What product launches and partnerships happened around this topic last year?
* Which events are corroborated by more than one source?
* What investments and acquisitions sit next to the document-based events?

## Paging [#paging]

Manifestations use **cursor** paging, not `skip`:

* `take` — page size, max 100 (default 100)
* `cursor` — opaque token from the previous response (`cursor` is `null` when there is no next page)

Shared proof-point filters also apply: `query`, `topicIds`, `organizationIds`, `languages`, `sourceIds`, `start` / `end`.

## Query [#query]

`query` uses the same Lucene-lite language as [proof points](/docs/proof-points), but only when `types` is restricted to proof-point types (`news-event`, `patent`, `research-article`, `consulting-report`, `earnings-call`, `product-launch`, `partnership`).

Fielded or boolean `query` (`title:`, `AND` / `OR` / `NOT`, grouping) is rejected when `types` is omitted or includes fact-backed types (`organization`, `investment`, `acquisition`). In those cases use a simple string: `lithium`, `solid state battery`, or `"solid state battery"`.

[Facts](/docs/facts) endpoints keep a plain organization-label `query` (max 50 characters). They do not accept this language.

## Type-specific nested filters [#type-specific-nested-filters]

| Field                                      | Applies to       | Notes                                                         |
| ------------------------------------------ | ---------------- | ------------------------------------------------------------- |
| `newsEventFilter.minUniqueSourceCount`     | `news-event`     | Ignored for patents and research articles                     |
| `productLaunchFilter.minUniqueSourceCount` | `product-launch` | Same                                                          |
| `partnershipFilter.minUniqueSourceCount`   | `partnership`    | Minimum distinct sources                                      |
| `organizationFilter`                       | `organization`   | Same shape as [organization facts](/docs/facts/organizations) |
| `investmentFilter`                         | `investment`     | Same shape as [investment facts](/docs/facts/investments)     |
| `acquisitionFilter`                        | `acquisition`    | Same shape as [acquisition facts](/docs/facts/acquisitions)   |

## Request Pattern [#request-pattern]

```json
{
  "types": ["partnership", "product-launch"],
  "topicIds": ["11111111-1111-1111-1111-111111111111"],
  "start": "2023-01-01T00:00:00Z",
  "end": "2024-12-31T23:59:59Z",
  "take": 50,
  "partnershipFilter": {
    "minUniqueSourceCount": 2
  },
  "productLaunchFilter": {
    "minUniqueSourceCount": 2
  }
}
```

Follow-up page:

```json
{
  "types": ["partnership", "product-launch"],
  "topicIds": ["11111111-1111-1111-1111-111111111111"],
  "cursor": "opaque-cursor-from-previous-response",
  "take": 50
}
```

## Response Notes [#response-notes]

Each manifestation can include:

* `type`
* `title`
* `start` / `end`
* `companies`, `products`
* `amount`
* `uniqueSourceCount`
* `references` — each has `type` (`proof_point` or `fact`), `id`, and either `proofPointType` or `factType`

The page object is `{ "data": [...], "cursor": "..." }`.
