MCP-verktøy
Forny API-nøkkel
sosoapi_renew_api_keyOpprett en etterfølger til en API-nøkkel (id) med en ny hemmelighet som returneres én gang, og de samme funksjonene og arbeidsområdebegrensningen, eventuelt med nytt navn eller ny levetid (høyst 365 dager, 30 for en nøkkel opprettet av en agent). Den opprinnelige nøkkelen tilbakekalles ikke. Krever tillatelsen Administrer API-nøkler.
Les som MarkdownProfiler og transporter
Profiler: full · Transporter: stdio, http
Velg core eller full for å kontrollere hvilke verktøy klienten ser; dette endrer ikke tillatelsene. Lokal filopplasting krever stdio og er utilgjengelig over HTTP. Angi SOSOAPI_OUTPUT_SCHEMAS=1 for å inkludere utdataskjemaer i oppdagelsen. Verktøy returnerer strukturerte resultater med eller uten den innstillingen.
Tillatelser og sideeffekter
Merknader hjelper klienter med å beskrive et verktøy. Hvert kall kontrollerer fortsatt brukerens autentisering, rolle, ressurstilgang og funksjonstillatelser.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /identity-api/api-keys/renew: agent:manage_api_keys · synchronous_http_response
Inndatafelter
Påkrevd betyr påkrevd i foreldreobjektet og valgt gren. Et påkrevd underfelt gjør ikke en valgfri forelder påkrevd. Reglene og feltnavnene nedenfor er kopiert fra kontrakten.
| Felt / gren | Type / påkrevd | Begrensninger |
|---|---|---|
$ | objectPåkrevd i forelder |
|
id | stringPåkrevd i forelder |
|
name | stringValgfritt / element |
|
lifetime_days | integerValgfritt / element | Dager til etterfølgeren utløper (1-365, standard 365; høyst 30 for en nøkkel opprettet av en delegert agent). Etterfølgeren beholder forgjengerens funksjoner og arbeidsområdebegrensning.
|
idempotency_key | stringValgfritt / element | Valgfritt. Gjenbruk samme nøkkel for å prøve igjen trygt. Den nye hemmeligheten vises én gang: et nytt forsøk som finner etterfølgeren allerede opprettet, svarer 409 IDEMPOTENT_REPLAY (details.existing_key navngir den). Tilbakekall den og forny igjen med en ny idempotency_key.
|
Fullstendig 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
}Strukturert utdata
Dette skjemaet beskriver structuredContent i et vellykket verktøyresultat. MCP-svaret inkluderer også content og kan sette isError når et kall mislykkes. Ved publisering, les innleggets endelige resultat i stedet for å regne en akseptert forespørsel eller et tekstsvar som bekreftelse. Den lenkede API-operasjonen forklarer tillatelser og regler for nye forsøk.
Påkrevd betyr påkrevd i foreldreobjektet og valgt gren. Et påkrevd underfelt gjør ikke en valgfri forelder påkrevd. Reglene og feltnavnene nedenfor er kopiert fra kontrakten.
| Felt / gren | Type / påkrevd | Begrensninger |
|---|---|---|
$ | objectPåkrevd i forelder |
|
apiKey | objectPåkrevd i forelder |
|
apiKey.id | stringPåkrevd i forelder |
|
apiKey.name | stringPåkrevd i forelder | — |
apiKey.last_4 | stringPåkrevd i forelder | — |
apiKey.scopes | arrayPåkrevd i forelder | — |
apiKey.scopes[] | stringValgfritt / element | — |
apiKey.created_at | stringPåkrevd i forelder |
|
apiKey.expires_at | string | nullPåkrevd i forelder | — |
apiKey.expires_atanyOf 1 | stringPåkrevd i forelder |
|
apiKey.expires_atanyOf 2 | nullPåkrevd i forelder | — |
apiKey.last_used_at | string | nullPåkrevd i forelder | — |
apiKey.last_used_atanyOf 1 | stringPåkrevd i forelder |
|
apiKey.last_used_atanyOf 2 | nullPåkrevd i forelder | — |
apiKey.revoked_at | string | nullPåkrevd i forelder | — |
apiKey.revoked_atanyOf 1 | stringPåkrevd i forelder |
|
apiKey.revoked_atanyOf 2 | nullPåkrevd i forelder | — |
apiKey.status | stringPåkrevd i forelder |
|
apiKey.replaces | object | nullPåkrevd i forelder | — |
apiKey.replacesanyOf 1 | objectPåkrevd i forelder |
|
apiKey.replaces.idanyOf 1 | stringPåkrevd i forelder |
|
apiKey.replaces.nameanyOf 1 | stringPåkrevd i forelder | — |
apiKey.replaces.last_4anyOf 1 | stringPåkrevd i forelder | — |
apiKey.replaces.statusanyOf 1 | stringPåkrevd i forelder |
|
apiKey.replacesanyOf 2 | nullPåkrevd i forelder | — |
apiKey.replaced_by | arrayPåkrevd i forelder | — |
apiKey.replaced_by[] | objectValgfritt / element |
|
apiKey.replaced_by[].id | stringPåkrevd i forelder |
|
apiKey.replaced_by[].name | stringPåkrevd i forelder | — |
apiKey.replaced_by[].last_4 | stringPåkrevd i forelder | — |
apiKey.replaced_by[].status | stringPåkrevd i forelder |
|
apiKey.capabilities | arrayValgfritt / element | — |
apiKey.capabilities[] | stringValgfritt / element |
|
apiKey.workspace_ids | array | nullValgfritt / element | — |
apiKey.workspace_idsanyOf 1 | arrayValgfritt / element | — |
apiKey.workspace_ids[]anyOf 1 | stringValgfritt / element |
|
apiKey.workspace_idsanyOf 2 | nullValgfritt / element | — |
apiKey.created_by_delegated_grant_id | string | nullValgfritt / element | — |
apiKey.created_by_delegated_grant_idanyOf 1 | stringValgfritt / element |
|
apiKey.created_by_delegated_grant_idanyOf 2 | nullValgfritt / element | — |
secret | stringPåkrevd i forelder |
|
Fullstendig 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
}Eksempel på verktøykall
Disse eksemplene bruker fiktive verdier kontrollert mot skjemaene. Erstatt ID-ene med noen du har lov til å bruke, mediene med klare ressurser og datoene med bekreftet publiseringstidspunkt. Kontroller kontoens kvalifikasjon før en skriveoperasjon sendes inn. Siden sender ingen API-forespørsler.
{
"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"
}