Query parameters

Overview

Query parameters configure a meeting room directly from its URL. They let you control an embedded meeting room without writing any code, which is especially useful when you place the room in an iFrame in your own application.

Append them to a meeting URL:

https://<DOMAIN-NAME>/meeting/<MEETING-ID>?participantName=Test%20User&meetingPassword=1234

Values must be URL-encoded. Otherwise, a name containing a space, an email address, or anything with & or = in it breaks the rest of the URL.

Boolean parameters take the literal strings true and false.

Using this page with an AI assistant

If you are using an AI coding assistant, copy the text below into it and add a sentence describing what you want to build. AI assistants accessing this page receive a separate, token-optimized version of our full developer documentation, specifically tailored by our engineers for AI coding assistants.

Before writing any code, read this page:
https://www.veeting.com/en/developer-documentation/query-parameters

It documents the URL query parameters of a Veeting Rooms meeting room.
Keep these five rules in mind:

1. URL encode every value. Names and email addresses usually contain
   characters that need it.
2. Booleans are the literal strings "true" and "false". Not 1 or yes.
3. Parameter names are identifiers. Never translate them, whatever
   language the surrounding page is in.
4. The platform strips tokens and personal data out of the URL, so do
   not read them back from window.location later. Keep them in the
   application instead.
5. Only use parameters that appear on that page. Do not invent one and
   do not use one you found by reading our JavaScript bundle.

What I want to build:

Two things to know before you start

The platform removes some parameters from the URL. Anything that carries a token or personal data is stripped, either immediately or before the browser navigates. That is deliberate: those values then do not persist in browser history, in a bookmark, or in a Referer header. The lists are at the end of this page, and they matter if you expect to read a parameter back out of the address bar later.

Not every parameter the platform accepts is listed here. The others are internal, serve support tooling, or carry meeting access tokens that we do not describe publicly. If you need one that is not documented, ask us rather than relying on one you found by reading the bundle: an undocumented parameter carries no compatibility promise.

Participant details

These parameters pre-fill the "Join Meeting" screen so the participant does not have to type the values.

ParameterPossible valuesDefaultDescription
cultureLanguage or locale codethe browser's languageThe interface language. Use either a bare language code, such as de, or a locale, such as de-CH or es-LA. A bare code resolves to your instance's regional variant, so de becomes de-CH. The setting applies only if your instance offers that language. If it does not, the room uses the participant's browser language; if the instance offers none of those languages, it uses its own default language. Supplying culture also overrides a language the participant chose on an earlier visit.
participantNameAny stringemptyThe participant's name. Required if skipJoinMeetingScreen is true.
participantEmailAny email addressemptyThe participant's email address.
meetingPasswordAny stringemptyThe meeting password.
registerEmailAny email addressemptyOnly relevant if "Free Trial Registration" is enabled. Pre-fills the email field of the trial registration form.
registerFromAny stringemptyOnly relevant if "Free Trial Registration" is enabled. Adds a "from" field to the notification sent to the system administrator, which helps you track the source.

Access and authentication

ParameterPossible valuesDefaultDescription
moderatorTokenValid moderator tokenemptyGives the participant moderator rights in the meeting.
jwtTokenAny JWT tokenemptyA user's authentication token. Useful when authentication happens in a third-party tool.
meetingAccessTokenValid access tokenemptyThe access token for a specific meeting. Required if an external meeting authorization service is configured.
meetingAccessHashValid access hashemptyCarries the meeting password so the participant does not have to type it. This is what Veeting puts in the links it emails out.

Note: These values are credentials. Generate them per participant and keep them out of shared links. See "Parameters the platform removes" below: the platform strips most of them from the URL for exactly that reason.

The "Join Meeting" screen

ParameterPossible valuesDefaultDescription
skipJoinMeetingScreentrue, falsefalseSkips the "Join Meeting" screen entirely.
IMPORTANT: You must also supply participantName; otherwise the participant has no name.
skipDeviceTestOnJointrue, falsefalseSets the default value of the "Device Test" option. The participant can still change it.
hideDeviceTestSectiontrue, falsefalseHides the "Device Test" section. Hiding the section does not change what the option would have done.
hideJoinModeSectiontrue, falsefalseHides the "Join Mode" section. Combine it with joinType to choose the mode for the participant.
hideConsentSectiontrue, falsefalseHides the consent checkbox.
IMPORTANT: You remain responsible for obtaining consent by other means.
hideLegalAndComplianceSectiontrue, falsefalseHides the legal and compliance section, which contains the imprint and privacy links.
disableNameInputtrue, falsefalseDisables the participant name input field.
disableEmailInputtrue, falsefalseDisables the participant email input field.
disablePasswordInputtrue, falsefalseDisables the meeting password input field.

Layout and media

ParameterPossible valuesDefaultDescription
meetingRoomLayoutstandard, video-only, collaboration-onlystandardControls whether video, the collaboration tools, or both are shown.
joinTypeaudio-only, audio-video, video-only, no-mediaaudio-videoPre-selects the join mode. Useful together with hideJoinModeSection.
mediaDirectionreceiveonly, sendonlyemptyRestricts the direction media flows. Omit it to both send and receive, which is the default. Any other value is ignored.
cameraDirectionuser, environmentemptyThe default camera on mobile phones. user selects the front-facing camera, environment the rear one.
videoResolution1280x960, 1280x720, 960x720, 960x540, 640x480, 640x360, 320x240, 320x180account defaultThe outgoing video resolution.
disableIncomingVideotrue, falsefalseJoins without receiving video from other participants. Useful on constrained connections.
hideCollaborationHeadertrue, falsefalseHides the header above the collaboration area, giving an embedded room more usable height.
enableDarkModetrue, falsefalseRenders the meeting room in dark mode.

Devices

ParameterPossible valuesDefaultDescription
videoInputDeviceIdstringemptyThe camera device ID to use, if available.
audioInputDeviceIdstringemptyThe microphone device ID to use, if available.
audioOutputDeviceIdstringemptyThe speaker device ID to use, if available.

In the meeting

ParameterPossible valuesDefaultDescription
enableFollowMetrue, falsefalseEnables the "Follow Me" feature. It works only if the participant is the organizer or a moderator.
leaveUrlAny URLemptyOverrides where the "Leave Meeting" button sends the participant.

Embedding, testing, and support

ParameterPossible valuesDefaultDescription
localStoragePrefixAny stringemptyPrefixes the keys Veeting writes to localStorage. Set it if you embed more than one Veeting application on the same origin, so that their stored state does not collide.
testWithoutRenderingMediatrue, falsefalseFor testing only: sends and receives streams without rendering audio and video.
enableDebugLogstrue, falsefalseTurns on verbose logging in the browser console. Useful when we are helping you diagnose something.

Parameters the platform removes

The platform takes two sets of parameters out of the URL. Neither is a bug, but both will surprise you if you expect to read a value back from window.location later.

Removed immediately, always. These never remain in the address bar:

meetingAccessToken
meetingAccessRequestToken
meetingChallengeCode

Removed before the browser navigates. The platform reads these first and then clears them, so they do not end up in history, in a bookmark, or in a Referer header sent to a third party:

skipJoinMeetingScreen   jwtToken          moderatorToken
invisibleToken          interpreterToken  authenticationSkipToken
participantName         participantUuid   participantEmail

If you need a value after joining, keep it in your own application rather than reading it back from the URL.

Common mistakes

  • Forgetting to URL-encode a value. A space in participantName is the most common case.
  • Setting skipJoinMeetingScreen=true without participantName, which leaves the participant unnamed.
  • Hiding the consent section and assuming consent has been handled.
  • Expecting moderatorToken or participantName to still be in the URL after the meeting room has loaded.
  • Sending 1 or yes for a boolean. Only true and false are recognized.
  • Translating a parameter name. Parameter names are identifiers and are always in English.
  • Using an undocumented parameter found by reading the bundle. Undocumented parameters carry no compatibility promise.

Not sure how to best implement your project?

Contact our team to discuss the details.