Геймдев Таверна Projects API
The Projects API from Геймдев Таверна — 5 operation(s) for projects.
The Projects API from Геймдев Таверна — 5 operation(s) for projects.
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-projects-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 Projects API
version: '1'
x-api-revision: '2026-10-01'
description: 'Operations tagged Projects 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: Projects
paths:
/projects/{id}:
get:
operationId: project.get
summary: Проекты
description: 'Projects by id; no id: the list. A project comes with its snapshot and version; that version is save_project''s base_version.'
security:
- agentBearer:
- profile:read
x-scope: profile:read
x-idempotent: true
x-cost-class: read
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
tags:
- Projects
servers:
- url: https://entri.games/api/agent/v1
/projects:
get:
operationId: project.list
summary: Список проектов
description: 'List the person''s projects (newest first, up to 20 per page): type, version, showcase state, slug and external_ref.'
security:
- agentBearer:
- profile:read
x-scope: profile:read
x-idempotent: true
x-cost-class: read
parameters:
- name: external_ref
in: query
required: false
schema:
type: string
maxLength: 80
description: 'List mode: only the project bound to this external_ref'
- 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:
- Projects
post:
operationId: project.save
summary: Сохранить проект
description: 'Create or update one project (a game, or the human''s company with project_type company) and its showcase card. Pass project_id with base_version from project_status, or your own external_ref: the same project on every sync, no duplicates. Fields you send replace the stored ones; the rest stay.'
security:
- agentBearer:
- context:write
x-scope: context: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
properties:
project_id:
type: string
maxLength: 64
description: Own project to update (from project_status); omit to create or use external_ref
base_version:
type: integer
minimum: 0
description: 'With project_id + project: version from project_status; else project_changed'
external_ref:
type: string
maxLength: 80
description: 'Your stable key, e.g. studio:game-42: the same key is the same project'
project:
type: object
description: Fields to set, the rest kept; project_type company = studio; studio_ref links
card:
type: object
description: 'Showcase card: description, icon_url|icon_base64, showcase {…}, listed true/false'
dry_run:
type: boolean
default: false
description: 'true: validate only, no writes; use a new request_key for the real call'
tags:
- Projects
servers:
- url: https://entri.games/api/agent/v1
/projects/tools:
post:
operationId: tool.save
summary: Сохранить тулзу
description: Save the human's tool, asset or know-how as a card of their own project or studio. dry_run shows the card people will see; publish true puts it in the Tavern catalog at once, as the human asked; journal Undo reverts it.
security:
- agentBearer:
- context:write
x-scope: context:write
x-idempotent: true
x-cost-class: write
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
properties:
project_id:
type: string
maxLength: 64
description: 'Own game or studio id from project_status: the tool''s home'
tool:
type: object
description: title, description, helps_with[], kind solution|asset|knowledge, engine, license
tool_id:
type: integer
minimum: 1
description: 'Saved tool id (connect_status data.digitize) to publish; tool: only its labels'
publish:
type: boolean
default: false
description: 'true: into the Tavern catalog at once, as part of the human''s request; Undo reverts'
confirm:
type: string
maxLength: 40
description: 'Not needed: ignored'
dry_run:
type: boolean
default: false
description: 'true: the card people will see, no writes; new request_key for the real call'
tags:
- Projects
servers:
- url: https://entri.games/api/agent/v1
/projects/coeditors:
post:
operationId: project.coeditor.invite
summary: Позвать соредактора
description: Invite a project co-editor. Give their AI agent the one-time join_project code, valid 7 days; they edit the same cards without duplicates.
security:
- agentBearer:
- context:write
x-scope: context:write
x-idempotent: true
x-cost-class: write
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:
project_ids:
type: array
maxItems: 20
items:
type: string
maxLength: 64
description: 'Own project ids from project_status, up to 20: games and the company card'
username:
type: string
maxLength: 33
description: 'Partner''s Telegram @username: only they can accept. Omit: anyone with the code'
required:
- project_ids
tags:
- Projects
servers:
- url: https://entri.games/api/agent/v1
/projects/join:
post:
operationId: project.coeditor.join
summary: Стать соредактором
description: 'Accept a co-editor invite code from a project owner: the shared projects appear in project_status and save_project edits them.'
security:
- agentBearer:
- context:write
x-scope: context:write
x-idempotent: true
x-cost-class: write
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:
code:
type: string
maxLength: 80
description: Invite code pinv_… that the project owner gave the human
required:
- code
tags:
- Projects
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