Hubris Responses API

The Responses API from Hubris — 1 operation(s) for responses.

GitHub OpenAPI

Operations 1

POST /v1/responses Создать response (beta) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hubris-pw:hubris-pw-responses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hubris-pw-responses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hubris Responses API
  version: 1.0.0
  description: 'OpenAI-совместимый API российского LLM-агрегатора. Все цены в рублях.


    Версии и вывод из эксплуатации (deprecation policy): несовместимые изменения — только в новой версии префикса (`/v2`); об отключении эндпоинта или поля предупреждаем не меньше чем за 90 дней заголовками `Deprecation` (RFC 9745) и `Sunset` (RFC 8594), записью в журнале изменений и письмом. Подробно: https://hubris.pw/docs/api/versioning'
servers:
- url: https://api.hubris.pw
  description: Production
tags:
- name: Responses
paths:
  /v1/responses:
    post:
      operationId: createResponse
      tags:
      - Responses
      summary: Создать response (beta)
      description: 'OpenAI-совместимый Responses API endpoint. **BETA** — schema нестабильна, поля могут меняться.


        При `stream: true` возвращает Server-Sent Events стрим. Usage приходит в `response.completed` event.'
      security:
      - bearerAuth: []
      - oauth2:
        - chat:write
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesRequest'
      responses:
        '200':
          description: 'Успешный ответ. При `stream: false` — JSON. При `stream: true` — `text/event-stream`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesResponse'
            text/event-stream:
              schema:
                type: string
                description: SSE-stream events (см. /docs/api/responses, beta).
        '400':
          description: Невалидное тело
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '401':
          description: Невалидный API-ключ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '402':
          description: Недостаточно средств
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '404':
          description: Модель не найдена
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '429':
          description: Превышен дневной лимит ключа
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '502':
          description: Ошибка провайдера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '503':
          description: Курс ЦБ РФ недоступен
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
        '504':
          description: Провайдер не ответил вовремя
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesErrorResponse'
components:
  schemas:
    ResponsesRequest:
      type: object
      properties:
        model:
          type: string
          minLength: 1
          example: openai/o1-mini
        input:
          anyOf:
          - type: string
          - type: array
            items:
              type: object
              additionalProperties:
                nullable: true
          description: Строка или массив input-блоков (см. OpenAI Responses API).
        stream:
          type: boolean
      required:
      - model
      - input
    ResponsesErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorObject'
      required:
      - error
    ResponsesResponse:
      type: object
      properties:
        id:
          type: string
          example: resp_abc123
        object:
          type: string
          enum:
          - response
        created_at:
          type: integer
        model:
          type: string
        output:
          type: array
          items:
            type: object
            additionalProperties:
              nullable: true
        usage:
          $ref: '#/components/schemas/Usage'
        status:
          type: string
      required:
      - id
      - object
      - created_at
      - model
      - output
    ErrorCode:
      type: string
      enum:
      - invalid_request
      - invalid_api_key
      - insufficient_balance
      - daily_limit_exceeded
      - workspace_limit_exceeded
      - model_not_found
      - exchange_rate_unavailable
      - upstream_error
      - upstream_timeout
      - context_length_exceeded
      - content_policy_violation
      - input_image_rejected
      - not_found
      - internal_error
      - too_many_active_jobs
      - video_not_ready
      - index_out_of_range
      - byok_disabled
      - byok_egress_unavailable
      - byok_not_configured
      - byok_insufficient_credits
      - byok_not_supported_for_videos
    ErrorObject:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
        code:
          $ref: '#/components/schemas/ErrorCode'
        param:
          type: string
          nullable: true
      required:
      - message
      - type
      - code
    Usage:
      type: object
      properties:
        prompt_tokens:
          type: integer
          minimum: 0
        completion_tokens:
          type: integer
          minimum: 0
        total_tokens:
          type: integer
          minimum: 0
        completion_tokens_details:
          type: object
          properties:
            reasoning_tokens:
              type: integer
              minimum: 0
        prompt_tokens_details:
          type: object
          properties:
            cached_tokens:
              type: integer
              minimum: 0
      required:
      - prompt_tokens
      - completion_tokens
      - total_tokens
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk-gw-...
      description: API-ключ в формате `sk-gw-` + 32 hex. Создаётся в дашборде на /keys. Обычный ключ даёт все права, ключ только для чтения не может тратить баланс.
    oauth2:
      type: oauth2
      description: 'OAuth-токен приложения с ограниченными правами. Регистрация клиента — `POST /oauth/clients` (RFC 7591), PKCE S256 обязателен. Метаданные: `/.well-known/oauth-authorization-server`, `/.well-known/oauth-protected-resource`.'
      flows:
        authorizationCode:
          authorizationUrl: https://api.hubris.pw/oauth/authorize
          tokenUrl: https://api.hubris.pw/oauth/token
          refreshUrl: https://api.hubris.pw/oauth/token
          scopes:
            chat:write: 'Запросы к моделям от имени пользователя (списывают баланс): чат, Responses, Messages, эмбеддинги, реранкеры, модели решений, изображения, распознавание и озвучка речи, расшифровка видео; коннекторы Битрикс24.'
            models:read: Видеть цепочки резервных моделей пользователя в `GET /v1/models`.
            balance:read: Видеть остаток баланса пользователя.
            videos:write: Создавать видео от имени пользователя (`POST /v1/videos`, резервирует и списывает баланс).
            videos:read: Узнавать статус и скачивать видео пользователя (`GET /v1/videos/{id}`, `GET /v1/videos/{id}/content`).
            offline_access: Выдать refresh-токен, чтобы подключение жило 90 дней без повторного входа.