> ## Documentation Index
> Fetch the complete documentation index at: https://docs.depict.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrating with the Platform API

> What the Depict Platform API covers (search, listings, recommendations, tracking), the v2 vs v3 version status, and how markets, locales and currency are resolved.

The Platform API is the HTTP API at `https://api.depict.ai`. Use it when you want full control over the UX instead of the pre-built [Depict UI SDK](/react-ui-guide/introduction). It covers four areas, which you can integrate independently:

1. [Search](/api-guide/search) — search results and query suggestions
2. [Listings](/api-guide/listings) — category and collection pages: listing metadata, the navigation tree, and products
3. [Recommendations](/api-guide/recommendations/introduction) — product recommendations
4. [Tracking](/api-guide/tracking/introduction) — the interaction events that power attribution, metrics and ranking

The generated endpoint reference is in the API Reference tab, under **Platform API**. Whichever areas you integrate, also complete the [tracking guide](/api-guide/tracking/introduction) — without tracking events, attribution and ranking do not work.

## Versions

<Warning>
  The Platform API currently has two active versions. Build new integrations
  against the `/v3` endpoints — `/v3` is the successor to `/v2`. `/v2` is
  expected to be deprecated within roughly 6 months and `/v3` within roughly 9
  months, with a v4 API expected in Q4. These are expectations, not committed
  dates — confirm timelines with your Depict contact before planning a
  migration deadline.
</Warning>

The `/v2/recommend/products/category` endpoint follows a different schedule from the rest of `/v2`: see [category recommendations](/api-guide/recommendations/api#category-recommendations).

## Request conventions on v3

| Convention | v3 | v2 |
| - | - | - |
| Store identifier field | `merchant` | `tenant` |
| `locale` | Required on every request | Optional, falls back to the default locale |
| User identity fields | `session_id` only | `user_id`, `session_id`, `dsid` |

<Warning>
  v3 request bodies silently ignore unknown fields. A misspelled field name
  (for example `Limit` instead of `limit`) is dropped without an error, so the
  request succeeds with the field's default instead of failing.
</Warning>

## Markets, locales and currency

Enumerate the valid `market` and `locale` values for your account at runtime:

| Endpoint | Method | Response body |
| - | - | - |
| `/v3/markets?merchant={merchant}` | GET | `{"markets": ["..."]}` — sorted market ids |
| `/v3/locales?merchant={merchant}` | GET | `{"locales": ["..."]}` — sorted locale ids |

<Note>
  The OpenAPI spec shows an empty response schema for these two endpoints. The
  shapes above are the actual wire responses.
</Note>

There is no currency request parameter anywhere in the API. Prices arrive pre-resolved inside display objects for the requested `market` and `locale`, and the only currency code the serving API emits is on range-filter metadata (for price sliders). On tracking events you supply `currency` yourself.

<Tip>If you are using TypeScript you can see all [API type definitions here](https://unpkg.com/browse/@depict-ai/types@latest/api/)</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.