---
title: "Discover Features"
method: GET
path: "/v1/collections/features"
tags: ["Features"]
---

# Discover Features

`GET /v1/collections/features`

The menu of what you can search by: each file type (modality), its billing unit, and the search features available on it (with rates). Feature keys are the values accepted by collection config `features: [...]`. No authentication required.

## Response `200`

Successful Response

- FeatureDiscoveryResponse — Contract v2 §6.1 — the platform feature menu (D9: server-owned vocabulary; studio/homepage render these labels, never their own).
  - `modalities` object[], required — Per file type (modality): its billing unit, base search feature, and the add-on search-by features available, with rates
  - `custom_features` object[] — Org-scoped BYO plugin features (empty on the public route; populated when called with org auth — Phase 4b, collection config v2)
  - `full_res_multiplier` number, required — Multiplier applied when a collection opts out of mezzanine normalization (full_res)

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/versions/220a3b263fda/schema)
