# Using query parameters

{% hint style="info" %}
You can use the `msopen` query parameter on any page the widget is installed on.\
\
Path sections starting with `:` are placeholders, values need to be substituted in in their place. Placeholders, ending with `?` are optional and can be omitted\
\
I.e., given a domain of \```https://example.com`, a`` content id of \`abc123\` and a path of\
`/content/:contentId/:viewingPreference?`\
\
`the following URLs can be generated:`\
`- https://example.com?msopen=/content/abc123`\
`- https://example.com?msopen=/content/abc123/popup`
{% endhint %}

### Recognized paths

<table data-full-width="true"><thead><tr><th width="148.33333333333331">Target</th><th>path</th><th>If logged in</th><th>If not logged in</th></tr></thead><tbody><tr><td>Log in</td><td>/member/sign_in</td><td>Will take to the <code>member menu</code> or if not enabled, the <code>account screen</code></td><td>Show login screen</td></tr><tr><td>Log out</td><td>/member/sign_out</td><td>Log user out</td><td>-</td></tr><tr><td>Register user</td><td>/member/sign_up/:planPublicId?</td><td>Will take to the <code>member menu</code> or if not enabled, the <code>account screen</code>. Will take the</td><td>Will register the user and offer to sign up to a plan.<br>- If no plan specified, the <code>after registration action</code> will be executed.</td></tr><tr><td>Sign user up to a plan</td><td>/member/plans/:planPublicId?</td><td>Will offer to sign up to a plan.<br>- If no plan specified, the <code>after registration action</code> will be executed.<br>- If user is already on specified plan, will navigate browser to the content URL of the plan.</td><td>Register user first</td></tr><tr><td>All plans sign up</td><td>/member/plans/all</td><td>Will offer to sign up to any public plan</td><td>Register user first</td></tr><tr><td>Account</td><td>/member/account</td><td>Display account screen</td><td>Log user in first</td></tr><tr><td>Account edit</td><td>/member/account/edit</td><td>Display account edit screen</td><td>Log user in first</td></tr><tr><td>Email change</td><td>/member/account/email_change</td><td>Display email change screen</td><td>Log user in first</td></tr><tr><td>Password change</td><td>/member/account/password_change</td><td>Display password change screen</td><td>Log user in first</td></tr><tr><td>Invoices</td><td>/member/invoices</td><td>Display invoice list screen</td><td>Log user in first</td></tr><tr><td>Payment method change</td><td>/member/payment_method/update</td><td>Display payment method change screen</td><td>Log user in first</td></tr><tr><td>Membership list</td><td>/member/memberships</td><td>Display membership list screen</td><td>Log user in first</td></tr><tr><td>Protected content</td><td>/content/:contentId/:viewingPreference?</td><td>Display protected content.<br><code>viewingPreference</code> can be <code>download</code> (default), or <code>popup</code>. Some content types only support a specific `viewingPreference`</td><td>Log user in first</td></tr></tbody></table>
