MCP-verktøy
Forleng API-nøkkel
sosoapi_extend_api_keyAngi et senere utløp (expires_at) for en API-nøkkel identifisert med id: høyst 365 dager fra nå, eller 30 for en nøkkel opprettet av en agent. En agent kan bare forlenge nøkler som dens egen tillatelse opprettet. 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": true,
"openWorldHint": false
}- /identity-api/api-keys/extend: 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 |
|
expires_at | stringPåkrevd i forelder | Ønsket nytt absolutt utløp. Maksimal levetid er 365 dager fra nå, eller 30 dager for en nøkkel opprettet av en delegert agent. En innlogget person som forlenger sin egen nøkkel, får den maksimale levetiden når de ber om et senere tidspunkt (opptil 3,650 dager fra nå); i alle andre tilfeller avvises et senere tidspunkt med API_KEY_LIFETIME_EXCEEDS_CAP. Svaret inneholder det faktiske utløpet som ble brukt.
|
Fullstendig JSON Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expires_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)))$",
"description": "Requested new absolute expiry. The longest lifetime is 365 days from now, or 30 days for a key created by a delegated agent. A signed-in person extending their own key is granted that longest lifetime when they ask for a later time (up to 3,650 days from now); in every other case a later time is refused with API_KEY_LIFETIME_EXCEEDS_CAP. The response carries the expiry actually applied."
}
},
"required": [
"id",
"expires_at"
],
"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 | — |
idempotent | booleanPå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
},
"idempotent": {
"type": "boolean"
}
},
"required": [
"apiKey",
"idempotent"
],
"$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_extend_api_key",
"arguments": {
"id": "11111111-1111-4111-8111-111111111111",
"expires_at": "2099-01-15T09:00:00Z"
}
}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": []
},
"idempotent": false
}