# Получить рынки Kalshi

**API:** Data API

**Endpoint:** `GET /v1/beta/kalshi/markets`

**Tags:** Kalshi

Перечисляет рынки прогнозов с использованием документированных фильтров status, ticker, event, series и временных меток. Контракт включает max_updated_ts, но не объявляет параметр полнотекстового поиска. Следуйте схеме ответа для записей рынков и пагинации.

### Справочные цены

- Тарификация: фиксированная базовая стоимость успешного запроса.
- Справочная оценка запроса: USD 0.02.

Справочные метаданные, а не коммерческое предложение для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты Felo. Итоговые списания определяются записями биллинга Felo.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `cursor` | query | no | string | Курсор пагинации. Используйте значение курсора из предыдущего ответа, чтобы получить следующую страницу результатов. Для первой страницы оставьте пустым. |
| `event_ticker` | query | no | string | Тикер события для фильтрации. Поддерживается только один тикер события. |
| `limit` | query | no | integer, (int64), default: 100 | Количество результатов на страницу. По умолчанию 100. Максимальное значение — 1000. |
| `max_close_ts` | query | no | integer, (int64) | Фильтрует элементы, которые закрываются до этой Unix-временной метки |
| `max_created_ts` | query | no | integer, (int64) | Фильтрует элементы, созданные до этой Unix-временной метки |
| `max_settled_ts` | query | no | integer, (int64) | Фильтрует элементы, рассчитанные до этой Unix-временной метки |
| `max_updated_ts` | query | no | integer, (int64) | Возвращает рынки, метаданные которых обновлены в эту Unix-временную метку или до неё (в секундах). Отслеживает только изменения, не связанные с торговлей. Может использоваться вместе с min_updated_ts и mve_filter=exclude. Также может использоваться с series_ticker, но для этого требуется mve_filter=exclude. Несовместим с другими фильтрами. |
| `min_close_ts` | query | no | integer, (int64) | Фильтрует элементы, которые закрываются после этой Unix-временной метки |
| `min_created_ts` | query | no | integer, (int64) | Фильтрует элементы, созданные после этой Unix-временной метки |
| `min_settled_ts` | query | no | integer, (int64) | Фильтрует элементы, рассчитанные после этой Unix-временной метки |
| `min_updated_ts` | query | no | integer, (int64) | Возвращает рынки, метаданные которых обновлены после этой Unix-временной метки (в секундах). Отслеживает только изменения, не связанные с торговлей. Может использоваться вместе с max_updated_ts и mve_filter=exclude. Также может использоваться с series_ticker, но для этого требуется mve_filter=exclude. Несовместим с другими фильтрами. |
| `mve_filter` | query | no | string, enum: "only", "exclude" | Фильтр по мультивариантным событиям (комбо). 'only' возвращает только мультивариантные события, 'exclude' исключает мультивариантные события. |
| `series_ticker` | query | no | string | Фильтр по тикеру серии |
| `status` | query | no | string, enum: "unopened", "open", "paused", "closed", "settled" | Фильтр по статусу рынка. Оставьте пустым, чтобы вернуть рынки с любым статусом. |
| `tickers` | query | no | string | Фильтр по конкретным тикерам рынков. Список тикеров рынков через запятую для получения. |

## Responses

### 200 — Рынки успешно получены

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: `Response24B585A0A861_GetMarketsResponse` (`#/components/schemas/Response24B585A0A861_GetMarketsResponse`)

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response24B585A0A861_ExchangeIndex

`#/components/schemas/Response24B585A0A861_ExchangeIndex`

```json
{
  "type": "integer",
  "description": "Идентификатор шарда биржи.",
  "example": 0
}
```

### Response24B585A0A861_FixedPointCount

`#/components/schemas/Response24B585A0A861_FixedPointCount`

```json
{
  "type": "string",
  "description": "Строка количества контрактов с фиксированной точкой (2 знака после запятой, например \"10.00\"; в именах полей обозначается как \"fp\"). Запросы принимают 0-2 знака после запятой (например, \"10\", \"10.0\", \"10.00\"); ответы всегда содержат 2 знака. Дробные значения контрактов (например, \"2.50\") поддерживаются; минимальная гранулярность — 0.01 контракта.",
  "example": "10.00"
}
```

### Response24B585A0A861_FixedPointDollars

`#/components/schemas/Response24B585A0A861_FixedPointDollars`

```json
{
  "type": "string",
  "description": "Строка суммы в долларах США с фиксированной точкой. Большинство полей запроса принимают 2-4 знака после запятой (например, \"0.56\", \"0.5600\"); ответы содержат до 6 знаков. Допустимые интервалы котировок для данного рынка ограничены структурой уровней цен этого рынка.",
  "example": "0.5600"
}
```

### Response24B585A0A861_GetMarketsResponse

`#/components/schemas/Response24B585A0A861_GetMarketsResponse`

```json
{
  "type": "object",
  "required": [
    "markets",
    "cursor"
  ],
  "properties": {
    "markets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Response24B585A0A861_Market"
      }
    },
    "cursor": {
      "type": "string"
    }
  }
}
```

### Response24B585A0A861_Market

`#/components/schemas/Response24B585A0A861_Market`

```json
{
  "type": "object",
  "required": [
    "ticker",
    "event_ticker",
    "market_type",
    "yes_sub_title",
    "no_sub_title",
    "created_time",
    "updated_time",
    "open_time",
    "close_time",
    "latest_expiration_time",
    "settlement_timer_seconds",
    "status",
    "notional_value_dollars",
    "yes_bid_dollars",
    "yes_ask_dollars",
    "no_bid_dollars",
    "no_ask_dollars",
    "yes_bid_size_fp",
    "yes_ask_size_fp",
    "last_price_dollars",
    "previous_yes_bid_dollars",
    "previous_yes_ask_dollars",
    "previous_price_dollars",
    "volume_fp",
    "volume_24h_fp",
    "open_interest_fp",
    "result",
    "can_close_early",
    "expiration_value",
    "rules_primary",
    "rules_secondary",
    "price_level_structure",
    "price_ranges",
    "settlement_bounds_type"
  ],
  "properties": {
    "ticker": {
      "type": "string"
    },
    "event_ticker": {
      "type": "string"
    },
    "market_type": {
      "type": "string",
      "enum": [
        "binary",
        "scalar"
      ],
      "description": "Определяет тип рынка"
    },
    "title": {
      "type": "string",
      "deprecated": true,
      "x-go-type-skip-optional-pointer": true
    },
    "subtitle": {
      "type": "string",
      "deprecated": true,
      "x-go-type-skip-optional-pointer": true
    },
    "yes_sub_title": {
      "type": "string",
      "description": "Сокращенное название стороны «да» этого рынка."
    },
    "no_sub_title": {
      "type": "string",
      "description": "Сокращённый заголовок для стороны NO этого рынка"
    },
    "created_time": {
      "type": "string",
      "format": "date-time"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Время последнего обновления метаданных, не связанного с торговлей."
    },
    "open_time": {
      "type": "string",
      "format": "date-time"
    },
    "close_time": {
      "type": "string",
      "format": "date-time"
    },
    "expected_expiration_time": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "x-omitempty": true,
      "description": "Время, когда, как ожидается, истечёт срок этого рынка"
    },
    "expiration_time": {
      "type": "string",
      "format": "date-time",
      "deprecated": true,
      "x-go-type-skip-optional-pointer": true
    },
    "latest_expiration_time": {
      "type": "string",
      "format": "date-time",
      "description": "Последнее возможное время истечения этого рынка"
    },
    "settlement_timer_seconds": {
      "type": "integer",
      "description": "Время после определения исхода, через которое рынок рассчитывается."
    },
    "status": {
      "type": "string",
      "enum": [
        "initialized",
        "inactive",
        "active",
        "closed",
        "determined",
        "disputed",
        "amended",
        "finalized"
      ],
      "description": "Текущий статус рынка в его жизненном цикле."
    },
    "yes_bid_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "yes_bid_size_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "yes_ask_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "yes_ask_size_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "no_bid_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "no_ask_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "last_price_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "volume_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "volume_24h_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "result": {
      "type": "string",
      "enum": [
        "yes",
        "no",
        "scalar",
        ""
      ]
    },
    "can_close_early": {
      "type": "boolean"
    },
    "open_interest_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "notional_value_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "previous_yes_bid_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "previous_yes_ask_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "previous_price_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "settlement_value_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "settlement_ts": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "x-omitempty": true,
      "description": "Временная метка расчета рынка. Заполняется только для рассчитанных рынков."
    },
    "settlement_bounds_type": {
      "type": "string",
      "enum": [
        "default",
        "floor"
      ],
      "description": "Какие границы расчёта применяются к этому рынку. default означает, что у рынка нет границ расчёта"
    },
    "settlement_floor_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "expiration_value": {
      "type": "string",
      "description": "Значение, которое учитывалось при расчёте"
    },
    "occurrence_datetime": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Записанные дата и время наступления базового события, если доступны"
    },
    "fee_waiver_expiration_time": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "x-omitempty": true,
      "description": "Время, когда истекает освобождение от комиссии для этого рынка"
    },
    "early_close_condition": {
      "type": [
        "string",
        "null"
      ],
      "x-omitempty": true,
      "description": "Условие, при котором рынок может закрыться досрочно",
      "x-go-type-skip-optional-pointer": true
    },
    "strike_type": {
      "type": "string",
      "enum": [
        "greater",
        "greater_or_equal",
        "less",
        "less_or_equal",
        "between",
        "functional",
        "custom",
        "structured"
      ],
      "x-omitempty": true,
      "description": "Тип страйка определяет, как задается и оценивается страйк рынка.",
      "x-go-type-skip-optional-pointer": true
    },
    "floor_strike": {
      "type": [
        "number",
        "null"
      ],
      "format": "double",
      "x-omitempty": true,
      "description": "Минимальное значение истечения, при котором происходит расчёт по YES"
    },
    "cap_strike": {
      "type": [
        "number",
        "null"
      ],
      "format": "double",
      "x-omitempty": true,
      "description": "Максимальное значение истечения, при котором происходит расчёт по YES"
    },
    "functional_strike": {
      "type": [
        "string",
        "null"
      ],
      "x-omitempty": true,
      "description": "Сопоставление значений истечения со значениями расчёта"
    },
    "custom_strike": {
      "type": [
        "object",
        "null"
      ],
      "x-omitempty": true,
      "description": "Значение истечения для каждого целевого значения, приводящее к расчёту по YES"
    },
    "rules_primary": {
      "type": "string",
      "description": "Простое описание наиболее важных условий рынка"
    },
    "rules_secondary": {
      "type": "string",
      "description": "Простое описание условий вторичного рынка"
    },
    "mve_collection_ticker": {
      "type": "string",
      "x-omitempty": true,
      "description": "Тикер коллекции мультивариантных событий",
      "x-go-type-skip-optional-pointer": true
    },
    "mve_selected_legs": {
      "type": "array",
      "x-omitempty": true,
      "items": {
        "$ref": "#/components/schemas/Response24B585A0A861_MveSelectedLeg"
      },
      "x-go-type-skip-optional-pointer": true
    },
    "primary_participant_key": {
      "type": [
        "string",
        "null"
      ],
      "x-omitempty": true
    },
    "price_level_structure": {
      "type": "string",
      "description": "Структура уровней цен этого рынка, определяющая ценовые диапазоны и шаги цены"
    },
    "price_ranges": {
      "type": "array",
      "description": "Допустимые ценовые диапазоны для ордеров на этом рынке",
      "items": {
        "$ref": "#/components/schemas/Response24B585A0A861_PriceRange"
      }
    },
    "is_provisional": {
      "type": "boolean",
      "x-omitempty": true,
      "description": "Если true, рынок может быть удалён после определения, если по нему нет активности",
      "x-go-type-skip-optional-pointer": true
    },
    "exchange_index": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Response24B585A0A861_ExchangeIndex"
        }
      ],
      "x-go-type-skip-optional-pointer": true,
      "x-omitempty": false
    }
  }
}
```

### Response24B585A0A861_MveSelectedLeg

`#/components/schemas/Response24B585A0A861_MveSelectedLeg`

```json
{
  "type": "object",
  "properties": {
    "event_ticker": {
      "type": "string",
      "description": "Уникальный идентификатор выбранного события.",
      "x-go-type-skip-optional-pointer": true
    },
    "market_ticker": {
      "type": "string",
      "description": "Уникальный идентификатор выбранного рынка.",
      "x-go-type-skip-optional-pointer": true
    },
    "side": {
      "type": "string",
      "description": "Сторона выбранного рынка.",
      "x-go-type-skip-optional-pointer": true
    },
    "yes_settlement_value_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    }
  }
}
```

### Response24B585A0A861_PriceRange

`#/components/schemas/Response24B585A0A861_PriceRange`

```json
{
  "type": "object",
  "required": [
    "start",
    "end",
    "step"
  ],
  "properties": {
    "start": {
      "type": "string",
      "description": "Начальная цена этого диапазона в долларах."
    },
    "end": {
      "type": "string",
      "description": "Конечная цена этого диапазона в долларах."
    },
    "step": {
      "type": "string",
      "description": "Шаг цены/размер тика для этого диапазона в долларах."
    }
  }
}
```
