> ## Documentation Index
> Fetch the complete documentation index at: https://docs.npcbuilder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener detalles del personaje

> Recupera los detalles públicos de un personaje. Se omiten campos internos como conocimiento, relaciones, filtros, memoria y modelo.




## OpenAPI

````yaml /es/api-reference/openapi.yaml get /context/characters/{game_id}/{world_id}/{character_id}
openapi: 3.0.3
info:
  title: NPC Builder - API
  description: >
    Esta es la especificación más reciente de la API de NPC Builder que define
    una API integral y lista para producción para NPC Builder. La API se divide
    en tres servicios principales:


    **Servicio de Interacciones**  
      - **Propósito:** Permite conversaciones dinámicas y con conciencia de contexto entre jugadores y personajes NPC.


    **Servicio de Contexto**  
      - **Propósito:** Gestiona entidades del juego para construir y mantener entornos inmersivos.
      - **Incluye:**  
        - **Mundos:** Crear, actualizar y eliminar mundos del juego.
        - **Regiones:** Definir y gestionar regiones dentro de un mundo.
        - **Localizaciones:** Gestionar ubicaciones específicas dentro de las regiones.
        - **Personajes:** Gestionar el ciclo de vida (creación, actualización, eliminación) de personajes NPC.


    **Servicio de Sesiones**  
      - **Propósito:** Gestiona sesiones de jugadores para mantener el contexto del juego y rastrear interacciones.


    En conjunto, esta especificación sirve como una guía detallada para
    aprovechar los servicios de NPC Builder—permitiendo a los desarrolladores
    crear experiencias ricas e interactivas mientras gestionan de forma
    eficiente contextos y entidades del juego.
        _Debes ceñirte a la estructura de datos definida; de lo contrario puedes encontrar errores no controlados_


    **Consulta los esquemas de cada solicitud para encontrar los valores
    permitidos de ciertas propiedades.**


    _Limitaciones técnicas: La actualización y eliminación del conocimiento y
    las relaciones de los personajes no están disponibles a través de la API.
    Deben gestionarse desde el frontend de nuestra aplicación._


    Algunos enlaces útiles:

    - [Nuestro sitio web](https://npcbuilder.com)

    - [La app](https://app.npcbuilder.com)
  termsOfService: https://npcbuilder.com/terms-and-conditions/
  contact:
    email: support@npcbuilder.com
  version: 1.6.0
servers:
  - url: https://app.npcbuilder.com/api
    description: >-
      API de producción para contexto, sesiones y endpoints que no son de
      interacciones
security: []
tags:
  - name: Interactions
    description: >-
      Gestiona las conversaciones de texto de tus NPCs y sus respuestas
      interactivas.
  - name: Characters
    description: >-
      Gestiona personajes de tu juego, incluyendo creación, actualización y
      eliminación.
  - name: Worlds
    description: Crea y gestiona mundos inmersivos para tu juego.
  - name: Regions
    description: Define y gestiona regiones dentro de tus mundos.
  - name: Locations
    description: Gestiona ubicaciones específicas dentro de las regiones de tu juego.
  - name: Sessions
    description: >-
      Crea, recupera y elimina sesiones de jugadores para una mejor gestión del
      juego.
paths:
  /context/characters/{game_id}/{world_id}/{character_id}:
    get:
      tags:
        - Characters
      summary: Obtener detalles del personaje
      description: >
        Recupera los detalles públicos de un personaje. Se omiten campos
        internos como conocimiento, relaciones, filtros, memoria y modelo.
      parameters:
        - name: game_id
          in: path
          required: true
          description: El identificador único del juego.
          schema:
            type: string
            example: game123
        - name: world_id
          in: path
          required: true
          description: El identificador único del mundo.
          schema:
            type: string
            example: world456
        - name: character_id
          in: path
          required: true
          description: El identificador único del personaje.
          schema:
            type: string
            example: character789
        - name: session_id
          in: query
          description: (Opcional) El ID de sesión del jugador.
          required: false
          schema:
            type: string
            example: 60Z5aZjIuFlyYbjbZZKe
      responses:
        '200':
          description: Personaje recuperado correctamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  character_id:
                    type: string
                    description: UID del personaje.
                    example: character789
                  character:
                    $ref: '#/components/schemas/PublicCharacter'
        '400':
          description: >
            Error de validación - Los parámetros de la solicitud no coinciden
            con el esquema requerido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No encontrado - El personaje especificado no existe.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensaje de error para el personaje no encontrado.
                    example: Personaje con ID character789 no encontrado.
        '500':
          description: >
            Error interno del servidor - Ocurrió un error al recuperar el
            personaje.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - npcbuilder_auth: []
components:
  schemas:
    PublicCharacter:
      type: object
      description: >-
        DTO público de personaje. Se omiten campos internos como conocimiento,
        relaciones, filtros, memoria y modelo.
      properties:
        id:
          type: string
          example: character789
        name:
          type: string
          example: Aragorn
        description:
          type: string
          example: Un valiente guerrero con un pasado misterioso.
        age:
          type: string
          example: adult
        gender:
          type: string
          example: Male
        role:
          type: string
          example: protagonist
        tone:
          type: string
          example: mysterious
        traits:
          type: array
          description: >-
            Lista legacy/de rasgos básicos. Para teorías no básicas, usa
            personality_theory y personality_dimensions.
          items:
            type: string
            example: valiente
        personality_theory:
          type: string
          enum:
            - basicTraits
            - bigFive
            - darkTriad
            - dndAlignment
            - mbti
            - enneagram
          example: basicTraits
        personality_dimensions:
          type: object
          additionalProperties:
            type: integer
          example: {}
        speech_pattern:
          type: object
          properties:
            vocabulary_level:
              type: string
              example: moderate
            sentence_length:
              type: string
              example: average
            verbal_quirks:
              type: string
              example: ''
        items:
          type: array
          items:
            type: object
            properties:
              itemName:
                type: string
                example: Sword
              unit:
                type: string
                example: Piece
              value:
                oneOf:
                  - type: string
                  - type: number
                example: 100
              type:
                type: string
                example: trade
              description:
                type: string
                example: Una espada afilada.
        events:
          type: array
          items:
            type: object
            properties:
              eventName:
                type: string
                example: Attack
              type:
                type: string
                example: action
              description:
                type: string
                example: Acto de violencia contra otra persona.
        quests:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
                example: Recuperar el artefacto perdido.
              objective:
                type: string
                example: Encontrar y devolver el artefacto.
              reward:
                type: string
                example: 500 monedas de oro
    ErrorResponse:
      type: object
      description: Esquema estándar de respuesta de error.
      properties:
        message:
          type: string
          description: Mensaje de error detallado.
          example: Ocurrió un error
  securitySchemes:
    npcbuilder_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````