{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/openapi/opa/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#overview\" aria-label=\"overview permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"overview\"></div>Overview</h1>\n<p>Okta Privileged Access is a Privileged Access Management (PAM) solution designed to help customers mitigate the risk of unauthorized access to resources, a critical area of security and risk management in any organization. Okta Privileged Access (OPA) builds on the current server access control capabilities provided by Okta Advanced Server Access and delivers a unified approach to managing access to all your privileged accounts. OPA securely connects people, machines, and applications to privileged resources such as servers, containers, and enterprise apps.</p>\n<p>This site documents API operations for Okta Privileged Access. For more documentation, see <a href=\"https://help.okta.com/okta_help.htm?type=oie&#x26;id=ext-pam-overview\">Okta Privileged Access</a>.</p>\n<h2 style=\"position:relative;\"><a href=\"#authentication\" aria-label=\"authentication permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"authentication\"></div>Authentication</h2>\n<p>Most operations require an HTTP <code class=\"language-text\">Authorization</code> header with a value of <code class=\"language-text\">Bearer AUTH_TOKEN</code>.</p>\n<p>To retrieve a Bearer authentication token for API access:</p>\n<ol>\n<li>\nNavigate to the OPA dashboard to create a service user and an service user API key. Follow the steps in the \n<a href=\"https://help.okta.com/okta_help.htm?type=oie&#x26;id=ext-pam-service-users\">Service users</a>\n product documentation under \n<strong>Create a service user and an API key</strong>\n. Then, copy and securely save the service user's API key ID and token.\n</li>\n<li>\nUse your saved service user API key ID and token to request a Bearer authentication token from the \n<a href=\"/oktadev/okta-1035720-ai-agent-beta/openapi/opa/opa/tag/service-users/#tag/service-users/operation/IssueServiceToken\">Issue a service user token</a>\n API resource. In the request body, specify your API key ID in \n<code class=\"language-text\">key_id</code>\n and your API token in \n<code class=\"language-text\">key_secret</code>\n.\n</li>\n</ol>\n<p>The response from a successful <a href=\"/oktadev/okta-1035720-ai-agent-beta/openapi/opa/opa/tag/service-users/#tag/service-users/operation/IssueServiceToken\">Issue a service user token</a> request provides you with a Bearer auth token (<code class=\"language-text\">bearer_token</code>) for OPA API authentication and the time the token expires (<code class=\"language-text\">expires_at</code>). It also returns the tenant that's applicable to your Bearer auth token (<code class=\"language-text\">team_name</code>).</p>\n<p>If you get a <code class=\"language-text\">401 Unauthorized</code> response code from an OPA API request, it's most likely that your Bearer auth token expired. Use the <a href=\"/oktadev/okta-1035720-ai-agent-beta/openapi/opa/opa/tag/service-users/#tag/service-users/operation/IssueServiceToken\">Issue a service user token</a> request again to obtain a new Bearer auth token. Also be mindful of your service user's API key expiry time.</p>\n<h2 style=\"position:relative;\"><a href=\"#permissions\" aria-label=\"permissions permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"permissions\"></div>Permissions</h2>\n<p>Generally, Group memberships define which permissions are available to a User. Each Group assigned to a User grants specific permissions to roles or Projects. For example, you might create a <code class=\"language-text\">Security</code> Group that grants the <code class=\"language-text\">resource_admin</code> role to members of the group.</p>\n<p>User permissions are equivalent to the most permissive role that they’re granted.</p>\n<h2 style=\"position:relative;\"><a href=\"#available-roles\" aria-label=\"available roles permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"available-roles\"></div>Available roles</h2>\n<table>\n<thead>\n<tr>\n<th>Role</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">pam_admin</code></td>\n<td>This role allows a user to assign other administrative roles to OPA Groups and Users</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">resource_admin</code></td>\n<td>This role allows a user to administer Project resources. They can create, update, or delete Resource Groups. This role can also assign Delegated Resource Administrators to one or more specific Resource Groups.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">delegated_resource_admin</code></td>\n<td>This role allows a user to manage all Projects within their assigned Resource Groups</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">security_admin</code></td>\n<td>This role allows a user to create Security Policies that control access to resources. A Security Policy defines which resources are available for access, who can access them, and the available methods to access them.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">delegated_security_admin</code></td>\n<td>This role allows a user to create Security Policies that control access to resources within their assigned Resource Groups</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">end_user</code></td>\n<td>This role allows a user to view and access resources granted by security policies. This role is automatically assigned to every human user on your OPA Team.</td>\n</tr>\n</tbody>\n</table>\n<h2 style=\"position:relative;\"><a href=\"#pagination\" aria-label=\"pagination permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"pagination\"></div>Pagination</h2>\n<p>Requests that return lists of objects may support pagination. By default, pagination limits the number of returned objects in a given response to 100.</p>\n<p>OPA provides information about pagination in <code class=\"language-text\">Link</code> headers:</p>\n<ul>\n<li>\nA Link header that contains \n<code class=\"language-text\">rel=\"next\"</code>\n indicates that a subsequent page is available and contains the URL used to fetch it.\n</li>\n<li>\nA Link header that contains \n<code class=\"language-text\">rel=\"prev\"</code>\n indicates that a previous page is available and contains the URL used to fetch it.\n</li>\n</ul>\n<p>To fetch a full list of resources, Clients should use the following approach when retrieving lists:</p>\n<ol>\n<li>\nPerform the desired list call without providing any pagination-related parameters.\n</li>\n<li>\nProcess the response body by referencing objects in the body field called \n<code class=\"language-text\">list</code>\n.\n</li>\n<li>\nCheck for a Link header value with \n<code class=\"language-text\">rel=\"next\"</code>\n. If such a value exists, fetch it and repeat steps two and three.\n</li>\n</ol>\n<p>An example of a paginated request that contains the URL from the <code class=\"language-text\">rel=\"next\"</code> Link header:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"92710079854698730000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`curl -v -X GET \\\\\n-H &quot;Authorization: Bearer {jwt}&quot; \\\\\nhttps://{org}.pam.okta.com/v1/teams/{team_name}/groups?offset={next_page_offset}`, `92710079854698730000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-92710079854698730000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> -v -X GET <span class=\"token punctuation\">\\</span>\n-H <span class=\"token string\">\"Authorization: Bearer {jwt}\"</span> <span class=\"token punctuation\">\\</span>\nhttps://<span class=\"token punctuation\">{</span>org<span class=\"token punctuation\">}</span>.pam.okta.com/v1/teams/<span class=\"token punctuation\">{</span>team_name<span class=\"token punctuation\">}</span>/groups?offset<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>next_page_offset<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<p>Clients that want to fetch pages of fewer than 100 items (for testing pagination, for example) may pass a <code class=\"language-text\">count</code> parameter to the initial list call. This parameter is automatically propagated to each of the pagination Link URLs that are contained in the response; you only need to provide this parameter with the initial call.</p>\n<p>List responses that don't currently implement pagination limits may begin to do so without warning in the future. As a result, Okta recommends you implement pagination when calling any list method. This ensures that the method continues to work if pagination is later implemented.</p>\n<p>An example of a paginated response body that contains a <code class=\"language-text\">list</code> field:</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"65820756845358020000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n  &quot;list&quot;: [\n    {\n      &quot;id&quot;: &quot;5dfc51da-3991-4330-88bf-ef710a7d53e5&quot;,\n      &quot;name&quot;: &quot;everyone&quot;,\n      &quot;roles&quot;: [\n        &quot;end_user&quot;,\n      ],\n      &quot;deleted_at&quot;: null\n    },\n    {\n      &quot;id&quot;: &quot;ad2ff761-83da-4769-b86c-85042eefc1d7&quot;,\n      &quot;name&quot;: &quot;owners&quot;,\n      &quot;roles&quot;: [\n        &quot;pam_admin&quot;\n      ],\n      &quot;deleted_at&quot;: null\n    }\n  ]\n}`, `65820756845358020000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-65820756845358020000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"list\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"5dfc51da-3991-4330-88bf-ef710a7d53e5\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"everyone\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"roles\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"end_user\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"deleted_at\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ad2ff761-83da-4769-b86c-85042eefc1d7\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"owners\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"roles\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"pam_admin\"</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"deleted_at\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#rate-limits\" aria-label=\"rate limits permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"rate-limits\"></div>Rate limits</h2>\n<p>Rate limits control access to OPA APIs by measuring the rate at which users send requests during a rate limit period. After exceeding this limit, users must wait for requests to replenish before submitting again. Every API response includes headers related to rate limiting:</p>\n<table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">X-RateLimit-Limit</code></td>\n<td>A value that indicates the total number of operations permitted per rate limit period</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">X-RateLimit-Remaining</code></td>\n<td>A value that indicates the total number of remaining operations permitted during the current rate limit period</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">X-RateLimit-Reset</code></td>\n<td>A unix timestamp that indicates when the number of rate limit requests fully replenishes</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">X-RateLimit-Retry-At</code></td>\n<td>A unix timestamp that indicates when the number of rate limit requests partially replenishes. If multiple requests share a timestamp, sending them at the same time may cause additional rate limiting</td>\n</tr>\n</tbody>\n</table>\n<p>Requests that exceed a rate limit receive an <code class=\"language-text\">HTTP 429 - Too Many Requests</code> error response. To request a rate limit increase, <a href=\"https://support.okta.com/help/s/opencase\">contact support</a>.</p>\n<h2 style=\"position:relative;\"><a href=\"#errors\" aria-label=\"errors permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"errors\"></div>Errors</h2>\n<p>Okta Privileged Access returns the following HTTP errors:</p>\n<table>\n<thead>\n<tr>\n<th>Error</th>\n<th>Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">invalid_request</code></td>\n<td><code class=\"language-text\">400</code></td>\n<td>This error is returned on an improper or invalid request body. The request should be modified before being reattempted.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">authentication_error</code></td>\n<td><code class=\"language-text\">401</code></td>\n<td>A correct API token wasn't provided. A new token should be retrieved before reattempting.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">authorization_error</code></td>\n<td><code class=\"language-text\">401</code></td>\n<td>The current User doesn't have permission to access the resource requested. Occasionally, this is the result of expired permissions and requires reauthentication.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">server_authorization_revoked</code></td>\n<td><code class=\"language-text\">401</code></td>\n<td>A previously deleted Server attempted to reconnect with its old token. Re-enroll the Server to remedy this error.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">forbidden_error</code></td>\n<td><code class=\"language-text\">403</code></td>\n<td>A User requests a resource that they don't have access to.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">quota_exceeded</code></td>\n<td><code class=\"language-text\">403</code></td>\n<td>A Team exceeded the allotted resource type. Contact support to increase your quota.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">disabled_team</code></td>\n<td><code class=\"language-text\">403</code></td>\n<td>The OPA Team that is being accessed is disabled. Contact support to resolve this issue.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">resource_does_not_exist</code></td>\n<td><code class=\"language-text\">404</code></td>\n<td>A resource doesn't exist. Most likely the path parameters of the URL are incorrectly spelled or the specific resource was deleted.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">resource_deprecated</code></td>\n<td><code class=\"language-text\">404</code></td>\n<td>An attempt was made to access a deprecated resource.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">resource_already_exists</code></td>\n<td><code class=\"language-text\">409</code></td>\n<td>An attempt was made to create a resource that exists. Change key elements of the request (for example, the name) before reattempting.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">unsupported_content_type</code></td>\n<td><code class=\"language-text\">415</code></td>\n<td>The request body isn't formatted as a JSON object. Check your request body and <code class=\"language-text\">Content-Type</code> header before reattempting.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">too_many_requests</code></td>\n<td><code class=\"language-text\">429</code></td>\n<td>Too many API requests were received. Either wait and try again or contact support to solve this issue.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">client_closed_connection</code></td>\n<td><code class=\"language-text\">499</code></td>\n<td>The client terminated the connection before the server received the data. Try again or provide a smaller request.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">unknown_error</code></td>\n<td><code class=\"language-text\">500</code></td>\n<td>This error is for miscellaneous API errors. This error is temporary and can be retried.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">service_offline</code></td>\n<td><code class=\"language-text\">503</code></td>\n<td>The service is temporarily offline. Try again later.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">gateway_timeout</code></td>\n<td><code class=\"language-text\">504</code></td>\n<td>The Gateway responded within the timeout period. Try again later.</td>\n</tr>\n</tbody>\n</table>","headings":[{"value":"Overview","depth":1},{"value":"Authentication","depth":2},{"value":"Permissions","depth":2},{"value":"Available roles","depth":2},{"value":"Pagination","depth":2},{"value":"Rate limits","depth":2},{"value":"Errors","depth":2}]},"contentItem":{"data":{"lastModified":"2025-06-02T16:46:37.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":true,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"6958226e-1eff-56e0-8700-42e43793710c__redocly content/openapi/opa/","seo":{"title":"Overview","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"openapi/opa/index.md","pageBaseUrl":"/openapi/opa/index","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Overview","id":"overview"},{"depth":2,"value":"Authentication","id":"authentication"},{"depth":2,"value":"Permissions","id":"permissions"},{"depth":2,"value":"Available roles","id":"available-roles"},{"depth":2,"value":"Pagination","id":"pagination"},{"depth":2,"value":"Rate limits","id":"rate-limits"},{"depth":2,"value":"Errors","id":"errors"}]},"data":{"title":"Overview"},"catalogInfo":null,"link":"/openapi/opa/","sidebarName":"reference","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}