Link Search Menu Expand Document

Prevail API: Schedule Sessions

Schedule Sessions (Self-Service)

POST https://prevail.ai/api/v1/session_requests

Creates a new scheduled Session. Your Organization must have Self-Service enabled to use this request to directly schedule Sessions. For Organizations without Self-Service, post a Session request. All participants listed in the invites array receive email notifications containing Session information, and instructions to join the Session.

For Zoom Meeting backend provider Sessions, all Session information is contained in the provider_specific_details response field object, including the meeting_id, password, prevail_join_url, and provider_join_url to access the Session.

Specify a Session Host

To assign a Host to a Session, include their email address in the invites array within the session_requests object, and set the access_level to host. The email address of the assigned Host must match the email address of a registered Prevail Member. If the email is not associated with a registered Member, the participant is automatically assigned the participant role and will not have Host permissions for the Session.

The participant role is assigned by default to each email, unless the access_level parameter is explicitly set to host.

Example Request Specifying host

{
    "headers": {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    "session_request": {
        "invites": [
            {
                "email": "azurite@example.com",
                "access_level": "host"
            },
            {
                "email": "selenite@example.com",
                "access_level": "host"
            },            
            {
                "email": "quartz@example.com"
            },
            {
                "email": "obsidian@example.com"
            },
            {
                "email": "amethyst@example.com"
            }                                    
        ],
        "deponent": {
            "name": "Malachite Yarrow",
            "email": "malachite@example.com",
            "role": "deponent"
        },
        "remote_session": {
            "title": "Example Remote Session",
            "case": "123-case-id-name",
            "start_date": "2025-01-28",
            "start_time": "01:30 AM",
            "time_zone": "Pacific Time (US & Canada)",
            "estimated_duration": 1.25
        },
        "session_details": {
            "languages": "",
            "interpreter": "",
            "additional_details": "",
            "preferred_manager": "Azurite Oleander",
            "video_provider": "",
            "session_type": "remote_deposition"
        }
    }
}
        

Specify the Session URL path (remote_session_id)

The remote_session_id request parameter allows you to define a unique identifier for the Session URL. If provided, the remote_session_id must be unique across all scheduled Sessions; otherwise an error is returned. Any spaces in the remote_session_id are converted into dashes, and all capital letters are converted to lowercase. If omitted, the title parameter is automatically formatted into the remote_session_id for the Session. For a complete reference on URL formatting rules, see RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax.

Once a Session is scheduled, the remote_session_id cannot be changed. To use a different remote_session_id, cancel the Session and schedule a new Session using the desired remote_session_id.

Example Request Specifying remote_session_id

{
    "headers": {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    "session_request": {
        "invites": ["quartz@example.com", "obsidian@example.com"],
        "deponent": {
            "name": "Malachite Yarrow",
            "email": "malachite@example.com",
            "role": "deponent"
        },
        "remote_session": {
            "title": "Example Remote Session",
            "remote_session_id": "Custom Unique Session URL",
            "case": "123-case-id-name",
            "start_date": "2025-01-30",
            "start_time": "01:30 AM",
            "time_zone": "Pacific Time (US & Canada)",
            "estimated_duration": 1.25
        },
        "session_details": {
            "additional_details": "",
            "preferred_manager": "Quartz Verbena",
            "video_provider": "zoom_meeting",
            "session_type": "remote_deposition"
        }
    }
}
        

Request Body Parameters

View Parameters
session_request object required
The details of the Session, including participant emails, Session information, and additional settings.
invites array optional
A list of participant email addresses for the Session, including both participants and Hosts. Any email added to the invites array without an access_level will be included as a regular participant and will not have Host permissions. To designate a Host, you must include the access_level parameter set to host. If a Host is specified, the email must belong to a registered Prevail Member; otherwise, they will be added as a regular participant without Host permissions. For example: [{ "email": "azurite@example.com", "access_level": "host" }, { "email": "quartz@example.com" }, { "email": "obsidian@example.com" }, { "email": "amethyst@example.com" }].
email string optional
The email address of the Session participant. If access_level is not specified, the participant will be included as a regular participant without Host permissions. To assign Host permissions, the access_level parameter must be set to host. A participant assigned Host must have an email address associated with a registered Prevail Member account. Otherwise, they will be included as a regular participant without Host permissions.
access_level string optional
The role of the Session participant associated with the email. Use this parameter to assign Host permissions to the participant. If omitted, the participant will be included as a regular participant without Host permissions. Accepted values: host. For example: [{ "email": "azurite@example.com", "access_level": "host" }].
deponent object optional
Information about the deponent or witness participant, including their name, email, and role.
name string optional
The name of the deponent or witness participant. For example: Malachite Yarrow.
email string optional
The email address of the deponent or witness participant. For example: malachite@example.com.
role string optional
The role of the deponent or witness participant in the Session. Valid options are deponent and witness.
remote_session object required
Details about the remote Session, including the title, case identifier, and scheduled time.
title string required
remote_session_id string optional
case string required
The case identifier for the Session. For example: 123-case-id-name.
start_date string required
The date the Session is scheduled to start, formatted as YYYY-MM-DD. For example: 2025-01-28.
start_time string required
The time the Session is scheduled to start, formatted in 12-hour clock as hh:mm AM/PM. For example: 01:30 AM.
time_zone string required
The time zone of the Session. Accepts valid time zones formatted with GMT offsets and region descriptions. The most commonly used values are: Eastern Time (US & Canada), Central Time (US & Canada), Mountain Time (US & Canada), Pacific Time (US & Canada), Alaska, Hawaii. For a comprehensive list of all time zones, refer to the IANA Time Zone Database.
estimated_duration number optional
The updated estimated duration of the Session in hours. Accepts decimal values. For example: 2.5 for 2 hours and 30 minutes. If omitted, the default value is 4.0.
session_details object optional
Additional details about the Session, including languages spoken or understood during the Session. For example: English, German.
languages array optional
A list of languages spoken or understood during the Session. Include English and one or more languages from the interpreter parameter if the Session requires a language interpreter. If omitted, the default value is English.
interpreter string optional
The language interpreter required for the Session. Supported values include: Afrikaans, Arabic, Gulf, Arabic, Modern Standard, Chinese, Mandarin (Mainland China), Chinese, Mandarin (Taiwan), Danish, Dutch, English, Australian, English, British, English, Indian, English, Irish, English, New Zealand, English, Scottish, English, South African, English, US, English, Welsh, French, French, Canadian, Farsi, German, German, Swiss, Hebrew, Hindi, Indian, Indonesian, Italian, Japanese, Korean, Malay, Portuguese, Portuguese, Brazilian, Russian, Spanish, Spanish, US, Tamil, Telugu, Thai, Turkish, Other.
additional_details string optional
Additional information or comments about the Session.
preferred_manager string optional
The name of the preferred manager for the Session. For example: "Quartz Verbena".
video_provider string optional
The Session backend provider. Accepted values: chime, agora, zoom_meeting. If omitted, the default value is chime.
session_type string optional
The Session type. Accepted values: remote_deposition, remote_call, webinar. If omitted, the default value is remote_deposition.

Authorization

Bearer Token {{jwt_signed}}

Used to authenticate the request. Replace with your access token.

Headers

Content-Type application/json

Specifies the format of the request body.

Accept application/json

Specifies the format of the response body.

Example Request

{
    "headers": {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    "session_request": {
        "invites": ["quartz@example.com", "obsidian@example.com"],
        "deponent": {
            "name": "Malachite Yarrow",
            "email": "malachite@example.com",
            "role": "deponent"
        },
        "remote_session": {
            "title": "Example Remote Session",
            "case": "123-case-id-name",
            "start_date": "2025-01-28",
            "start_time": "01:30 AM",
            "time_zone": "Pacific Time (US & Canada)"
        },
        "session_details": {
            "additional_details": "",
            "preferred_manager": "Quartz Verbena",
            "video_provider": "zoom_meeting",
            "session_type": "remote_deposition"
        }
    }
}
        
Example Response

{
    "requests": [
        {
            "id": 11760,
            "session_state": "scheduled",
            "session_url": "https://staging.prevail.ai/sessions/example-remote-session-id",
            "remote_session_id": "example-remote-session-id",
            "session_request": {
                "session_type": "remote_deposition",
                "deponent": {
                    "name": "Malachite Yarrow",
                    "email": "malachite@example.com",
                    "role": "deponent"
                },
                "invites": [
                    {
                        "email": "quartz@example.com"
                    },
                    {
                        "email": "obsidian@example.com"
                    },
                    {
                        "email": "malachite@example.com"
                    }                    
                ]
            },
            "remote_session": {
                "title": "Example Remote Session",
                "case": "123-case-id-name",
                "start_date": "2025-01-28",
                "start_time": "01:30 AM",
                "time_zone": "Pacific Time (US & Canada)"
                "estimated_duration": 1.25
            },
            "session_details": {
                "language": "en-US",
                "preferred_manager": "Quartz Verbena",
                "video_provider": "zoom_meeting",
                "session_type": "remote_deposition"
            },
            "notice": null,
            "cancelation_requested": null,
            "provider_specific_details": {
                "meeting_id": 95317175962,
                "password": "awt4zzi7jv",
                "provider_join_url": "https://zoom.us/j/95317175962?pwd=E0Vmti19iYagOKzfZH08qJNKxlb5SG.1",
                "prevail_join_url": "https://staging.prevail.ai/sessions/example-remote-session/zoom_meeting"
            }
        }
    ]
}
        

Response Fields

View Response Fields
requests array
A list of Session requests, including details about each Session, its state, associated URLs, and other metadata.
id integer
A unique identifier for the Session. For example: 11749.
session_state string
The current state of the Session is scheduled for Self-Service Sessions.
session_url string
The URL to access the Session. For example: https://staging.prevail.ai/sessions/example-remote-session.
remote_session_id string
A unique identifier for the remote Session. For example: example-remote-session-id. Use this identifier to cancel or edit the Session.
provider_specific_details object
The joining details specific to the selected video_provider when a provider other than the default chime is used. It includes the meeting ID, password, and URLs for participants to join the Session. The prevail_join_url is provided for users who wish to join the Session from Prevail instead of the video provider's platform.
meeting_id integer
The unique meeting ID for the Session, specific to the selected video_provider. For example: 92583913564.
password string
The password required to join the meeting through the selected video_provider. For example: 4c5siwtlvu.
provider_join_url string
The URL for participants to join the meeting directly through the selected video_provider. For example: https://zoom.us/j/92583913564?pwd=WJbdajUm3NnDjNDbDvkgMagY61FWfy.1.
prevail_join_url string
The URL for participants to join the meeting through the Prevail Sessions application, instead of the selected video_provider. For example: https://prevail.ai/sessions/example-remote-session/zoom_meeting.
Provider Specific Details for Zoom Backend Provider Sessions
Response Field Description
meeting_id The unique Zoom Meeting ID for the Session.
password The Zoom Meeting password required to join the meeting from the provider_join_url.
prevail_join_url The URL to join from the Prevail Sessions application.
provider_join_url The URL to join from the Zoom desktop or mobile application.

Copyright ©2025 Prevail Legal

Last modified: April 03, 2025