> ## 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.

# Crear una nueva sesión

> Crea una nueva sesión de jugador para un juego específico. Una sesión vincula a un jugador con un contexto de juego y se usa para rastrear interacciones y contexto específico.




## OpenAPI

````yaml /es/api-reference/openapi.yaml post /sessionmanager
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:
  /sessionmanager:
    post:
      tags:
        - Sessions
      summary: Crear una nueva sesión
      description: >
        Crea una nueva sesión de jugador para un juego específico. Una sesión
        vincula a un jugador con un contexto de juego y se usa para rastrear
        interacciones y contexto específico.
      requestBody:
        required: true
        description: Los detalles de la sesión necesarios para crear una nueva sesión.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionRequest'
      responses:
        '200':
          description: Sesión creada correctamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: >-
                      Mensaje de confirmación incluyendo los detalles de la
                      sesión.
                    example: >-
                      Sesión creada para la clave: campaign_nightfall con id:
                      ABC123
                  session_key:
                    type: string
                  session_id:
                    type: string
                  player_id:
                    type: string
                    format: uuidv4
        '400':
          description: >
            Error de validación – La carga útil de la solicitud de sesión no
            cumple el esquema requerido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflicto – La sesión ya existe.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Mensaje que indica que la sesión ya existe.
                    example: >-
                      Sesión ya existente para la clave: campaign_nightfall. Por
                      favor, elimínala antes de crear una nueva.
                  session_id:
                    type: string
        '500':
          description: |
            Error interno del servidor – Ocurrió un error al crear la sesión.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - npcbuilder_auth: []
components:
  schemas:
    SessionRequest:
      type: object
      description: >
        Esquema para crear una nueva sesión. Contiene la clave de sesión, el
        identificador del juego y el identificador del jugador.
      properties:
        session_key:
          type: string
          description: Una clave única para la sesión.
          pattern: ^[a-zA-Z0-9_-]+$
          maxLength: 50
          example: campaign_nightfall
        game_id:
          type: string
          description: El identificador único del juego.
          maxLength: 50
          example: game_12345
        player_id:
          type: string
          description: El identificador único del jugador.
          format: uuidv4
          example: 550e8400-e29b-41d4-a716-446655440000
      required:
        - session_key
        - game_id
        - player_id
    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

````