---
title: "Create QoD session"
url: "https://developer.pxg.konera.com/apis/quality-on-demandglobal-0/versions/8a754c81-98d0-4120-a470-37db10574c94/operations/createQodSession"
---

> Full API specification: https://developer.pxg.konera.com/apis/quality-on-demandglobal-0/versions/8a754c81-98d0-4120-a470-37db10574c94.md

# Create QoD session

`POST` `/qod/v0.1/sessions`

Operation ID: `createQodSession`

Requests a Quality on Demand session for a subscriber device with specified performance requirements.

## Header parameters

- `x-correlation-id` (string, optional) - Correlation ID for request tracing

## Request body (required)

Content types: `application/json`

## Responses

- `201` - QoD session successfully created
- `400` - Invalid request parameters
- `401` - Unauthorized
- `403` - Forbidden
- `429` - Too Many Requests
- `500` - Internal server error

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Quality on Demand
  version: 0.1.0
servers:
  - url: https://api.pxg.konera.com/camara
    description: Production CAMARA API Gateway
paths:
  /qod/v0.1/sessions:
    post:
      tags:
        - Quality on Demand
      summary: Create QoD session
      description: Requests a Quality on Demand session for a subscriber device with
        specified performance requirements.
      operationId: createQodSession
      parameters:
        - name: x-correlation-id
          in: header
          required: false
          description: Correlation ID for request tracing
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QodSessionRequest"
            example:
              device:
                phoneNumber: "+12065550123"
              duration: 300
              qosProfile:
                maxLatency: 50
                minDownlinkBandwidth: 5000
                minUplinkBandwidth: 1000
      responses:
        "201":
          description: QoD session successfully created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QodSessionResponse"
              example:
                sessionId: qod-session-123456
                status: ACTIVE
                expiresAt: 2026-02-10T18:30:00Z
        "400":
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
security:
  - oauth2:
      - qod:request
components:
  schemas:
    QodSessionRequest:
      type: object
      required:
        - device
        - duration
        - qosProfile
      properties:
        device:
          type: object
          required:
            - phoneNumber
          properties:
            phoneNumber:
              type: string
              pattern: ^\+[1-9][0-9]{4,14}$
              example: "+12065550123"
        duration:
          type: integer
          description: Requested QoD session duration in seconds.
          example: 300
        qosProfile:
          type: object
          required:
            - maxLatency
            - minDownlinkBandwidth
            - minUplinkBandwidth
          properties:
            maxLatency:
              type: integer
              description: Maximum allowed latency in milliseconds.
              example: 50
            minDownlinkBandwidth:
              type: integer
              description: Minimum downlink bandwidth in kbps.
              example: 5000
            minUplinkBandwidth:
              type: integer
              description: Minimum uplink bandwidth in kbps.
              example: 1000
    QodSessionResponse:
      type: object
      required:
        - sessionId
        - status
      properties:
        sessionId:
          type: string
          example: qod-session-123456
        status:
          type: string
          enum:
            - ACTIVE
            - EXPIRED
            - TERMINATED
          example: ACTIVE
        expiresAt:
          type: string
          format: date-time
          example: 2026-02-10T18:30:00Z
    Error:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          type: integer
          example: 400
        code:
          type: string
          example: INVALID_ARGUMENT
        message:
          type: string
          example: Invalid request
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.konera.com/oauth2/token
          scopes:
            qod:request: Request Quality on Demand sessions
```
