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

# Manage API Keys

> Create API keys for external systems, set their access, regenerate them, and delete them.

Under *Administration › API Keys* you manage access data for external
systems that access Docusnap365.

## The List

The table carries *Name*, *User*, *Access*, *Status*, and *Valid Until*.

<Note>
  *User* names the owner of the key, not the technical principal a request
  runs under. The *Owner* and *Administrator* roles see the keys of all users,
  not only their own.
</Note>

*Access* shows *Read* or *Read and Write*. A dash appears there if the key
owner's role has been revoked.

*Status* takes one of four values:

| Status | Meaning |
| - | - |
| *Valid* | no expiration date, or more than 30 days until one |
| *Expiring* | fewer than 30 days until expiry |
| *Expired* | expiration date reached |
| *Inactive* | owner deactivated, or their role revoked |

<Warning>
  A key with the status *Inactive* stops working even though nobody deleted it.
  For a permanent integration, do not rely on an account that is about to lose
  its role or be deactivated.
</Warning>

<Tip>
  *Expiring* is your 30-day lead time. A key that expires unnoticed brings the
  connected integration to a standstill. Extend it in time with *Regenerate API
  Key*.
</Tip>

## Creating and Editing

*Create API Key* requires a *Name* (letters without umlauts, digits, and
hyphens only, unique) and a *Valid Until* date (at most two years out). Under
*Access*, choose *Read* ("Read data via the REST API only") or *Read and Write*
("Read, create and edit data via the REST API"). A new key is preset to *Read*.

<Note>
  The check for a duplicate name runs in the browser first, against the rows
  already loaded, and can miss a name on a later page. The server is
  authoritative and reports "Name already exists." on saving.
</Note>

When editing, the dialog closes without a call if *Name*, *Access*, and
*Valid Until* are unchanged.

<Note>
  A successful save produces no separate confirmation — the dialog closing and
  the updated row are the feedback. Only an error appears, in the still-open
  dialog.
</Note>

<Note>
  If the subscription's *Storage* usage limit is exceeded, creating, editing,
  regenerating, and deleting are not available. The list remains readable.
</Note>

## The Key in Plain Text

<Warning>
  When creating and when regenerating, a dialog of its own shows the generated
  API key in plain text — a single time. The list itself never carries it.
  Copy it at that moment: anyone who closes the dialog without copying can
  only get a new one through *Regenerate API Key*, and the old one no longer
  applies — every system connected with it loses access.
</Warning>

## Regenerating an API Key

*Regenerate API Key* issues a new key and asks for the *Valid Until* date. For a
valid key, the current expiration date is preset; you can extend it at the same
time. An expired key requires a new expiration date and is thereby extended and
reissued.

<Warning>
  The current key becomes invalid as soon as the new one is issued. Store the new
  key in every connected system.
</Warning>

<Note>
  If only the issuing fails, a changed expiration date has already been saved.
  The row then shows the new expiry even though no new key was created.
</Note>

## Deleting

<Warning>
  *Delete* removes the key permanently; requests using it fail afterwards. A key
  deleted by mistake has to be created again and stored again on the other side.
</Warning>

To delete several keys, select the rows and use *Delete* in the selection bar.

<Note>
  If part of it fails, the rest still goes through; a line above the table
  then states how many of how many could not be processed, with their names.
  That line does not disappear by itself.
</Note>

## Related

Which role a user carries is described under [Users and
Roles](/docs/en/settings/users). What can be retrieved through the interface is
described in the [developer area](/docs/en/api/overview).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.