Coviu Sessions API

The Sessions API from Coviu — 3 operation(s) for sessions.

Operations 6

POST /v1/sessions Create a Session #
GET /v1/sessions List Sessions #
GET /v1/sessions/{session_id} Get a Session #
PUT /v1/sessions/{session_id} Update a Session #
DELETE /v1/sessions/{session_id} Cancel a Session #
GET /v1/sessions/{session_id}/summary Get Session Summary #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coviu-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coviu-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coviu REST Sessions API
  version: '1.0'
servers:
- url: https://api.coviu.com
tags:
- name: Sessions
paths:
  /v1/sessions:
    post:
      tags:
      - Sessions
      summary: Create a Session
      operationId: createSession
      description: "There are some further options you are able to pass through a \"feature_flags\" field when creating a session. These allow some customisation of the interface\n\n## Custom features for Sessions\n\nCustom feature can be added while creating a Session and it can be done by passing values into the feature_flags array.\n\n**Example Feature Flags option** \n\n```text\nfeature_flags: [\n\n    '-plugin;coviu-waiting-room-plugin',\n\n    '-plugin;coviu-stripe-payments-resource-plugin',\n\n    'customisation;disable-menu',\n\n    'customisation;exit-url;https://your-exit-url',\n\n    'customisation;return-url;https://your-return-url',\n\n    'customisation;return-label;Your return label',\n\n    'customisation;auto-return',\n\n    'session;enforce-participant-uniqueness',\n\n    'customisation;favicon-url;https://yourdomain.com/favicon.ico'\n]\n```\n\n**What do they do?** \n\n| Feature Flag                                                   | What it does ?                                                                                                                                                               |\n| :------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| \\-plugin                                                       | Removes standard Coviu plugins from the session room                                                                                                                         |\n| customisation;disable-menu                                     | Removes the menu from the session room                                                                                                                                       |\n| customisation;exit-url                                         | Add a specific URL to wherever you would like to redirect to if the user exits the call interface using the \"Exit call interface\" button prior to other participants joining |\n| customisation;return-url                                       | Add a specific URL to wherever you would like to redirect to after the call has completed from the exit screen                                                               |\n| customisation;return-label                                     | To label the button that does the return URL navigation.                                                                                                                     |\n| customisation;auto-return                                      | Automatically redirect to the return-url after hitting the \"end call\" button                                                                                                 |\n| session;enforce-participant-uniqueness                         | Allow for the unique use of the participant's URL - it can't be re-used after first entry                                                                                    |\n| customisation;favicon-url;<https://yourdomain.com/favicon.ico> | Allow for the use of your favicon in the call                                                                                                                                |\n| customisation;background-color;{value}                         | Allows for using a custom background colour in the Coviu call window                                                                                                         |\n| customisation;button-primary;{value}                           | Allows for using a custom button colour in the Coviu call window                                                                                                             |\n| customisation;button-secondary;{value}                         | Allows for using a custom colour for the content inside the button in the Coviu call window                                                                                  |\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSession'
      responses:
        '200':
          description: Session created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '400':
          description: '400'
    get:
      tags:
      - Sessions
      summary: List Sessions
      operationId: listSessions
      parameters:
      - name: page
        in: query
        description: Zero based index
        schema:
          type: integer
      - name: page_size
        in: query
        description: Number of entries to return
        schema:
          type: integer
      - name: start_time
        in: query
        description: Include sessions whose start time falls after the given start time
        schema:
          type: string
          format: date-time
      - name: end_time
        in: query
        description: Include sessions whose end time falls before the given end time
        schema:
          type: string
          format: date-time
      - name: order
        in: query
        description: Orders the returned sessions
        schema:
          type: string
          enum:
          - forward
          - reverse
      - name: include_canceled
        in: query
        description: Include sessions that have been cancelled.
        schema:
          type: string
      - name: deleted_participants
        in: query
        description: Include participants that have been removed from the session.
        schema:
          type: string
      - name: state
        in: query
        description: Limit the response to sessions with participants with specific state value.
        schema:
          type: string
      responses:
        '200':
          description: List of sessions
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: array
                    items:
                      $ref: '#/components/schemas/Session'
                  page:
                    type: integer
                  page_size:
                    type: integer
                  more:
                    type: boolean
  /v1/sessions/{session_id}:
    parameters:
    - name: session_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Sessions
      summary: Get a Session
      operationId: getSession
      responses:
        '200':
          description: Session
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
    put:
      tags:
      - Sessions
      summary: Update a Session
      operationId: updateSession
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSession'
      responses:
        '200':
          description: Session updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '400':
          description: '400'
    delete:
      tags:
      - Sessions
      summary: Cancel a Session
      operationId: cancelSession
      responses:
        '200':
          description: Cancelled
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
  /v1/sessions/{session_id}/summary:
    parameters:
    - name: session_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Sessions
      summary: Get Session Summary
      operationId: getSessionSummary
      description: 'Here is some further information on the timestamps provided in the response:


        - Start time - Scheduled start time for the session

        - End time - Scheduled end time for the session

        - Actual start time - Creation time of the call, typically when host has joined

        - Actual end time - Call recorded as complete, last participant has left

        - Participant entry time - Earliest recorded entry time for the participant, does not include time in Waiting Room

        - Participant exit time - Latest recorded exit time for the participant.

        '
      responses:
        '200':
          description: Session Summary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionSummary'
components:
  schemas:
    UpdateSession:
      type: object
      properties:
        session_name:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        actual_end_time:
          type: string
          format: date-time
        picture:
          type: string
    Participant:
      type: object
      required:
      - client_id
      - display_name
      - participant_id
      - role
      - session_id
      - created
      properties:
        client_id:
          type: string
          format: uuid
        display_name:
          type: string
          format: uuid
        entry_url:
          type: string
          format: uuid
        participant_id:
          type: string
          format: uuid
        picture:
          type: string
          format: uuid
        role:
          $ref: '#/components/schemas/Role'
        session_id:
          type: string
          format: uuid
        state:
          type: string
        user_hint:
          type: string
        deleted_at:
          type: string
          format: date-time
        coviu_user_id:
          type: string
          format: uuid
        phone:
          type: string
    Role:
      type: string
      enum:
      - GUEST
      - HOST
      - PARTICIPANT
    Session:
      type: object
      required:
      - session_id
      - participants
      properties:
        session_id:
          type: string
          format: uuid
        session_name:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        actual_end_time:
          type: string
          format: date-time
        picture:
          type: string
        team_id:
          type: string
          format: uuid
        client_id:
          type: string
          format: uuid
        participants:
          type: array
          items:
            $ref: '#/components/schemas/Participant'
    SessionSummary:
      type: object
      properties:
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        actual_end_time:
          type: string
          format: date-time
        participants:
          type: array
          items:
            $ref: '#/components/schemas/ParticipantSummary'
    CreateSession:
      type: object
      required:
      - session_name
      - start_time
      - end_time
      properties:
        session_name:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        actual_end_time:
          type: string
          format: date-time
        picture:
          type: string
        participants:
          type: array
          items:
            $ref: '#/components/schemas/Participant'
    ParticipantSummary:
      type: object
      properties:
        participant_id:
          type: string
          format: uuid
        role:
          $ref: '#/components/schemas/Role'
        entry_time:
          type: string
          format: date-time
        exit_time:
          type: object
          properties:
            left_at:
              type: string
              format: date-time
            left_reason:
              type: string
        bandwidth:
          type: object
          properties:
            min_sent_bandwidth:
              type: number
            max_sent_bandwidth:
              type: number
            avg_sent_bandwidth:
              type: number
            min_receive_bandwidth:
              type: number
            max_receive_bandwidth:
              type: number
            avg_receive_bandwidth:
              type: number
  securitySchemes:
    Basic:
      type: http
      scheme: basic
      description: Used to request an access token. Supply the Client ID and Client Secret as the username and password.
    ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /v1/auth/token
          scopes: {}