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

# Get Scenario

> Fetch a scenario's nodes_json, LLM model, and hosted links (owner only).

Fetch a scenario you own, including `nodes_json`, `llm_model`, and serialized hosted links.


## OpenAPI

````yaml openapi/akapulu.json GET /scenarios/{config_id}
openapi: 3.1.0
info:
  title: Akapulu Labs API
  version: 1.0.0
  description: Public Akapulu Labs API reference.
servers:
  - url: https://akapulu.com/api
security:
  - bearerAuth: []
paths:
  /scenarios/{config_id}:
    get:
      tags:
        - Scenarios
      summary: Get scenario
      description: Fetch a scenario's nodes_json, LLM model, and hosted links (owner only).
      parameters:
        - name: config_id
          in: path
          required: true
          description: Scenario ID.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Scenario fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScenarioDetailResponse'
        '400':
          description: Invalid request payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              examples:
                default:
                  value:
                    error: config_id is required
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              examples:
                invalid_key:
                  value:
                    error: Invalid API key
        '404':
          description: Scenario not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              examples:
                default:
                  value:
                    error: ConversationConfig not found
components:
  schemas:
    ScenarioDetailResponse:
      type: object
      required:
        - id
        - name
        - nodes_json
        - llm_model
        - hosted_links
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        nodes_json:
          $ref: '#/components/schemas/NodesJson'
        llm_model:
          $ref: '#/components/schemas/LlmModel'
        hosted_links:
          type: array
          items:
            $ref: '#/components/schemas/HostedLink'
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message.
    NodesJson:
      type: object
      description: Scenario flow JSON. See the Using JSON guide for the full contract.
      additionalProperties: true
      properties:
        initial_node:
          type: string
        role_instruction:
          type: string
        nodes:
          type: object
          additionalProperties: true
    LlmModel:
      type: string
      description: >-
        OpenAI chat model for this scenario. Defaults to gpt-4.1-mini. Full-size
        models require a paid plan.
      enum:
        - gpt-4.1-nano
        - gpt-4.1-mini
        - gpt-4.1
        - gpt-5.4-nano
        - gpt-5.4-mini
        - gpt-5.4
    HostedLink:
      type: object
      required:
        - id
        - token
        - url
        - label
        - scenario_id
        - avatar_id
        - runtime_vars
        - stt_keywords
        - record_conversation
        - redirect_url
        - created_at
      properties:
        id:
          type: string
          format: uuid
        token:
          type: string
        url:
          type: string
          description: >-
            Public hosted-link URL, for example
            https://live.akapulu.com/session/<token>.
        label:
          type: string
        scenario_id:
          type: string
          format: uuid
        avatar_id:
          type: string
          format: uuid
        runtime_vars:
          type: object
          additionalProperties: true
        stt_keywords:
          type: array
          items:
            type: string
        record_conversation:
          type: boolean
        redirect_url:
          type: string
        created_at:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````