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

# Start session (specific environment)

> Start a new conversation and get a session key for interacting with an agent in a specified environment.

The start session endpoint creates a new conversation session and returns a `sessionKey`. Use this key as your authentication credential when calling the [Interact (stream)](/api-reference/conversation/interact-stream) and [Interact (non-stream)](/api-reference/conversation/interact-non-stream) endpoints. Unlike the legacy interact endpoints, the new interact endpoints use a session key instead of an API key for authentication.


## OpenAPI

````yaml /specs/general-runtime/openapi.public.json post /v4/project/{projectID}/environment/{environmentID}/session
openapi: 3.0.0
info:
  title: General-runtime
  description: Voiceflow runtime service
  version: 1.0.0
  contact: {}
servers:
  - url: https://general-runtime.voiceflow.com
security: []
paths:
  /v4/project/{projectID}/environment/{environmentID}/session:
    post:
      tags:
        - Session
        - Public-Docs
      summary: Start session (specific environment)
      description: >-
        Start a new conversation and get a session key for interacting with an
        agent in a specified environment.
      operationId: V4InteractController_sessionStart
      parameters:
        - name: projectID
          required: true
          in: path
          description: >-
            The ID of the target Voiceflow project. You can find it in the
            settings for your agent.
          schema:
            description: >-
              The ID of the target Voiceflow project. You can find it in the
              settings for your agent.
            type: string
        - name: environmentID
          required: true
          in: path
          description: >-
            The alias of the environment to target (ie. `main`). You can find
            this in the environments page of your agent.
          schema:
            description: >-
              The alias of the environment to target (ie. `main`). You can find
              this in the environments page of your agent.
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                userID:
                  description: >-
                    Unique ID for the user. If a session already exists for this
                    user, the existing session will end and a new session will
                    be created with a new session key.
                  type: string
                  minLength: 1
                  maxLength: 256
              required:
                - userID
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  sessionKey:
                    description: >-
                      A session-scoped authentication key. Pass this as the
                      `authorization` header when calling the interact
                      endpoints.
                    type: string
                required:
                  - sessionKey
      security:
        - auth: []
components:
  securitySchemes:
    auth:
      type: apiKey
      in: header
      name: authorization
      description: Voiceflow API key

````