---
title: "oz0 tenant oidc rotate"
description: "Usage and flags for oz0 tenant oidc rotate."
canonical_url: "https://docs.oz0.ai/reference/cli/oz0/tenant/oidc/rotate"
---
# oz0 tenant oidc rotate

> Usage and flags for oz0 tenant oidc rotate.

For: Operators and developers looking up a command.

The issuer's key set always holds the previous, the current and the next key, so the next key was published before it signs and tokens signed a moment ago still verify. A rotation is refused within two hours of the last one, so that verifiers that cache the key set for up to an hour never meet a key they have not seen.

--emergency skips one key, so the current key, which may have leaked, leaves the key set at once; verifiers that cached it keep trusting it until their cache ends.

## Usage

```bash
oz0 tenant oidc rotate <tenant> [flags]
```

## Flags

<table>
<thead>
  <tr>
    <th>
      Flag
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Default
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        --emergency
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      skip a key, so the current one leaves the key set at once (allowed at any time)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --json
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      print JSON
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --reason
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      
    </td>
    
    <td>
      why, required (at most 500 characters; default $OZ0_REASON); the audit log keeps it
    </td>
  </tr>
</tbody>
</table>

## Inherited flags

<table>
<thead>
  <tr>
    <th>
      Flag
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Default
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        --context
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        $OZ0_CONTEXT or &lt;config dir>/orchestrator-zero/context.json
      </code>
    </td>
    
    <td>
      CLI context file written by server init
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --log-level
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        info
      </code>
    </td>
    
    <td>
      log level: debug, info, warn or error
    </td>
  </tr>
</tbody>
</table>

See [all `oz0` commands](https://docs.oz0.ai/reference/cli/oz0) and the [global flags](https://docs.oz0.ai/reference/cli/oz0#global-flags).


## Sitemap

See the full [sitemap](https://docs.oz0.ai/sitemap.md) for all pages.
