MCP-Tool
API-Schlüssel erneuern
sosoapi_renew_api_keyErstelle einen Nachfolger für einen API-Schlüssel (id) mit einmalig zurückgegebenem neuem Geheimnis und denselben Funktionen und Workspace-Grenzen; optional mit neuem Namen oder Laufzeit (höchstens 365 Tage, 30 für agentenerstellte Schlüssel). Der ursprüngliche Schlüssel wird nicht widerrufen. Erfordert „API-Schlüssel verwalten“.
Als Markdown lesenProfile und Transporte
Profile: full · Transporte: stdio, http
Wähle core oder full für die sichtbaren Tools deines Clients; dies ändert keine Berechtigungen. Lokaler Dateiupload benötigt stdio und ist über HTTP nicht verfügbar. Setze SOSOAPI_OUTPUT_SCHEMAS=1 für Ausgabeschemas in der Erkennung. Tools liefern unabhängig davon strukturierte Ergebnisse.
Berechtigungen und Nebeneffekte
Annotationen helfen Clients, Tools zu beschreiben. Jeder Aufruf prüft weiterhin Authentifizierung, Rolle, Ressourcenzugriff und erteilte Funktionen des Nutzers.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /identity-api/api-keys/renew: agent:manage_api_keys · synchronous_http_response
Eingabefelder
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
id | stringIm Elternobjekt erforderlich |
|
name | stringOptional / Element |
|
lifetime_days | integerOptional / Element | Tage bis Ablauf des Nachfolgers (1-365, Standard 365; höchstens 30 für delegiert-agentenerstellte Schlüssel). Der Nachfolger behält Funktionen und Workspace-Grenze des Vorgängers.
|
idempotency_key | stringOptional / Element | Optional. Nutze denselben Schlüssel für sichere Wiederholung. Das neue Geheimnis wird einmal angezeigt: Eine Wiederholung mit bereits erstelltem Nachfolger liefert 409 IDEMPOTENT_REPLAY (details.existing_key benennt ihn). Widerrufe ihn und erneuere mit neuem idempotency_key erneut.
|
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"lifetime_days": {
"description": "Days until the successor expires (1-365, default 365; 30 at most for a key created by a delegated agent). The successor keeps the predecessor's capabilities and Workspace limit.",
"type": "integer",
"minimum": 1,
"maximum": 365
},
"idempotency_key": {
"description": "Optional. Reuse the same key to retry safely. The new secret is shown once: a retry that finds the successor already created answers 409 IDEMPOTENT_REPLAY (details.existing_key names it). Revoke it and renew again with a new idempotency_key.",
"type": "string",
"minLength": 8,
"maxLength": 160,
"pattern": "^[!-~]+$"
}
},
"required": [
"id"
],
"additionalProperties": false
}Strukturierte Ausgabe
Dieses Schema beschreibt structuredContent in einem erfolgreichen Tool-Ergebnis. Die MCP-Antwort enthält auch content und kann bei fehlgeschlagenem Aufruf isError setzen. Lies bei Veröffentlichungen das endgültige Beitragsergebnis, statt eine angenommene Anfrage oder Textantwort als Bestätigung zu werten. Die verknüpfte API-Operation erklärt Berechtigungen und Wiederholungsregeln.
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
apiKey | objectIm Elternobjekt erforderlich |
|
apiKey.id | stringIm Elternobjekt erforderlich |
|
apiKey.name | stringIm Elternobjekt erforderlich | — |
apiKey.last_4 | stringIm Elternobjekt erforderlich | — |
apiKey.scopes | arrayIm Elternobjekt erforderlich | — |
apiKey.scopes[] | stringOptional / Element | — |
apiKey.created_at | stringIm Elternobjekt erforderlich |
|
apiKey.expires_at | string | nullIm Elternobjekt erforderlich | — |
apiKey.expires_atanyOf 1 | stringIm Elternobjekt erforderlich |
|
apiKey.expires_atanyOf 2 | nullIm Elternobjekt erforderlich | — |
apiKey.last_used_at | string | nullIm Elternobjekt erforderlich | — |
apiKey.last_used_atanyOf 1 | stringIm Elternobjekt erforderlich |
|
apiKey.last_used_atanyOf 2 | nullIm Elternobjekt erforderlich | — |
apiKey.revoked_at | string | nullIm Elternobjekt erforderlich | — |
apiKey.revoked_atanyOf 1 | stringIm Elternobjekt erforderlich |
|
apiKey.revoked_atanyOf 2 | nullIm Elternobjekt erforderlich | — |
apiKey.status | stringIm Elternobjekt erforderlich |
|
apiKey.replaces | object | nullIm Elternobjekt erforderlich | — |
apiKey.replacesanyOf 1 | objectIm Elternobjekt erforderlich |
|
apiKey.replaces.idanyOf 1 | stringIm Elternobjekt erforderlich |
|
apiKey.replaces.nameanyOf 1 | stringIm Elternobjekt erforderlich | — |
apiKey.replaces.last_4anyOf 1 | stringIm Elternobjekt erforderlich | — |
apiKey.replaces.statusanyOf 1 | stringIm Elternobjekt erforderlich |
|
apiKey.replacesanyOf 2 | nullIm Elternobjekt erforderlich | — |
apiKey.replaced_by | arrayIm Elternobjekt erforderlich | — |
apiKey.replaced_by[] | objectOptional / Element |
|
apiKey.replaced_by[].id | stringIm Elternobjekt erforderlich |
|
apiKey.replaced_by[].name | stringIm Elternobjekt erforderlich | — |
apiKey.replaced_by[].last_4 | stringIm Elternobjekt erforderlich | — |
apiKey.replaced_by[].status | stringIm Elternobjekt erforderlich |
|
apiKey.capabilities | arrayOptional / Element | — |
apiKey.capabilities[] | stringOptional / Element |
|
apiKey.workspace_ids | array | nullOptional / Element | — |
apiKey.workspace_idsanyOf 1 | arrayOptional / Element | — |
apiKey.workspace_ids[]anyOf 1 | stringOptional / Element |
|
apiKey.workspace_idsanyOf 2 | nullOptional / Element | — |
apiKey.created_by_delegated_grant_id | string | nullOptional / Element | — |
apiKey.created_by_delegated_grant_idanyOf 1 | stringOptional / Element |
|
apiKey.created_by_delegated_grant_idanyOf 2 | nullOptional / Element | — |
secret | stringIm Elternobjekt erforderlich |
|
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"apiKey": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"expires_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"revoked_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
},
"replaces": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"replaced_by": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"agent:operate",
"agent:publish",
"agent:engage"
]
}
},
"workspace_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
{
"type": "null"
}
]
},
"created_by_delegated_grant_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"last_4",
"scopes",
"created_at",
"expires_at",
"last_used_at",
"revoked_at",
"status",
"replaces",
"replaced_by"
],
"additionalProperties": false
},
"secret": {
"type": "string",
"minLength": 1
}
},
"required": [
"apiKey",
"secret"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Beispiel eines Tool-Aufrufs
Diese Beispiele nutzen anhand der Schemas geprüfte fiktive Werte. Ersetze IDs durch autorisierte IDs, Medien durch bereite Assets und Daten durch bestätigte Veröffentlichungszeiten. Prüfe Kontoeignung vor Schreibvorgängen. Diese Seite sendet keine API-Anfragen.
{
"name": "sosoapi_renew_api_key",
"arguments": {
"id": "11111111-1111-4111-8111-111111111111"
}
}structuredContent
{
"apiKey": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"last_4": "example",
"scopes": [],
"created_at": "2099-01-15T09:00:00Z",
"expires_at": null,
"last_used_at": null,
"revoked_at": null,
"status": "active",
"replaces": null,
"replaced_by": []
},
"secret": "example"
}