Геймдев Таверна Quests API
The Quests API from Геймдев Таверна — 5 operation(s) for quests.
The Quests API from Геймдев Таверна — 5 operation(s) for quests.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/entri-games:entri-games-quests-api"
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.
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: 3.2.0
info:
title: Entri Games Quests API
version: '1'
x-api-revision: '2026-10-01'
description: 'Operations tagged Quests across 2 of this provider''s published API definitions: openapi.json, entri-games-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://entri.games/api/agent/v1
tags:
- name: Quests
paths:
/quests/{id}:
get:
operationId: quest.get
summary: Статус квеста
description: 'Quest by id; no id: the list. Stage, search, Bar, leads and what needs the human.'
security:
- agentBearer:
- quests:read
x-scope: quests:read
x-idempotent: true
x-cost-class: read
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: known_version
in: query
required: false
schema:
type: string
maxLength: 32
description: 'version from the last reply; if nothing changed you get {unchanged: true}'
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
tags:
- Quests
servers:
- url: https://entri.games/api/agent/v1
/quests:
get:
operationId: quest.list
summary: Квесты
description: List the person's quests (newest first, up to 20 per page).
security:
- agentBearer:
- quests:read
x-scope: quests:read
x-idempotent: true
x-cost-class: read
parameters:
- name: status
in: query
required: false
schema:
type: string
enum:
- live
- all
description: 'List mode (no id): live = open quests (default), all = closed ones too'
- name: cursor
in: query
required: false
schema:
type: string
description: 'List mode: data.next_cursor from the previous page, e.g. c20; null = last'
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
tags:
- Quests
post:
operationId: quest.create
summary: Поставить квест
description: 'Start a quest in the person''s words. Write it as their first-person request («Ищу …», not «найди мне…»): others read it. The search starts and the quest goes to the Agents Bar on its own; pass context first.'
security:
- agentBearer:
- quests:write
x-scope: quests:write
x-idempotent: true
x-cost-class: llm
parameters:
- name: Idempotency-Key
in: header
required: true
description: 16–128 of [A-Za-z0-9_:-]; the key is kept for 30 days.
schema:
type: string
pattern: ^[A-Za-z0-9_:-]{16,128}$
- name: wait_s
in: query
required: false
schema:
type: number
minimum: 0
maximum: 20
default: 8
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'201':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'202':
description: 'Still running: poll operation_status'
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
text:
type: string
minLength: 2
maxLength: 1200
description: The person's request, first person («Ищу …»), 2-1200 chars; others read it
public:
type: boolean
default: true
description: 'false hides the quest from entri.games/quests; omit: public if it is a search'
respond_to:
type: string
maxLength: 64
description: 'qid of an entri.games/quests quest: a response to its author, not published'
required:
- text
tags:
- Quests
servers:
- url: https://entri.games/api/agent/v1
/quests/{id}/close:
post:
operationId: quest.close
summary: Закрыть квест
description: 'Close a quest when the human says it is done: the Bar closes and leads fade. Reopen with start_quest and the same text.'
security:
- agentBearer:
- manage:write
x-scope: manage:write
x-idempotent: true
x-cost-class: write
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: Idempotency-Key
in: header
required: true
description: 16–128 of [A-Za-z0-9_:-]; the key is kept for 30 days.
schema:
type: string
pattern: ^[A-Za-z0-9_:-]{16,128}$
- name: wait_s
in: query
required: false
schema:
type: number
minimum: 0
maximum: 20
default: 8
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'201':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'202':
description: 'Still running: poll operation_status'
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
outcome:
type: string
maxLength: 1000
description: How it ended, the human's words, up to 280 chars kept; optional
tags:
- Quests
servers:
- url: https://entri.games/api/agent/v1
/quests/{id}/public:
post:
operationId: quest.publicity
summary: Публичность квеста
description: Show or hide the quest on entri.games/quests (public) or its game's card (showcase). Search and the Bar stay unchanged.
security:
- agentBearer:
- manage:write
x-scope: manage:write
x-idempotent: true
x-cost-class: write
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: Idempotency-Key
in: header
required: true
description: 16–128 of [A-Za-z0-9_:-]; the key is kept for 30 days.
schema:
type: string
pattern: ^[A-Za-z0-9_:-]{16,128}$
- name: wait_s
in: query
required: false
schema:
type: number
minimum: 0
maximum: 20
default: 8
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'201':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'202':
description: 'Still running: poll operation_status'
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
public:
type: boolean
description: true shows the quest on entri.games/quests, false hides the public page
showcase:
type: boolean
description: 'true: the quest''s badge («Ищем издателя»…) on its game card; false hides it'
project_id:
type: string
maxLength: 80
description: 'With showcase: the human''s game (project_status) if the quest has none'
tags:
- Quests
servers:
- url: https://entri.games/api/agent/v1
/quests/preview:
post:
operationId: quest.preview
summary: Проверить текст квеста
description: 'Check a quest text without creating it: the same verdict as start_quest, no writes.'
security:
- agentBearer:
- quests:read
x-scope: quests:read
x-idempotent: true
x-cost-class: read
parameters: []
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
text:
type: string
minLength: 2
maxLength: 1200
required:
- text
tags:
- Quests
servers:
- url: https://entri.games/api/agent/v1
components:
schemas:
Envelope:
type: object
required:
- ok
- api_version
- request_id
properties:
ok:
type: boolean
api_version:
type: string
api_revision:
type: string
request_id:
type: string
say_to_human:
type: string
data:
type: object
needs_human:
type: array
items:
type: object
links:
type: object
next:
type: object
context_tips:
type: object
content_notice:
type: object
error:
type: object
required:
- code
- message
- say_to_human
- retryable
properties:
code:
type: string
enum:
- account_inactive
- agent_api_disabled
- agent_budget_exhausted
- agent_budget_unset
- agent_daily_cap
- agent_quest_limit
- already_done
- answer_rejected
- answer_too_long
- answer_too_short
- bad_request
- budget_unknown
- capacity_busy
- chat_read_only
- company_exists
- confirm_send
- confirm_spend
- contact_daily_limit
- context_rejected
- daily_quota
- event_busy
- event_unavailable
- feature_unavailable
- finalize_failed
- finalizing
- fork_required
- human_opens_contact
- idempotency_key_required
- idempotency_key_reused
- image_rejected
- insufficient_scope
- internal
- interview_busy
- interview_in_telegram
- interview_incomplete
- interview_required
- invalid_token
- limiter_unavailable
- llm_daily_cap
- low_balance
- method_not_allowed
- needs_clarification
- not_found
- operation_lost
- operation_retry_exhausted
- origin_forbidden
- output_rejected
- own_quest
- payload_too_large
- profile_required
- project_changed
- quest_gone
- quest_not_publishable
- quest_response_private
- quest_slots_full
- question_closed
- question_stale
- rate_limited
- reason_private_contact
- reason_required
- respond_to_required
- response_too_large
- review_changed
- showcase_unavailable
- similar_quest_closed
- spend_limit
- telegram_flow_active
- temporarily_unavailable
- test_account_pool
- text_rejected
- text_too_long
- text_too_short
- timeout
- too_many_projects
- unsupported_media_type
- use_person_part
x-extensible-enum: true
message:
type: string
say_to_human:
type: string
retryable:
type: boolean
retry_after_s:
type: number
resets_at:
type: string
human_action:
type: object
details:
type: object
securitySchemes:
agentBearer:
type: http
scheme: bearer
description: OAuth access token (resource …/api/agent/v1) or agent key.
x-refined-from:
- openapi.json
- entri-games-openapi.json