> ## 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 (with traffic split)

> Start a new conversation and get a session key for interacting with an agent, routing traffic based on its [traffic split](/documentation/deploy/environments/traffic-split).

The start session endpoint creates a new conversation session and returns a sessionKey. Use this key as your authentication credential when calling the [Interact](/api-reference/conversation/interact-stream) and [Interact (non-stream)](/api-reference/conversation/interact-non-stream) endpoints. This start session endpoint respects the [traffic split](/documentation/deploy/environments/traffic-split) setup in your project. If you'd like to send traffic to a specific environment, use [Start session (specific environment)](/api-reference/session/start-session-specific-environment) instead.


## OpenAPI

````yaml /specs/general-runtime/openapi.public.json post /v4/project/{projectID}/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}/session:
    post:
      tags:
        - Session
        - Public-Docs
      summary: Start session (with traffic split)
      description: >-
        Start a new conversation and get a session key for interacting with an
        agent, routing traffic based on its [traffic
        split](/documentation/deploy/environments/traffic-split).
      operationId: V4InteractController_sessionStartTrafficSplit
      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
      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

````