> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# hasRole

<div className="kinetica-doxygen">
  <div id="af554b0f325313e5697eff9e87b7439ab" />

  <h2 className="memtitle"><span className="permalink"><a href="#af554b0f325313e5697eff9e87b7439ab">◆ </a></span>hasRole() <span className="overload">\[1/2]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="mlabels">
        <tr>
          <td className="mlabels-left">
            <table className="memname">
              <tr>
                <td className="memname"><a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse">HasRoleResponse</a> kinetica.Kinetica.hasRole </td>
                <td>(</td>
                <td className="paramtype"><a className="el" href="/content/api/cs/classkinetica_1_1HasRoleRequest">HasRoleRequest</a></td>
                <td className="paramname"><span className="paramname"><span className="em">request\_</span></span></td>
                <td>)</td>

                <td />
              </tr>
            </table>
          </td>

          <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Checks if the specified user has the specified role. </p>

      <div className="dl params">
        <div className="dt">Parameters</div>

        <div className="dd">
          <table className="params">
            <tr>
              <td className="paramname">request\_</td>
              <td>Request object containing the parameters for the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd">Response object containing the result of the operation. </div>
      </div>

      <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs#L43734">43734</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs">KineticaFunctions.cs</a>.</p>
    </div>
  </div>

  <div id="a5b45779d45618f5aeed04dcd9867efdd" />

  <h2 className="memtitle"><span className="permalink"><a href="#a5b45779d45618f5aeed04dcd9867efdd">◆ </a></span>hasRole() <span className="overload">\[2/2]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="mlabels">
        <tr>
          <td className="mlabels-left">
            <table className="memname">
              <tr>
                <td className="memname"><a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse">HasRoleResponse</a> kinetica.Kinetica.hasRole </td>
                <td>(</td>
                <td className="paramtype">string</td>
                <td className="paramname"><span className="paramname"><span className="em">principal</span></span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">string</td>
                <td className="paramname"><span className="paramname"><span className="em">role</span></span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">IDictionary\< string, string ></td>
                <td className="paramname"><span className="paramname"><span className="em">options</span></span><span className="paramdefsep"> = </span><span className="paramdefval">null</span> )</td>
              </tr>
            </table>
          </td>

          <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Checks if the specified user has the specified role. </p>

      <div className="dl params">
        <div className="dt">Parameters</div>

        <div className="dd">
          <table className="params">
            <tr>
              <td className="paramname">principal</td>
              <td>Name of the user for which role membership is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.</td>
            </tr>

            <tr>
              <td className="paramname">role</td>
              <td>Name of role to check for membership.</td>
            </tr>

            <tr>
              <td className="paramname">options</td>

              <td>
                Optional parameters.

                <ul>
                  <li>
                    <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#aaf49393232058acb332992d08c5f370a">NO\_ERROR\_IF\_NOT\_EXISTS</a>: If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> will return an error if the provided <span className="em">role</span> does not exist or is blank. If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> then it will return <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleResponse_1_1HasRole#abee5a51e6b7b6c5d0b82780cf34b16fa">FALSE</a> for <a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse#a72a8b4610bb25154763528768950e69e">has\_role</a>. Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> </li>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> </li>
                    </ul>

                    The default value is <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a>.
                  </li>

                  <li>
                    <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#ab04ce0a9022535a8131c289cd200cc95">ONLY\_DIRECT</a>: If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> will search recursively if the <span className="em">principal</span> is a member of <span className="em">role</span> . If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> then <span className="em">principal</span> must directly be a member of <span className="em">role</span> . Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> </li>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> </li>
                    </ul>

                    The default value is <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a>.
                  </li>
                </ul>

                The default value is an empty Dictionary.
              </td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd">Response object containing the result of the operation. </div>
      </div>

      <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs#L43820">43820</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs">KineticaFunctions.cs</a>.</p>
    </div>
  </div>

  <div id="a49ee182f84d5214d1c6cfa3440cfc5a8" />

  <h2 className="memtitle"><span className="permalink"><a href="#a49ee182f84d5214d1c6cfa3440cfc5a8">◆ </a></span>HasRoleAsync() <span className="overload">\[1/2]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="mlabels">
        <tr>
          <td className="mlabels-left">
            <table className="memname">
              <tr>
                <td className="memname">async System.Threading.Tasks.Task\< <a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse">HasRoleResponse</a> > kinetica.Kinetica.HasRoleAsync </td>
                <td>(</td>
                <td className="paramtype"><a className="el" href="/content/api/cs/classkinetica_1_1HasRoleRequest">HasRoleRequest</a></td>
                <td className="paramname"><span className="paramname"><span className="em">request\_</span></span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">System.Threading.CancellationToken</td>
                <td className="paramname"><span className="paramname"><span className="em">cancellationToken</span></span><span className="paramdefsep"> = </span><span className="paramdefval">default</span> )</td>
              </tr>
            </table>
          </td>

          <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Checks if the specified user has the specified role. </p>
      <p>(async)</p>

      <div className="dl params">
        <div className="dt">Parameters</div>

        <div className="dd">
          <table className="params">
            <tr>
              <td className="paramname">request\_</td>
              <td>Request object containing the parameters for the operation.</td>
            </tr>

            <tr>
              <td className="paramname">cancellationToken</td>
              <td>Cancellation token to cancel the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd">Task that returns the response object containing the result of the operation.</div>
      </div>

      <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs#L43750">43750</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs">KineticaFunctions.cs</a>.</p>
    </div>
  </div>

  <div id="ab48e4d1177c6c2ec32b249d5969c3f26" />

  <h2 className="memtitle"><span className="permalink"><a href="#ab48e4d1177c6c2ec32b249d5969c3f26">◆ </a></span>HasRoleAsync() <span className="overload">\[2/2]</span></h2>

  <div className="memitem">
    <div className="memproto">
      <table className="mlabels">
        <tr>
          <td className="mlabels-left">
            <table className="memname">
              <tr>
                <td className="memname">async System.Threading.Tasks.Task\< <a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse">HasRoleResponse</a> > kinetica.Kinetica.HasRoleAsync </td>
                <td>(</td>
                <td className="paramtype">string</td>
                <td className="paramname"><span className="paramname"><span className="em">principal</span></span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">string</td>
                <td className="paramname"><span className="paramname"><span className="em">role</span></span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">IDictionary\< string, string ></td>
                <td className="paramname"><span className="paramname"><span className="em">options</span></span><span className="paramdefsep"> = </span><span className="paramdefval">null</span>, </td>
              </tr>

              <tr>
                <td className="paramkey" />

                <td />

                <td className="paramtype">System.Threading.CancellationToken</td>
                <td className="paramname"><span className="paramname"><span className="em">cancellationToken</span></span><span className="paramdefsep"> = </span><span className="paramdefval">default</span> )</td>
              </tr>
            </table>
          </td>

          <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
        </tr>
      </table>
    </div>

    <div className="memdoc">
      <p>Checks if the specified user has the specified role. </p>
      <p>(async)</p>

      <div className="dl params">
        <div className="dt">Parameters</div>

        <div className="dd">
          <table className="params">
            <tr>
              <td className="paramname">principal</td>
              <td>Name of the user for which role membership is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.</td>
            </tr>

            <tr>
              <td className="paramname">role</td>
              <td>Name of role to check for membership.</td>
            </tr>

            <tr>
              <td className="paramname">options</td>

              <td>
                Optional parameters.

                <ul>
                  <li>
                    <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#aaf49393232058acb332992d08c5f370a">NO\_ERROR\_IF\_NOT\_EXISTS</a>: If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> will return an error if the provided <span className="em">role</span> does not exist or is blank. If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> then it will return <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleResponse_1_1HasRole#abee5a51e6b7b6c5d0b82780cf34b16fa">FALSE</a> for <a className="el" href="/content/api/cs/classkinetica_1_1HasRoleResponse#a72a8b4610bb25154763528768950e69e">has\_role</a>. Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> </li>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> </li>
                    </ul>

                    The default value is <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a>.
                  </li>

                  <li>
                    <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#ab04ce0a9022535a8131c289cd200cc95">ONLY\_DIRECT</a>: If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> will search recursively if the <span className="em">principal</span> is a member of <span className="em">role</span> . If <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> then <span className="em">principal</span> must directly be a member of <span className="em">role</span> . Supported values:

                    <ul>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a5023ec4edded343c2ee7bc01ee18f760">TRUE</a> </li>
                      <li> <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a> </li>
                    </ul>

                    The default value is <a className="el" href="/content/api/cs/structkinetica_1_1HasRoleRequest_1_1Options#a4986310ca90b579cf8cfd821fa3ccfc3">FALSE</a>.
                  </li>
                </ul>

                The default value is an empty Dictionary.
              </td>
            </tr>

            <tr>
              <td className="paramname">cancellationToken</td>
              <td>Cancellation token to cancel the operation.</td>
            </tr>
          </table>
        </div>
      </div>

      <div className="dl section return">
        <div className="dt">Returns</div>
        <div className="dd">Task that returns the response object containing the result of the operation.</div>
      </div>

      <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs#L43892">43892</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/KineticaFunctions.cs">KineticaFunctions.cs</a>.</p>
    </div>
  </div>
</div>
