Rename or rescope an API key
Rename an org key, change what it may do, or both. The secret is untouched.
Open only to someone who holds what the key holds: an owner-grade key is not editable by a member, not downwards and not even to rename it. Revoking it stays open to them, which is the move that matters when a key is suspected.
Within that, step-up is asked only when the edit gives the key MORE than it had - a scope it did not carry, or a later expiry. Both are re-granting authority and are a mint in all but name. Narrowing and renaming pass without a factor. The ceiling for a widening is what the person editing holds today, never what the original minter held.
bearerAuthAuthentifizierungBearer <token>API token generated from the fastmon dashboard (Account → API Token) or at organization level (fmo_…, one that outlives its creator). Send as Authorization: Bearer fm_... or paste the full token (including its prefix) into the Authorize dialog.
org_id*Org Iduuidkey_id*Key Iduuidapplication/json- body
Rename an org key, change what it may do, or both. Every field is optional and what is left out stays as it is. There is no reach to edit: an org key names one organization by construction.
current_password?|The account's password, when it has neither a passkey nor 2FA.
totp_code?|Code from the authenticator app, when 2FA is on and there is no passkey.
passkey_challenge_id?|Challenge from POST /auth/session/webauthn/options, required together with passkey_assertion whenever the account has a passkey.
passkey_assertion?|The WebAuthn assertion answering that challenge.
name?|New label, or omitted to keep the current one.
scopes?array<string>|The key's new permissions, replacing the old set. Omitted keeps them. Adding one takes step-up and is capped at what the caller holds today.
expires_at?|Omitted leaves the expiry alone, null means it never expires. Moving it further out takes step-up.
Successful Response
application/json- response
A key as it is displayed. The secret is never returned - only enough metadata to recognise a key and revoke it.
id*IdIdentifier of the key.
uuidkind*ApiKeyKindWhether the key belongs to a person or to an organization.
"personal""org"name?NameLabel the key is recognised by.
prefix*PrefixNon-secret lookup prefix: the scheme (fm_ for a personal key, fmo_ for an organization's) plus the first characters of the secret.
last4?Last4Last four characters of the secret, to tell two keys apart.
scopes?array<string>Permissions this key carries.
[]expires_at?Expires AtWhen the key stops working; absent means never.
date-timelast_used_at?Last Used AtAbsent until the key is first used.
date-timereach*Which organizations the key may act in: the ones it was issued for, or, for a key issued to an agency, its clients as they stand right now.
created_at*Created AtWhen the key was minted.
date-timerevoked_at?Revoked AtAbsent while the key is live. Only listings that ask for revoked keys ever see a value here.
date-timeeditable?EditableWhether the caller may change this key: its scopes, its expiry, its name, and rotating it. False for a key that holds permissions the caller does not. Revoking is never gated by it.
truevia_partner_org_id?Via Partner Org IdThe partner organization whose member minted this org key. The key keeps working after that partnership ends. Absent otherwise.
uuidcurl -X PATCH 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "personal", "name": "string", "prefix": "string", "last4": "string", "scopes": [], "expires_at": "2019-08-24T14:15:22Z", "last_used_at": "2019-08-24T14:15:22Z", "reach": { "scope": "string", "partner_org_id": "6d083317-c55a-4f41-82ae-8c86d8187f47", "organization_ids": [], "organization_count": 0 }, "created_at": "2019-08-24T14:15:22Z", "revoked_at": "2019-08-24T14:15:22Z", "editable": true, "via_partner_org_id": "4449850c-ca66-4d3c-b6e6-920e855223d4"}