Геймдев Таверна Profile API

The Profile API from Геймдев Таверна — 1 operation(s) for profile.

GitHub OpenAPI

Operations 2

GET /profile/card Карточка #
POST /profile/card Править карточку #

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/entri-games:entri-games-profile-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

entri-games-profile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entri Games Profile API
  version: '1'
  x-api-revision: '2026-10-01'
  description: 'Operations tagged Profile 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: Profile
paths:
  /profile/card:
    get:
      operationId: profile.card.get
      summary: Карточка
      description: Read the human's card, «О себе» story and public page. Facts have ids or refs for edit_profile_card; hidden_facts are not used for matching.
      security:
      - agentBearer:
        - profile:read
      x-scope: profile:read
      x-idempotent: true
      x-cost-class: read
      parameters: []
      responses:
        '200':
          description: Envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
      tags:
      - Profile
    post:
      operationId: profile.card.save
      summary: Править карточку
      description: 'Edit card facts, the «О себе» story (about), company or role; publish or take down the public page. Others see it: only use facts the human may share.'
      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
              additionalProperties: true
              properties:
                add:
                  type: array
                  maxItems: 10
                  items:
                    type: object
                  description: '[{fact_type, label}]: need, capability, visitor_pain, proof, topic, constraint…'
                edit:
                  type: array
                  maxItems: 10
                  items:
                    type: object
                  description: '[{id, label}]: correct a fact by id; a card value: add the new text + remove its ref'
                remove:
                  type: array
                  maxItems: 10
                  items:
                    type:
                    - integer
                    - string
                  description: '[id|ref]: delete facts by id, card values by ref: off the card, matching, memory'
                about:
                  type: string
                  maxLength: 4000
                  description: What to change in the «О себе» story, in plain words; the Tavern AI rewrites it
                open:
                  type: array
                  maxItems: 10
                  items:
                    type: integer
                  description: '[id] from interview.understood.only_you with can_open: request; they open it on the site'
                check:
                  type: object
                  properties:
                    import_id:
                      type: string
                      maxLength: 80
                    keep:
                      type: array
                      maxItems: 100
                      items:
                        type: string
                        maxLength: 80
                  description: '{import_id, keep:[id]} from interview.understood.check: keep goes in, the rest is declined'
                confirm:
                  type: string
                  maxLength: 40
                  description: details.confirm of the first call's answer; only after their yes to these items
                company:
                  type: string
                  maxLength: 60
                  description: Company or studio in the person's words, ≤60 chars; kept as said
                role:
                  type: string
                  maxLength: 40
                  description: The person's role in their words (e.g. «продюсер»), ≤40 chars; kept as said
                page:
                  type: object
                  properties:
                    publish:
                      type: boolean
                    index:
                      type: boolean
                    refresh:
                      type: boolean
                    address:
                      type: string
                      maxLength: 80
                  description: 'Public page: publish/index true|false, refresh = rebuild, address = /people/<name>'
      tags:
      - Profile
    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