> ## 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.

# has_permission

<div className="kinetica-pydoc">
  <div className="dl py method">
    <div className="dt sig sig-object py" id="gpudb.GPUdb.has_permission"> <span className="sig-name descname"><span className="pre">has\_permission</span></span><span className="sig-paren">(</span><span className="em sig-param"><span className="n"><span className="pre">principal</span></span><span className="o"><span className="pre">=</span></span><span className="default_value"><span className="pre">''</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">object</span></span><span className="o"><span className="pre">=</span></span><span className="default_value"><span className="pre">None</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">object\_type</span></span><span className="o"><span className="pre">=</span></span><span className="default_value"><span className="pre">None</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">permission</span></span><span className="o"><span className="pre">=</span></span><span className="default_value"><span className="pre">None</span></span></span>, <span className="em sig-param"><span className="n"><span className="pre">options</span></span><span className="o"><span className="pre">=</span></span><span className="default_value"><span className="pre">{"{"}{"}"}</span></span></span><span className="sig-paren">)</span><a href="https://github.com/kineticadb/kinetica-api-python/blob/master/gpudb/gpudb.py#L32694"><span className="viewcode-link"><span className="pre">\[source]</span></span></a></div>

    <div className="dd">
      <p>Checks if the specified user has the specified permission on the specified object.</p>
      <p><strong>Parameters</strong></p>

      <div className="blockquote">
        <div>
          <div className="dl">
            <div className="dt">principal (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Name of the user for which the permission is being checked. Must be an existing user. If blank, will use the current user. The default value is ‘’.</p>
            </div>

            <div className="dt">object (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.</p>
            </div>

            <div className="dt">object\_type (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>The type of object being checked. Allowed values are:</p>

              <ul className="simple">
                <li>
                  <p><strong>catalog</strong> – External Catalog</p>
                </li>

                <li>
                  <p><strong>context</strong> – Context</p>
                </li>

                <li>
                  <p><strong>credential</strong> – Credential</p>
                </li>

                <li>
                  <p><strong>datasink</strong> – Data Sink</p>
                </li>

                <li>
                  <p><strong>datasource</strong> – Data Source</p>
                </li>

                <li>
                  <p><strong>directory</strong> – KiFS File Directory</p>
                </li>

                <li>
                  <p><strong>graph</strong> – A Graph object</p>
                </li>

                <li>
                  <p><strong>proc</strong> – UDF Procedure</p>
                </li>

                <li>
                  <p><strong>schema</strong> – Schema</p>
                </li>

                <li>
                  <p><strong>sql\_proc</strong> – SQL Procedure</p>
                </li>

                <li>
                  <p><strong>system</strong> – System-level access</p>
                </li>

                <li>
                  <p><strong>table</strong> – Database Table</p>
                </li>

                <li>
                  <p><strong>table\_monitor</strong> – Table monitor</p>
                </li>
              </ul>
            </div>

            <div className="dt">permission (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Permission to check for. Allowed values are:</p>

              <ul className="simple">
                <li>
                  <p><strong>admin</strong> – Full read/write and administrative access on the object.</p>
                </li>

                <li>
                  <p><strong>connect</strong> – Connect access on the given data source or data sink.</p>
                </li>

                <li>
                  <p><strong>create</strong> – Ability to create new objects of this type.</p>
                </li>

                <li>
                  <p><strong>delete</strong> – Delete rows from tables.</p>
                </li>

                <li>
                  <p><strong>execute</strong> – Ability to Execute the Procedure object.</p>
                </li>

                <li>
                  <p><strong>insert</strong> – Insert access to tables.</p>
                </li>

                <li>
                  <p><strong>monitor</strong> – Monitor logs and statistics.</p>
                </li>

                <li>
                  <p><strong>read</strong> – Ability to read, list and use the object.</p>
                </li>

                <li>
                  <p><strong>send\_alert</strong> – Ability to send system alerts.</p>
                </li>

                <li>
                  <p><strong>update</strong> – Update access to the table.</p>
                </li>

                <li>
                  <p><strong>user\_admin</strong> – Access to administer users and roles that do not have system\_admin permission.</p>
                </li>

                <li>
                  <p><strong>write</strong> – Access to write, change and delete objects.</p>
                </li>
              </ul>
            </div>

            <div className="dt">options (<span className="em">dict of str to str</span>) –</div>

            <div className="dd">
              <p>Optional parameters. Allowed keys are:</p>

              <ul>
                <li>
                  <p><strong>no\_error\_if\_not\_exists</strong> – If <span className="em">false</span> will return an error if the provided input parameter <span className="em">object</span> does not exist or is blank. If <span className="em">true</span> then it will return <span className="em">false</span> for output parameter <span className="em">has\_permission</span>. Allowed values are:</p>

                  <ul className="simple">
                    <li>
                      <p>true</p>
                    </li>

                    <li>
                      <p>false</p>
                    </li>
                  </ul>

                  <p>The default value is ‘false’.</p>
                </li>
              </ul>

              <p>The default value is an empty dict ( {"{"}{"}"} ).</p>
            </div>
          </div>
        </div>
      </div>

      <p><strong>Returns</strong></p>

      <div className="blockquote">
        <div>
          <p>A dict with the following entries–</p>

          <div className="dl simple">
            <div className="dt">principal (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Value of input parameter <span className="em">principal</span>.</p>
            </div>

            <div className="dt">object (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Fully-qualified value of input parameter <span className="em">object</span>.</p>
            </div>

            <div className="dt">object\_type (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Value of input parameter <span className="em">object\_type</span>.</p>
            </div>

            <div className="dt">permission (<span className="em">str</span>) –</div>

            <div className="dd">
              <p>Value of input parameter <span className="em">permission</span>.</p>
            </div>

            <div className="dt">has\_permission (<span className="em">bool</span>) –</div>

            <div className="dd">
              <p>Indicates whether the specified user has the specified permission on the specified target. Allowed values are:</p>

              <ul className="simple">
                <li>
                  <p><strong>True</strong> – User has the effective queried permission.</p>
                </li>

                <li>
                  <p><strong>False</strong> – User does not have the queried permission.</p>
                </li>
              </ul>
            </div>

            <div className="dt">filters (<span className="em">dict of str to str</span>) –</div>

            <div className="dd">
              <p>Map of column/filters that have been granted.</p>
            </div>

            <div className="dt">info (<span className="em">dict of str to str</span>) –</div>

            <div className="dd">
              <p>Additional information.</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
